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.