turbo pascal v.1.1 per mac

program elettro1;
(* problemi su elettrolisi *)
(* interattivo o con risposta automatica con ENTER *)
var 
    s,esatte,errate:integer;  
   
procedure fine;
begin
clearscreen;
writeln('risposte esatte   ',esatte:5);
writeln('risposte errate   ',errate:5);
writeln('chiama insegnante per segnalare risultato...poi ENTER ');
writeln('premi enter');
readln;
end;
procedure ignea(a,ri,ox,redoxy:string);
var rid,oxi,xri,xox,xred,redox:string;
begin
writeln('ellettrolisi ignea ');
writeln('sintassi da usare per inserire dati attenzione a SPAZIO');
writeln('es. Na+ + 1e...Na  ');
writeln('es. Cl- - 1e...Cl  ');
writeln('es. 2Na+ + 2Cl-...2Na + Cl2 ');
writeln('scrivere le semireazioni bilanciate ');
writeln('------------------------------------------');
writeln(a);
writeln('riduzione    o ENTER ');readln(rid);
writeln('ossidazione  o ENTER  ');readln(oxi);
writeln('redox         ');readln(redox);
if (rid=ri) and (oxi=ox) and (redox=redoxy) then 
begin writeln('esatto');esatte:=esatte+1;end
 else
begin writeln('errato:era   ');
writeln('riduzione    ',ri);
writeln('ossidazione  ',ox);
writeln('redox        ',redoxy); 
errate:=errate+1;end;
write('premi enter');readln;
end;
 
procedure acida(a,ri,ox,redoxy:string);
var rid,oxi,xri,xox,xred,redox:string;
begin
writeln('ellettrolisi soluzione acida');
writeln('sintassi da usare per inserire dati :attenzione SPAZIO');
writeln('es. Na+ + 1e...Na  ');
writeln('es. Cl- - 1e...Cl  ');
writeln('es. 2Na+ + 2Cl-...2Na + Cl2 ');
writeln('scrivere le semireazioni bilanciate ');
writeln('------------------------------------------');
writeln(a);
writeln('riduzione    o ENTER ');readln(rid);
writeln('ossidazione  o ENTER ');readln(oxi);
writeln('redox         ');readln(redox);
if (rid=ri) and (oxi=ox) and (redox=redoxy) then 
begin writeln('esatto');esatte:=esatte+1;end
 else
begin writeln('errato:era   ');
writeln('riduzione    ',ri);
writeln('ossidazione  ',ox);
writeln('redox        ',redoxy); 
errate:=errate+1;end;
write('premi enter');readln;
end;
procedure basica(a,ri,ox,redoxy:string);
var rid,oxi,xri,xox,xred,redox:string;
begin
writeln('ellettrolisi soluzione basica');
writeln('sintassi da usare per inserire dati:attenzione SPAZIO ');
writeln('es. Na+ + 1e...Na  ');
writeln('es. Cl- - 1e...Cl  ');
writeln('es. 2Na+ + 2Cl-...2Na + Cl2 ');
writeln('scrivere le semireazioni bilanciate ');
writeln('------------------------------------------');
writeln(a);
writeln('riduzione    o ENTER   ');readln(rid);
writeln('ossidazione  o ENTER   ');readln(oxi);
writeln('redox         ');readln(redox);
if (rid=ri) and (oxi=ox) and (redox=redoxy) then 
begin writeln('esatto');esatte:=esatte+1;end
 else
begin writeln('errato:era   ');
writeln('riduzione    ',ri);
writeln('ossidazione  ',ox);
writeln('redox        ',redoxy); 
errate:=errate+1;end;
write('premi enter');readln;
end;

procedure salina(a,ri,ox,redoxy:string);
var rid,oxi,xri,xox,xred,redox:string;
begin
writeln('ellettrolisi soluzione salina');
writeln('sintassi da usare per inserire dati ');
writeln('es. Na+ + 1e...Na  ');
writeln('es. Cl- - 1e...Cl  ');
writeln('es. 2Na+ +2Cl-...2Na + Cl2 ');
writeln('scrivere le semireazioni bilanciate ');
writeln('------------------------------------------');
writeln(a);
writeln('riduzione    o ENTER   ');readln(rid);
writeln('ossidazione  o ENTER   ');readln(oxi);
writeln('redox         ');readln(redox);
if (rid=ri) and (oxi=ox) and (redox=redoxy) then 
begin writeln('esatto');esatte:=esatte+1;end
 else
begin writeln('errato:era   ');
writeln('riduzione    ',ri);
writeln('ossidazione  ',ox);
writeln('redox        ',redoxy); 
errate:=errate+1;end;
write('premi enter');readln;
write('premi enter');readln;
end;
procedure reattivi;
begin
write('premi enter');readln;
end;
 
procedure scelta;
var ancora:integer;
begin
clearscreen;
writeln('seleziona tipo problema elettrolisi:');
writeln('1...ignea');
writeln('2...soluzione acida ');
writeln('3...soluzione basica ');
writeln('4...soluzione salina ');
writeln('5...ignea');
writeln('6...soluzione acida ');
writeln('7...soluzione basica ');
writeln('8...soluzione salina ');
writeln('9...soluzione acida  ');
writeln('10...fine ');
write('opzione=');readln(s);
clearscreen;
case s of
1:ignea('NaCl','2Na+ + 2e...2Na','2Cl- - 2e...Cl2','2Na+ + 2Cl-...2Na + Cl2');
2:acida('HCl+H2O','2H+ + 2e...H2','2Cl- - 2e...Cl2','2H+ + 2Cl-...H2 + Cl2');
3:basica('NaOH+H2O','2H2O + 2e...H2 + 2OH-','2OH- - 2e...0.502 + 2H+',
         '2H2O + 2OH-...H2 + 0.502 + 2H+');
4:salina('NaCl + H20','2H20 + 2e...H2 + 2OH-','2Cl- - 2e...Cl2',
         '2H2O + 2Cl-...H2 + Cl2 + 2OH-');
5:ignea('MgCl','Mg++ + 2e...Mg','2Cl- - 2e...Cl2','Mg++ + 2Cl-...Mg + Cl2');
6:acida('HBr+H2O','2H+ + 2e...H2','2Br- - 2e...Br2','2H+ + 2Br-...H2 + Br2');
7:basica('KOH + H2O','2H2O + 2e...H2 + 2OH-','2OH- - 2e...0.502 +  2H+',
         '2H2O + 2OH-...H2 + 0.502 + 2H+');
8:salina('KBr + H20','2H20 + 2e...H2 + 2OH-','2Br- -2e...Br2',
         '2H2O + 2Br-...H2 + Br2 + 2OH-');
9:acida('H2SO4 + H20','2H+ + 2e...H2','H2O - 2e...0.502 + 2H+',
        '2H+ + H20...H2 + 0.5O2 + 2H+');        
10:fine;
end;
writeln('----------------------------');
writeln('altro problema:scrivi 1...fine:scrivi 2 ');readln(ancora);
if ancora =1 then scelta else fine;
end;
begin
clearscreen;
esatte:=0;errate:=0;
writeln('-----------------------------');
writeln('NOTA:fare molta attenzione inserendo i dati richiesti ');
writeln('per quanto riguarda maiuscole,minuscole,spaziature ecc.');
writeln('premi enter');readln;
scelta;
end.