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.