turbo pascal v.1.1 per mac

 

program pile;
(* problemi su pile SCHEMI PILE,TENSIONE,SEMIREAZIONI *)
var 
    s,esatte,errate:integer;  
    schema1,pila,y:string;
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 pila1(a,b,c,d,y:string);  (* schema pila *)
begin
writeln('schema pila   An/An+//Bn+/Bn   senza spazi ');
writeln('-------------------------------------------');
writeln('scrivi schema della pila con elementi indicati ');
writeln(a,b,c,d);
readln(pila);
schema1:=y;
if pila=y then 
BEGIN writeln('esatto ',schema1);esatte:=esatte+1;end
 else 
begin writeln('errato:era ');writeln(schema1);errate:=errate+1;end;
writeln('premi enter');readln;
end;
procedure pila2(a,b,c,d,y:string;p,n:real); (* schema pila e tensione *)
var pp,pn,polop,polon,de:real;
begin
writeln('schema pila   An/An+//Bn+/Bn   senza spazi ');
writeln('----------------------------------------------');
writeln('scrivi schema della pila con elementi indicati ');
writeln(a,b,c,d);
readln(pila);
write('potenziale polo positivo  +0.1   -0.1 ');readln(pp);
write('potenziale polo negativo  +0.1   -0.1 ');readln(pn);
polon:=n;polop:=p;
de:=p-n;
schema1:=y;
if pila=y then 
BEGIN writeln('esatto ',schema1);esatte:=esatte+1;end
 else 
begin writeln('errato:era ');writeln(schema1);errate:=errate+1;end;
if (polon=pn) and (polop=pp)  then 
BEGIN writeln('esatto DE=',de:3:4);esatte:=esatte+1;end
 else 
begin writeln('errato:era ');writeln(p:8:3,'...',n:8:3);
writeln('differenza potenziale =',de:8:3);
errate:=errate+1;end;
writeln('premi enter');readln;
end;
procedure pila3(a,b,c,d,y,ra,rc:string); (* schema pila e semireazioni *)
var sra,src,rac,raa:string;
begin
writeln('schema pila   An/An+//Bn+/Bn   senza spazi ');
writeln('come scrivere semireazioni ');
writeln('Mg-1e...Mg+      Mg-2e...Mg++   Mg++ +2e...Mg   Mg+1e...Mg+');
writeln('fare attenzione alle spaziature');
writeln('-------------------------------------------------------');
rac:=rc;raa:=ra;
writeln('scrivi schema della pila con elementi indicati ');
writeln(a,b,c,d);
readln(pila);
writeln('semireazione anodo  ');readln(sra);
writeln('semireazione catodo ');readln(src);
schema1:=y;
if pila=y then 
BEGIN writeln('esatto ',schema1);esatte:=esatte+1;end
 else 
begin writeln('errato:era ');writeln(schema1);errate:=errate+1;end;
if (sra=raa) and (src=rac) then 
BEGIN writeln('esatto ',raa,'...',rac );esatte:=esatte+1;end
 else 
begin writeln('errato:era ');writeln('anodo......',raa);
writeln('catodo.....',rac);errate:=errate+1;end;
writeln('premi enter');readln;
end;
procedure scelta;
var ancora:integer;
begin
clearscreen;
writeln('seleziona tipo problema :');
writeln('1...schema pila');
writeln('2...schema pila e potenziale ');
writeln('3...schema pila ');
writeln('4...schema pila e potenziale ');
writeln('5...schema pila ');
writeln('6...schema pila e potenziale ');
writeln('7...schema pila e reazioni');
writeln('8...schema pila e reazioni ');
writeln('9...schema pila ');
writeln('10...schema pila e potenziale ');
writeln('11...fine ');
write('opzione=');readln(s);
clearscreen;
case s of
1:pila1('Cu ','Cu++ ','Na ','Na+ ','Na/Na+//Cu++/Cu');
2:pila2('Cu ','Cu++ ','Zn ','Zn++ ','Zn/Zn++//Cu++/Cu',+0.34,-0.76);
3:pila1('Ag ','Ag+ ','Zn ','Zn++ ','Zn/Zn++//Ag+/Ag');
4:pila2('K ','K+ ','Au ','Au+++ ','K/K+//Au+++/Au',+1,-2.92);
5:pila1('Cu ','Cu++ ','Fe ','Fe++ ','Fe/Fe++//Cu++/Cu');
6:pila2('Fe ','Fe++ ','Sn ','Sn++ ','Fe/Fe++//Sn++/Sn',-0.14,-0.44);
7:pila3('Ag ','Ag+ ','Na ','Na+ ','Na/Na+//Ag+/Ag',
        'Na-1e...Na+','Ag+ +1e...Ag');
8:pila3('Ni ','Ni++ ','Cd ','Cd++ ','Cd/Cd++//Ni++/Ni',
        'Cd-2e...Cd++','Ni++ +2e...Ni');
9:pila1('Cu ','Cu++ ','Ni ','Ni++ ','Ni/Ni++//Cu++/Cu');
10:pila2('Cu ','Cu++ ','Cd ','Cd++ ','Cd/Cd++//Cu++/Cu',+0.34,-0.40);
11: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('scrivere schema pile richieste,con esatta polarita ');
writeln('es.  Zn/Zn++//Cu++/Cu      senza spazi ');
writeln('calcolare differenza potenziale pile indicate      ');
writeln('inserire potenziali standard richiesti es. -1.5   +0.34 '); 
writeln('scrivere reazioni di riduzione e ossidazione bilanciate ');
writeln('es. Na-1e...Na+          Ag+ +1e...Ag  ');
writeln('-----------------------------');
writeln('NOTA:fare molta attenzione inserendo i dati richiesti ');
writeln('per quanto riguarda maiuscole,minuscole,spaziature ecc.');
writeln('premi enter');readln;
scelta;
end.