test su terminologia redox

esci chimicaturbo.htm

 

program ossida4;
(* terminologia reazioni redox con valutazione finale *)
uses crt;
const n=20;
var a,b,esatte,errate:integer;
ox,rd:string[5];
s:array[1..n] of string[200];
os:array[1..n] of string[5];
ri:array[1..n] of string[5];
no:array[1..n] of string[15];
nr:array[1..n] of string[15];

procedure cancella;
begin
clrscr;
end;

procedure dati;
begin
s[1]:='2H2 + O2 -----> 2 H2O ';os[1]:='O';ri[1]:='H';
no[1]:='0..-2';nr[1]:='0..+1';
s[2]:='H2 + Cl2 -----> 2 HCl ';os[2]:='Cl';ri[2]:='H';
no[2]:='0..-1';nr[2]:='0..+1';
s[3]:='3H2 + N2 -----> 2 NH3 ';os[3]:='N';ri[3]:='H';
no[3]:='0..-3';nr[3]:='0..+1';
s[4]:='H2 + S -----> H2S ';os[4]:='S';ri[4]:='H';
no[4]:='0..-2';nr[4]:='0..+1';
s[5]:='S + O2 -----> SO2 ';os[5]:='O';ri[5]:='S';
no[5]:='0..-2';nr[5]:='0..+4';
s[6]:='Zn + 2HCl -----> ZnCl2 + H2 ';os[6]:='H';ri[6]:='Zn';
no[6]:='+1..0';nr[6]:='0..+2';
s[7]:='Fe + CuSO4 -----> FeSO4 + Cu ';os[7]:='Cu';ri[7]:='Zn';
no[7]:='+2..0';nr[7]:='0..+2';
s[8]:='Cu + AgNO3 -----> CuNO3 + Ag ';os[8]:='Ag';ri[8]:='Cu';
no[8]:='+1..0';nr[8]:='0..+1';
s[9]:='4Al + 3O2 -----> 2Al2O3 ';os[9]:='O';ri[9]:='Al';
no[9]:='0..-2';nr[9]:='0..+3';
s[10]:='C + O2 -----> CO2 ';os[10]:='O';ri[10]:='C';
no[10]:='0..-2';nr[10]:='0..+4';
s[11]:='P + HNO3 + H2O ----> H3PO4 + NO ';os[11]:='N';ri[11]:='P';
no[11]:='+5..+2';nr[11]:='0..+5';
s[12]:='Cu + H2SO4 ---->CuSO4 + SO2 + H2O ';os[12]:='S';ri[12]:='Cu';
no[12]:='+6..+4';nr[12]:='0..+2';
s[13]:='Cu + HNO3 ---->Cu(NO3)2 + NO + H2O ';os[13]:='N';ri[13]:='Cu';
no[13]:='+5..+2';nr[13]:='0..+2';
s[14]:='Ag + HClO3 + HCl ---->AgCl + H2O ';os[14]:='Cl';ri[14]:='Ag';
no[14]:='+5..-1';nr[14]:='0..+1';
s[15]:='FeCl2 + SnCl4 ---->FeCl3 + SnCl2 ';os[15]:='Sn';ri[15]:='Fe';
no[15]:='+4..+2';nr[15]:='+2..+3';
s[16]:='NH3 + O2 ---->NO + H2O ';os[16]:='O';ri[16]:='N';
no[16]:='0..-2';nr[16]:='-3..+2';
s[17]:='KMnO4 + HCl ----> KCl + MnCl2 +Cl2 H2O ';os[17]:='Mn';ri[17]:='Cl';
no[17]:='+7..+2';nr[17]:='-1..0';
s[18]:='KBrO3 + HBr + FeBr2 ---->FeBr3 + KBr+H2O';os[18]:='Br';ri[18]:='Fe';
no[18]:='+5..-1';nr[18]:='+2..+3';
s[19]:='Cl2+NaOH ---->NaCl+NaClO+H2O ';os[19]:='Cl';ri[19]:='Cl';
no[19]:='0..-1';nr[19]:='0..+1';
s[20]:='NaNO2+H2SO4 ---->NaHSO4+HNO3+NO+H2O ';os[20]:='N';ri[20]:='N';
no[20]:='+3..+2';nr[20]:='+3..+5';

end;

procedure test;
begin
esatte:=0;errate:=0;
dati;
for a:=1 to b do
begin
writeln('reazione redox da esaminare ');
writeln('si deve assegnare il numero di ossidazione ad ogni elemento');
writeln('scrivendo su carta');
writeln('si deve quindi osservare elemento che si ossida ,riduce ');
writeln('si devono scrivere i simboli dello elemento ossidante,riducente');
writeln('---------------------------------------------------------------');
writeln(s[a]);writeln;
write('simbolo ossidante =');readln(ox);
write('simbolo riducente =');readln(rd);
if ox=os[a] then begin
writeln('esatto:ossidante=',ox);
esatte:=esatte+1;end
else begin writeln('errato:era ossidante=',os[a]);end;
if rd=ri[a] then begin
writeln('esatto:riducente=',rd);esatte:=esatte+1;end
else writeln('errato:era riducente=',ri[a]);
writeln;
writeln('--------------------------------------------------');
writeln('confronta i cambiamenti di numeri di ossidazione ');
writeln('elemento ossidante :',no[a]);
writeln('elemento riducente :',nr[a]);
writeln('--------------------------------------------------');
writeln('premi INVIO');readln;cancella;
end;
end;

begin
cancella;
repeat
write('indica numero di prove da eseguire <21 ');readln(b);
until b<21;
cancella;
test;
writeln('risultato prova');
errate:=2*b-esatte;
writeln('esatte=',esatte);
writeln('errate=',errate);
writeln('chiama insegnante per valutazione:spera in bene...');
writeln('poi premi INVIO');
readln;cancella;
end.