turbo pascal v.1.1 per mac

 

 

program GAS;
(* problemi su LEGGE GENERALE DEI GAS *)
const r=0.082;
var s:integer;
    vc,vm,vl,v,tc,tk,t,pa,ph,p,m,g,n:real;
       
procedure fine;
begin
writeln('premi enter');
readln;
end;
procedure pressione;
begin
write('scrivi volume in ccubi,oppure 0      ');readln(vc);
write('scrivi volume in mcubi,oppure 0      ');readln(vm);
write('scrivi volume in litri,oppure 0      ');readln(vl);
if vc>0 then v:=vc/1000 else if vm>0 then v:=vm*1000 else v:=vl;
write('scrivi massa in grammi               ');readln(g);
write('scrivi peso molecolare               ');readln(m);
write('scrivi temperatura in centigradi o 0 ');readln(tc);
write('scrivi temperatura in kelvin o 0     ');readln(tk);
writeln;
if tk>0 then t:=tk else t:=273+tc;
n:=g/m;
p:=n*r*t/v;
ph:=p*760;
writeln('----------------------------------------------------------');
writeln('pressione=nRT/V....gRT/MV           ',p:8:2,' atmosfere');
writeln('pressione=atmosfere*760             ',ph:8:2,' mmHg');
writeln('numero moli=grammi/peso molecolare..',n:8:2);
writeln('----------------------------------------------------------');
writeln('premi enter ');
readln;
end;
procedure volume;
begin
write('scrivi pressione in atmosfere,oppure 0      ');readln(pa);
write('scrivi pressione in mmHg,oppure 0           ');readln(ph);
if pa>0 then p:=pa  else p:=ph/760;
write('scrivi massa in grammi               ');readln(g);
write('scrivi peso molecolare               ');readln(m);
write('scrivi temperatura in centigradi o 0 ');readln(tc);
write('scrivi temperatura in kelvin o 0     ');readln(tk);
writeln;
if tk>0 then t:=tk else t:=273+tc;
n:=g/m;
v:=n*r*t/p;
vc:=v*1000;
vm:=v/1000;
writeln('----------------------------------------------------------');
writeln('volume=nRT/P....gRT/MP           ',v:8:2,' litri');
writeln('volume=litri*1000                ',vc:8:2,' ccubi');
writeln('volume=litri/1000                ',vm:8:2,' mcubi');
writeln('numero moli=grammi/peso molecolare..',n:8:2);
writeln('----------------------------------------------------------');
writeln('premi enter ');
readln;
end;
procedure temperatura;
begin
write('scrivi volume in ccubi,oppure 0      ');readln(vc);
write('scrivi volume in mcubi,oppure 0      ');readln(vm);
write('scrivi volume in litri,oppure 0      ');readln(vl);
if vc>0 then v:=vc/1000 else if vm>0 then v:=vm*1000 else v:=vl;
write('scrivi pressione in atmosfere,oppure 0      ');readln(pa);
write('scrivi pressione in mmHg,oppure 0           ');readln(ph);
if pa>0 then p:=pa  else p:=ph/760;
write('scrivi massa in grammi               ');readln(g);
write('scrivi peso molecolare               ');readln(m);
WRITELN;
n:=g/m;
t:=p*v/(n*r);
tc:=t-273;
writeln('----------------------------------------------------------');
writeln('temperatura=PV/nR....PVM/gR         ',t:8:2,' kelvin');
writeln('temperatura=kelvin-273              ',tc:8:2,' centigradi');
writeln('numero moli=grammi/peso molecolare..',n:8:2);
writeln('----------------------------------------------------------');
writeln('premi enter ');
readln;
end;
procedure massa;
begin
write('scrivi volume in ccubi,oppure 0      ');readln(vc);
write('scrivi volume in mcubi,oppure 0      ');readln(vm);
write('scrivi volume in litri,oppure 0      ');readln(vl);
if vc>0 then v:=vc/1000 else if vm>0 then v:=vm*1000 else v:=vl;
write('scrivi pressione in atmosfere,oppure 0      ');readln(pa);
write('scrivi pressione in mmHg,oppure 0           ');readln(ph);
if pa>0 then p:=pa  else p:=ph/760;
write('scrivi peso molecolare               ');readln(m);
write('scrivi temperatura in centigradi o 0 ');readln(tc);
write('scrivi temperatura in kelvin o 0     ');readln(tk);
writeln;
if tk>0 then t:=tk else t:=273+tc;
WRITELN;
g:=p*v*m/(r*t);
writeln('----------------------------------------------------------');
writeln('massa=PVM/RT....                   ',g:8:2,' grammi');
writeln('----------------------------------------------------------');
writeln('premi enter ');
readln;
end;

procedure pesomolecolare;
begin
write('scrivi volume in ccubi,oppure 0      ');readln(vc);
write('scrivi volume in mcubi,oppure 0      ');readln(vm);
write('scrivi volume in litri,oppure 0      ');readln(vl);
if vc>0 then v:=vc/1000 else if vm>0 then v:=vm*1000 else v:=vl;
write('scrivi pressione in atmosfere,oppure 0      ');readln(pa);
write('scrivi pressione in mmHg,oppure 0           ');readln(ph);
if pa>0 then p:=pa  else p:=ph/760;
write('scrivi massa in grammi               ');readln(g);
write('scrivi temperatura in centigradi o 0 ');readln(tc);
write('scrivi temperatura in kelvin o 0     ');readln(tk);
writeln;
if tk>0 then t:=tk else t:=273+tc;
WRITELN;
m:=g*r*t/(p*v);
writeln('----------------------------------------------------------');
writeln('peso molecolare=gRT/PV....         ',m:8:2,' grammi/mole');
writeln('----------------------------------------------------------');
writeln('premi enter ');
readln;
end;
procedure scelta;
var ancora,s:integer;
begin
clearscreen;
writeln('seleziona tipo problema ');
writeln('1...cerca PRESSIONE  ');
writeln('2...cerca VOLUME ');
writeln('3...cerca TEMPERATURA ');
writeln('4...cerca MASSA ');
writeln('5...cerca PESO MOLECOLARE ');
writeln('6..fine ');
write('opzione=');readln(s);
clearscreen;
case s of
1:pressione;
2:volume;
3:temperatura;
4:massa;
5:pesomolecolare;
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 LEGGE GENERALE dei GAS ');
writeln('si deve inserire su richiesta:');
writeln('pressione in atmosfere o mmHg');
writeln('volume in litri o cc o metri cubi');
writeln('temperatura in centigradi o kelvin ');
writeln('massa in grammi ,peso molecolare'); 
writeln('------------------------------------------------------------');
writeln('NOTA:nella richiesta di valore per  pressione,volume,temperatura');
writeln('scrivere zero 0 ,se unita misura non corrisponde al valore ');
writeln('scrivere invece il numero in corrispondenza della esatta unita ');
writeln('============================================================ ');
writeln('premi enter');readln;
scelta;
end.