esercizi di chimica con turbo pascal 1.1 su mac
Program reazione2; (* test interattivo con conteggio risposte *) (* test su reazioni chimiche e tipi di prodotti ottenuti *)
const n=13; VAR a,esatte,errate,totale,restanti:integer; s:string; d:array[1..n] of string; r:array[1..n] of string;
procedure cancella; begin clearscreen; end;
procedure dati; begin d[1]:='Ca + H2O '; d[2]:='Mg(OH)2 + HCl'; d[3]:='SO3 + Na2O'; d[4]:='Zn + HNO3'; d[5]:='Fe + O2'; d[6]:='Cl2 + O2'; d[7]:='N2O3+ H2O'; d[8]:='FeO + HClO'; d[9]:='H2 + Al'; d[10]:='F2+ H2'; d[11]:='NaOH + N2O5'; d[12]:='NaCl + H2SO4'; d[13]:='AgNO3 + KCl';
r[1]:='idrossido'; r[2]:='sale + acqua'; r[3]:='sale'; r[4]:='sale + idrogeno'; r[5]:='ossido basico'; r[6]:='ossido acido'; r[7]:='ossiacido'; r[8]:='sale + acqua'; r[9]:='idruro'; r[10]:='idracido'; r[11]:='sale + acqua'; r[12]:='sale2 + acido2'; r[13]:='sale3 + sale4';
end;
begin cancella; dati; writeln('scrivi la risposta,indicando i prodotti della reazione'); writeln('es.ossido basico,idrossido,sale + acqua,idruro...'); writeln('NON usare la parola ANIDRIDE '); writeln('se non li conosci,premi INVIO '); writeln('esempio '); writeln('KOH + H2SO3 --------->sale + acqua'); writeln('------------------------------------------------------'); esatte:=0;errate:=0;totale:=0;restanti:=0; for a:=1 to n do begin write(d[a]);write('---------->'); readln(s); if s=r[a] then begin writeln('esatto');esatte:=esatte+1;end else begin writeln('errato,era : '); write(d[a]);write('-------->');writeln(r[a]); errate:=errate+1;end; restanti:=n - (esatte+errate); writeln('--------------------------------------------------'); writeln('esatte=',esatte,' errate=',errate,' restanti=',restanti); writeln('===================================================='); end; totale:=esatte+errate; writeln('premi INVIO per finire ');readln;cancella; writeln('risposte esatte =',esatte, ' su totale domande=',totale); writeln('risposte errate =',errate, ' su totale domande=',totale); writeln('chiama insegnante per valutazione,poi premi INVIO'); readln;cancella; end.