esercizi di chimica con turbo pascal 1.1 su mac
Program reazione3; (* test interattivo con conteggio risposte *) (* test su reazioni chimiche e tipi di prodotti ottenuti *)
const n=14; 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]:='CaO + H2O ----------->Ca(OH)2'; d[2]:='Mg(OH)2 + HCl ------>MgCl2 + H2O'; d[3]:='SO3 + Na2O --------->Na2SO4'; d[4]:='Zn + HNO3 ---------->Zn(NO3)2 + H2'; d[5]:='Fe + O2 ------------>Fe0'; d[6]:='Cl2 + O2 ----------->Cl205'; d[7]:='N2O3+ H2O ---------->HNO2'; d[8]:='FeO + HClO --------->Fe(ClO)2 + H2O'; d[9]:='H2 + Al ------------>AlH3'; d[10]:='F2+ H2 ------------>HF'; d[11]:='NaOH + N2O5 ------->NaNO3 + H2O'; d[12]:='NaCl + H2SO4 ------>Na2SO4 + HCl'; d[13]:='AgNO3 + KCl ------->KNO3 + AgCl'; d[14]:='CaCO3 ------------>CaO + CO2';
r[1]:='combinazione'; r[2]:='doppio scambio'; r[3]:='combinazione'; r[4]:='spostamento'; r[5]:='sintesi'; r[6]:='sintesi'; r[7]:='combinazione'; r[8]:='doppio scambio'; r[9]:='sintesi'; r[10]:='sintesi'; r[11]:='doppio scambio'; r[12]:='doppio scambio'; r[13]:='doppio scambio'; r[14]:='decomposizione';
end;
begin cancella; dati; writeln('scrivi la risposta,indicando tipo di reazione'); writeln('es.sintesi,decomposizione,spostamento,doppio scambio...'); writeln('combinazione...'); writeln('se non li conosci,premi INVIO '); writeln('esempio '); writeln('KOH + H2SO3 --------->K2SO3 + H2O....doppio scambio'); writeln('------------------------------------------------------'); esatte:=0;errate:=0;totale:=0;restanti:=0; for a:=1 to n do begin writeln('sintesi,decomposizione,spostamento,doppio scambio,combinazione'); 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('========================================================'); writeln('premi INVIO ');readln;cancella; 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.