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.