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.