equilibrio dinamico
esci chimicaturbo.htm
program percento;
(* calcoli percentuali INTERATTIVO
*)
uses crt;
const n=10;
var f:array[1..n] of string[10];
esatte,errate,totale:integer;
ris:char;
r1,r2,r3,p1,p2,p3,k,a,c1,c2,c3,d,pf:integer;
s1,s2,s3:string[5];
procedure cancella;
begin
clrscr;
end;
procedure dati;
begin
f[1]:='H2SO4';f[2]:='HNO3';f[3]:='CaSO4';f[4]:='NaNO3';f[5]:='CaSO3';
f[6]:='H2O2' ;f[7]:='H2O' ;f[8]:='HClO3' ;f[9]:='HClO4'
;f[10]:='H3PO4' ;
END;
procedure esegue;
begin
cancella;
writeln('scrivi grammi di ogni elemento presente nella formula');
writeln('moltiplicando il peso atomico intero per indice
elemento');
writeln('I grammi vanno scritti come NUMERI INTERI ');
writeln('-------------------------------------------------------');
writeln(f[k]);
write('scrivi grammi primo elemento nella formula .');readln(p1);
write('scrivi grammi secondo elemento nella formula
');readln(p2);
write('scrivi grammi terzo elemento nella formula ');readln(p3);
pf:=p1+p2+p3;
c1:=round(p1*100/pf);
c2:=round(p2*100/pf);
c3:=round(p3*100/pf);
writeln;
writeln('esegui il calcolo delle percentuali su quaderno:poi ');
writeln('scrivi le percentuali come INTERI arrotondati allo
intero vicino ');
writeln('es.35.8 ---> 36 35.5 ---->36 35.4 ----> 35 ');
writeln('---------------------------------------------------------');
write('scrivi percentuale primo elemento =');readln(r1);
d:=abs(r1-c1);
if d>2 then begin writeln('errato:era
',c1);errate:=errate+1;end;
write('scrivi percentuale secondo elemento =');readln(r2);
d:=abs(r2-c2);
if d>2 then begin writeln('errato:era
',c2);errate:=errate+1;end;
write('scrivi percentuale terzo elemento =');readln(r3);
d:=abs(r3-c3);
if d>2 then begin writeln('errato:era
',c3);errate:=errate+1;end;
writeln;
writeln('------------------ soluzione ------------------------');
writeln('peso molecolare =',pf);
writeln('percento 1 elemento =',p1,'*',100,'/',pf,' = ',c1);
writeln('percento 2 elemento =',p2,'*',100,'/',pf,' = ',c2);
writeln('percento 3 elemento =',p3,'*',100,'/',pf,' = ',c3);
writeln('-----------------------------------------------------');
writeln('premi INVIO ');
readln;cancella;
esatte:=k*3-errate;
k:=k+1;
write('per altra prova premi S,per finire premi N :
');readln(ris);
if ((ris='S') or (ris='s')) then esegue;
end;
begin
cancella;
writeln('scopo del programma:eeguire calcoli percentuali degli
elementi');
writeln('presenti in formule composti proposte');
writeln('si accettano solo valori INTERI');
writeln('si accettano risultati come veri anche se differiscono
dal valore');
writeln('atteso di non pi di una unit,per motivi di
approssimazione ');
writeln('premi INVIO');readln;cancella;
k:=1;esatte:=0;errate:=0;totale:=0;
dati;
esegue;
cancella;
writeln('risultato prova ');
writeln('esatte =',esatte);
writeln('errate =',errate);
writeln('totale =',esatte+errate);
writeln('chiama insegnante,poi premi INVIO ');readln;cancella;
end.