esercizi di chimica con turbo pascal 1.1 su mac
program norma1; (* risoluzione problemi su concentrazioni *) (* per esempi da utilizzare *)
var massa,volume,pesomo,litri,mo,no,moli,pesoequi,equi,solvente,pmole:real; chili,fsoluto,fsolvente,moliso,totale,mola,nequi,grammi:real; c1,c2,v1,v2:real; s,valenza:integer;
procedure fine; begin writeln('premi enter'); readln; end;
procedure pausa; begin writeln('premi enter per proseguire');readln; end;
procedure pro1; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('massa in grammi ');readln(massa); write('volume soluzione in cc. ');readln(volume); write('peso molecolare ');readln(pesomo); write('valenza ');readln(valenza); litri:=volume/1000; moli:=massa/pesomo; mo:=moli/litri; no:=mo*valenza; writeln('Molarita = moli soluto/litri soluzione '); writeln('---------------------------------------------------------------'); writeln('moli soluto = massa soluto/peso molecolare ',moli:8:4); writeln('litri soluzione = cc.soluzione/1000 ',litri:8:6); writeln('Molarita = moli soluto/litri soluzione ',mo:8:4,'...',mo); writeln('Normalita = Molarita*Valenza ',no:8:4,'...',no); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro2; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('massa in grammi ');readln(massa); write('volume soluzione in cc. ');readln(volume); write('peso molecolare ');readln(pesomo); write('valenza ');readln(valenza); litri:=volume/1000; pesoequi:=pesomo/valenza; equi:=massa/pesoequi; no:=equi/litri; mo:=no/valenza; writeln('Normalita = equivalenti soluto/litri soluzione '); writeln('---------------------------------------------------------------'); writeln('equivalenti sol.= massa soluto/peso equivalente'); writeln('peso equivalente= peso molecolare/valenza ',pesoequi:8:4); writeln('equivalenti sol = massa soluto/peso equivalente ',equi:8:4); writeln('litri soluzione = cc.soluzione/1000 ',litri:8:4); writeln('Normalita = equivalenti/litri soluzione ',no:8:4,'...',no); writeln('Molarita = Normalita/Valenza ',mo:8:4,'...',mo); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro3; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('massa in grammi soluto ');readln(massa); write('massa in grammi solvente ');readln(solvente); write('peso molecolare soluto ');readln(pesomo); chili:=solvente/1000; moli:=massa/pesomo; mola:=moli/chili; writeln('molalita = moli soluto/Kg solvente '); writeln('---------------------------------------------------------------'); writeln('moli soluto = massa soluto/peso molecolare soluto ',moli:8:4); writeln('Kg solvente= grammi/1000 ',chili:8:4); writeln('molalita = moli soluto/Kg solvente ',mola:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro4; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('massa in grammi soluto ');readln(massa); write('massa in grammi solvente ');readln(solvente); write('peso molecolare soluto ');readln(pesomo); write('peso molecolare solvente ');readln(pmole); chili:=solvente/1000; moli:=massa/pesomo; moliso:=solvente/pmole; totale:=moli+moliso; fsoluto:=moli/totale; fsolvente:=moliso/totale; writeln('frazione molare soluto = moli soluto/moli totali '); writeln('frazione molare solvente = moli solvente/moli totali '); writeln('---------------------------------------------------------------'); writeln('moli soluto = massa soluto/peso molecolare soluto ',moli:8:4); writeln('moli solvente= massa solvente/peso molecolare ',moliso:8:4); writeln('moli totali = soluto + solvente ',totale:8:4); writeln('frazione molare soluto = moli soluto/totali ',fsoluto:8:4); writeln('frazione molare solvente = moli solvente/totali ',fsolvente:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro5; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione normale ');readln(no); write('volume soluzione in cc. ');readln(volume); write('peso molecolare soluto ');readln(pesomo); write('valenza soluto ');readln(valenza); litri:=volume/1000; pesoequi:=pesomo/valenza; nequi:=no*litri; massa:=nequi*pesoequi; writeln('grammi soluto = n.equivalenti*Pesoequivalente '); writeln('---------------------------------------------------------------'); writeln('pesoequivalente =pesomolecolare/valenza ',pesoequi:8:4); writeln('volume soluzione in litri = volume cc/1000 ',litri:8:4); writeln('n.equivalenti soluto = normalita*litri ',nequi:8:4); writeln('massa in grammi=n.equivalenti*pesoequivalente ',massa:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro6; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione molare ');readln(mo); write('volume soluzione in cc. ');readln(volume); write('peso molecolare soluto ');readln(pesomo); write('valenza soluto ');readln(valenza); litri:=volume/1000; moli:=mo*litri; massa:=moli*pesomo; no:=mo*valenza; writeln('grammi soluto = n.moli*Pesomolecolare '); writeln('---------------------------------------------------------------'); writeln('volume soluzione in litri = volume cc/1000 ',litri:8:4); writeln('n.moli soluto = molarita*litri ',moli:8:4); writeln('massa in grammi=n.moli*pesomolecolare ',massa:8:4); writeln('normalita = valenza*molarita ',no:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro7; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione molale ');readln(mola); write('grammi solvente ');readln(solvente); write('peso molecolare soluto ');readln(pesomo); chili:=solvente/1000; moli:=mola*chili; massa:=moli*pesomo; writeln('grammi soluto = n.moli*Pesomolecolare '); writeln('---------------------------------------------------------------'); writeln('massa solvente in chili = grammi/1000 ',chili:8:4); writeln('n.moli soluto = molarita*chili ',moli:8:4); writeln('massa in grammi=n.moli*pesomolecolare ',massa:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro8; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione molale ');readln(mola); write('grammi soluto ');readln(massa); write('peso molecolare soluto ');readln(pesomo); moli:=massa/pesomo; solvente:=moli*1000/mola; writeln('grammi solvente = molisoluto*1000/molalita '); writeln('---------------------------------------------------------------'); writeln('n.moli soluto = massa/pesomolecolare ',moli:8:4); writeln('solvente in grammi = molisoluto*1000/molalita ',solvente:8:4); writeln('----------------------------------------------------------------'); pausa; end;
procedure pro9; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione molare ');readln(mo); write('valenza soluto ');readln(valenza); no:=mo*valenza; writeln('normalita = molarita*valenza ',no:8:4); writeln('---------------------------------------------------------------'); pausa; end;
procedure pro10; begin writeln('scrivi i dati necessari per la soluzione con le unita indicate'); write('concentrazione normale ');readln(no); write('valenza soluto ');readln(valenza); mo:=no/valenza; writeln('molarita = normalita/valenza ',mo:8:4); writeln('---------------------------------------------------------------'); pausa; end;
procedure pro11; begin writeln('scrivi i dati necessari:o Molarita o Normalita entrambe '); write('concentrazione1 N1 o M1 ');readln(c1); write('concentrazione2 N2 o M2 ');readln(c2); write('volume iniziale V1 ');readln(v1); v2:=c1*v1/c2; writeln('volume finale = c1*v1/c2 ',v2:8:4); writeln('---------------------------------------------------------------'); pausa; end;
procedure pro12; begin writeln('scrivi i dati necessari:volumi in cc o litri entrambe '); write('concentrazione1 N1 o M1 ');readln(c1); write('volume iniziale V1 ');readln(v1); write('volume finale V2 ');readln(v2); c2:=c1*v1/v2; writeln('concentrazione finale = c1*v1/v2 ',c2:8:4); writeln('---------------------------------------------------------------'); pausa; end;
procedure scelta; var ancora:integer; begin clearscreen; writeln('seleziona tipo problema '); writeln('1...calcola MOLARITA soluzione'); writeln('2...calcola NORMALITA soluzione'); writeln('3...calcola MOLALITA soluzione'); writeln('4...calcola FRAZIONE MOLARE soluto e solvente'); writeln('5...calcola SOLUTO presente/necessario per soluzione Normale nota'); writeln('6...calcola SOLUTO presente/necessario per soluzione Molare nota'); writeln('7...calcola SOLUTO presente/necessario per soluzione Molale nota'); writeln('8...calcola SOLVENTE presente/necessario per soluzione Molale nota'); writeln('9...calcola NORMALITA con nota Molarita'); writeln('10..calcola MOLARITA con nota Normalita'); writeln('11..calcola VOLUME per diluire soluzioni con nota N,M '); writeln('12..calcola nuova N,M dopo diluizione soluzione con solvente '); writeln('15...fine '); write('opzione=');readln(s); clearscreen; case s of 1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7; 8:pro8;9:pro9;10:pro10;11:pro11;12:pro12; 15:fine; end; writeln('----------------------------'); writeln('altro problema:scrivi 1...fine:scrivi 2 ');readln(ancora); if ancora =1 then scelta else fine; end;
begin clearscreen; writeln('soluzione problemi su concentrazioni soluzioni'); writeln('---------------------------------------------------'); writeln('premi enter');readln; scelta; end.