turbo pascal v.1.1 su mac
program conce1; (* 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 writeln('concentrazione p:p = grammi soluto/grammi soluzione '); write('grammi soluto =');readln(soluto); write('grammi solvente =');readln(solvente); r:=soluto/(solvente+soluto); writeln('grammi soluzione =soluto+solvente ',(soluto+solvente):8:2); writeln('concentrazione in peso=',r:8:2); writeln('premi enter');readln; end;
procedure molarita; begin writeln('molarita =moli soluto/litri soluzione '); writeln('moli soluto =grammi soluto/peso molecolare'); writeln; write('peso molecolare soluto =');readln(pm); write('grammi soluto =');readln(soluto); write('litri soluzione =');readln(volume); moli:=soluto/pm; r:=moli/volume; writeln('moli soluto =grammi soluto/peso molecolare ',moli:8:2); writeln('molarita =',r:8:2); writeln('premi enter');readln; end;
procedure normalita; begin writeln('normalita =equivalenti soluto/litri soluzione'); writeln('equivalenti soluto =grammi soluto/peso equivalente'); writeln('peso equivalente =peso molecolare/valenza'); writeln; 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('equivalenti soluto =grammi soluto/peso equivalente ',nequi:8:2); writeln('peso equivalente =peso molecolare/valenza ',equi:8:2); writeln('normalita =',r:8:2); writeln('premi enter');readln; end;
procedure molalita; begin writeln('molalita =moli soluto/grammi solvente'); writeln('moli soluto =grammi soluto/peso molecolare '); writeln; write('grammi soluto =');readln(soluto); write('peso molecolare soluto =');readln(pm); write('grammi solvente =');readln(solvente); moli:=soluto/pm; r:=moli/(solvente/1000); writeln('moli soluto =grammi soluto/peso molecolare ',moli:8:2); writeln('molalita =',r:8:2); writeln('premi enter');readln; end;
procedure frazione; var molisoluto,molisolvente,fraziosoluto,fraziosolvente:real; begin writeln('frazione soluto =moli soluto/moli totali '); writeln('frazione solvente =moli solvente/moli totali'); writeln('moli soluto =grammi soluto/peso molecolare'); writeln('moli solvente =grammi solvente/peso molecolare'); writeln; 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 soluto =moli soluto/moli totali ',fraziosoluto:8:2); writeln('frazione solvente =moli solvente/moli totali ',fraziosolvente:8:2); writeln('moli soluto =grammi soluto/peso molecolare ',molisoluto:8:2); writeln('moli solvente =grammi solvente/peso molecolare ',molisolvente:8:2); writeln('frazione molare soluto =',fraziosoluto:8:3); writeln('frazione molare solvente =',fraziosolvente:8:3); writeln('premi enter');readln; end;
procedure cercano; begin writeln('normalita =valenza*molarita '); 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 writeln('molarita =normalita/valenza '); 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 writeln('n.equivalenti soluto =normalita*litri soluzione '); writeln('grammi soluto =numero equivalenti*peso equivalente'); writeln('peso equivalente =peso molecolare/valenza '); writeln; 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('peso equivalente =peso molecolare/valenza ',equi:8:2); writeln('equivalenti soluto =',nequi:8:3); writeln('grammi soluto =',peso:8:3); writeln('premi enter');readln; end;
procedure cercasomo; begin writeln('n.moli soluto =molarita*litri soluzione '); writeln('grammi soluto =moli soluto*peso molecolare '); writeln; 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.