turbo pascal v.1.1 per mac
program ph1; (* problemi su calcolo pH *)
const pkw=14; var ph,poh,no,mo,ga,gb,vl,pm ,moli:real; va,s:integer;
procedure fine; begin writeln('premi enter'); readln; end;
procedure acidofn; begin writeln('scrivere concentrazione come 0.002 0.01 ecc.'); write('normalita acido =');readln(no); ph:=abs(-(ln(no)/ln(10))); writeln('pH..... ',ph:8:2); write('premi enter ');readln; end;
procedure basefn; begin writeln('scrivere concentrazione come 0.002 0.01 ecc.'); write('normalita base =');readln(no); poh:=-(ln(no)/ln(10)); ph:=abs(pkw-poh); writeln('pOH.... ',poh:8:2); writeln('pH=pKw-pOH ',ph:8:2); write('premi enter ');readln; end;
procedure acidofm; begin writeln('scrivere concentrazione come 0.002 0.01 ecc.'); write('molarita acido =');readln(mo); write('valenza acido =');readln(va); no:=va*mo; ph:=abs(-(ln(no)/ln(10))); writeln('normalita=molarita*valenza ',no:8:2); writeln('pH..... ',ph:8:2); write('premi enter ');readln; end;
procedure basefm; begin writeln('scrivere concentrazione come 0.002 0.01 ecc.'); write('molarita base =');readln(mo); write('valenza base =');readln(va); no:=va*mo; poh:=abs(-(ln(no)/ln(10))); ph:=pkw-poh; writeln('normalita=valenza*molarita ',no:8:2); writeln('pOH.... ',poh:8:2); writeln('pH=pKw-pOH ',ph:8:2); write('premi enter ');readln; end;
procedure grammiaf; begin write('grammi acido =');readln(ga); write('peso molecolare acido =');readln(pm); write('litri soluzione =');readln(vl); write('valenza acido =');readln(va); moli:=ga/pm; mo:=moli/vl; no:=mo*va; ph:=abs(-(ln(no)/ln(10))); writeln('moli acido ',moli:8:2); writeln('molarita=moli/litri ',mo:8:2); writeln('normalita=molarita*valenza ',no:8:2); writeln('pH..... ',ph:8:2); write('premi enter ');readln; end;
procedure grammibf; begin write('grammi base =');readln(gb); write('peso molecolare base =');readln(pm); write('litri soluzione =');readln(vl); write('valenza base =');readln(va); moli:=gb/pm; mo:=moli/vl; no:=mo*va; poh:=abs(-(ln(no)/ln(10))); ph:=pkw-poh; writeln('moli base ',moli:8:2); writeln('molarita=moli/litri ',mo:8:2); writeln('normalita=molarita*valenza ',no:8:2); writeln('pOH ',poh:8:2); writeln('pH=pKw-pOH .... ',ph:8:2); write('premi enter ');readln; end;
procedure scelta; var ancora:integer; begin clearscreen; writeln('seleziona tipo problema :CALCOLARE il pH di SOLUZIONI'); writeln('essendo noti alcuni parametri sotto indicati '); writeln('1...normalita acido forte'); writeln('2...normalita base forte '); writeln('3...molarita acido forte e valenza '); writeln('4...molarita base forte e valenza '); writeln('5...grammi soluto e litri soluzione acido forte '); writeln('6...grammi soluto e litri soluzione base forte '); writeln('7...fine '); write('opzione=');readln(s); clearscreen; case s of 1:acidofn; 2:basefn; 3:acidofm; 4:basefm; 5:grammiaf; 6:grammibf; 7:fine; end; writeln('----------------------------'); writeln('altro problema:scrivi 1...fine:scrivi 2 ');readln(ancora); if ancora =1 then scelta else fine; end;
begin clearscreen; writeln('formule per soluzione problemi su calcolo di pH '); writeln('formule fondamentali pH = -log(Normalita Acido) '); writeln('formule fondamentali pOH = -log(Normalita Base) '); writeln('formule fondamentali pH = pKw - pOH '); writeln('---------------------------------------------------'); writeln('si deve inserire su richiesta:'); writeln('NORMALITA,MOLARITA,VALENZA'); writeln('GRAMMI SOLUTO,LITRI SOLUZIONE'); writeln('PESO MOLECOLARE SOLUTO'); writeln('-----------------------------'); writeln('premi enter');readln; scelta; end.