esercizi di chimica con turbo pascal 1.1 su mac
Program reazione1; (* 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]:='ossido basico + acqua '; d[2]:='idrossido + acido'; d[3]:='ossido acido + ossido basico'; d[4]:='metallo + acido'; d[5]:='metallo + ossigeno'; d[6]:='non metallo + ossigeno'; d[7]:='ossido acido + acqua'; d[8]:='ossido basico + acido'; d[9]:='idrogeno + metallo'; d[10]:='non metallo + idrogeno'; d[11]:='idrossido + ossido acido'; d[12]:='sale1 + acido1'; d[13]:='sale1 + sale2';
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('NON usare la parola ANIDRIDE '); writeln('se non li conosci,premi INVIO '); 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,' rimanenti=',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.