turbo pascal v.1.1 per mac
program concentra; (* problemi su concentrazioni e quantita di soluto *)
var peso,molare,normale,molale,frazio,no,mo,soluzione:real; soluto,solvente,r,moli,volume,pm,pa,equi,nequi,pms:real; va:integer;
procedure fine; begin writeln('premi enter'); readln; end;
procedure parti; begin write('grammi soluto =');readln(soluto); write('grammi solvente =');readln(solvente); r:=soluto/(solvente+soluto); writeln('concentrazione in peso=',r:8:2); writeln('premi enter');readln; end;
procedure molarita; begin write('peso molecolare soluto =');readln(pm); write('grammi soluto =');readln(soluto); write('litri soluzione =');readln(volume); moli:=soluto/pm; r:=moli/volume; writeln('molarita =',r:8:2); writeln('premi enter');readln; end;
procedure normalita; begin write('peso molecolare =');readln(pm); write('valenza =');readln(va); write('grammi soluto =');readln(soluto); write('litri soluzione =');readln(volume); equi:=pm/va; nequi:=soluto/equi; r:=nequi/volume; writeln('normalita =',r:8:2); writeln('premi enter');readln; end;
procedure molalita; begin write('grammi soluto =');readln(soluto); write('peso molecolare soluto =');readln(pm); write('grammi solvente =');readln(solvente); moli:=soluto/pm; r:=moli/(solvente/1000); writeln('molalita =',r:8:2); writeln('premi enter');readln; end;
procedure frazione; var molisoluto,molisolvente,fraziosoluto,fraziosolvente:real; begin write('peso molecolare soluto =');readln(pm); write('grammi soluto =');readln(soluto); write('peso molecolare solvente =');readln(pms); write('grammi solvente =');readln(solvente); molisoluto:=soluto/pm; molisolvente:=solvente/pms; fraziosoluto:=molisoluto/(molisoluto+molisolvente); fraziosolvente:=molisolvente/(molisoluto+molisolvente); writeln('frazione molare soluto =',fraziosoluto:8:3); writeln('frazione molare solvente =',fraziosolvente:8:3); writeln('premi enter');readln; end;
procedure cercano; begin write('molarita =');readln(mo); write('valenza soluto =');readln(va); r:=mo*va; writeln('normalita =',r:8:3); writeln('premi enter');readln; end;
procedure cercamo; begin write('valenza soluto =');readln(va); write('normalita =');readln(no); r:=no/va; writeln('molarita =',r:8:3); writeln('premi enter');readln; end;
procedure cercasono; begin write('peso molecolare soluto =');readln(pm); write('normalita =');readln(no); write('litri soluzione =');readln(soluzione); write('valenza soluto =');readln(va); equi:=pm/va; nequi:=no*soluzione; peso:=equi*nequi; writeln('equivalenti soluto =',nequi:8:3); writeln('grammi soluto =',peso:8:3); writeln('premi enter');readln; end;
procedure cercasomo; begin write('peso molecolare soluto =');readln(pm); write('molarita =');readln(mo); write('litri soluzione =');readln(soluzione); moli:=mo*soluzione; peso:=moli*pm; writeln('moli soluto =',moli:8:3); writeln('grammi soluto =',peso:8:3); writeln('premi enter');readln; end; procedure scelta; var ancora,s:integer; begin clearscreen; writeln('seleziona tipo problema '); writeln('1...cerca % in peso '); writeln('2...cerca molarita '); writeln('3...cerca normalita '); writeln('4...cerca molalita '); writeln('5...cerca frazione molare '); writeln('6...cerca normalita nota molarita'); writeln('7...cerca molarita nota normalita'); writeln('8...cerca quantita soluto noto volume soluzione e normalita'); writeln('9...cerca quantita soluto noto volume soluzione e molarita'); writeln('10..fine '); write('opzione=');readln(s); clearscreen; case s of 1:parti; 2:molarita; 3:normalita; 4:molalita; 5:frazione; 6:cercano; 7:cercamo; 8:cercasono; 9:cercasomo; 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 CONCENTRAZIONI '); writeln('o quantita di soluto presente in volume soluzioni '); writeln('si deve inserire su richiesta:'); writeln('massa in grammi di soluto e solvente'); writeln('pesi molecolari ,valenze '); writeln('volume soluzione o altri dati come indicato '); writeln('VOLUME in LITRI....MASSA in GRAMMI o Kg come indicato'); writeln('-----------------------------'); writeln('premi enter'); scelta; end.