test su nome sali

esci chimicaturbo.htm

Program forma4;
(* nomenclatura composti chimici SALI *)
uses crt;
const k=20;
var esatte,errate,totale,a,b,i,n,g:integer;
ris,rip,s1,s2:string;
dx:array[1..k] of string;
rs:array[1..k] of string;
mx:array[1..k] of string;
nx:array[1..k] of string;

procedure dati;
begin
mx[1]:='Li';mx[2]:='Na';mx[3]:='K';mx[4]:='Rb';mx[5]:='Cs';mx[6]:='Cu';
mx[7]:='Ca';mx[8]:='Ba';mx[9]:='Zn';mx[10]:='Cd';mx[11]:='Hg';mx[12]:='Fe';
mx[13]:='Cu';mx[14]:='Sn';mx[15]:='Pb';mx[16]:='Mg';
mx[17]:='Fe';mx[18]:='Al';
mx[19]:='Pb';mx[20]:='Sn';

nx[1]:='LITIO1';nx[2]:='SODIO1';nx[3]:='POTASSIO1';nx[4]:='RUBIDIO1';
nx[5]:='CESIO1';nx[6]:='RAME1';nx[7]:='CALCIO2';nx[8]:='BARIO2';
nx[9]:='ZINCO2';nx[10]:='CADMIO2';nx[11]:='MERCURIO2';nx[12]:='FERRO2';
nx[13]:='RAME2';nx[14]:='STAGNO2';nx[15]:='PIOMBO2';nx[16]:='MAGNESIO2';
nx[17]:='FERRO3';nx[18]:='ALLUMINIO3';nx[19]:='PIOMBO4';nx[20]:='STAGNO4';

dx[1]:='Cl';rs[1]:='CLORURO DI ';
dx[2]:='F';rs[2]:='FLUORURO DI ';
dx[3]:='I';rs[3]:='IODURO DI ';
dx[4]:='Br';rs[4]:='BROMURO DI ';

dx[5]:='(NO3)';rs[5]:='NITRATO DI ';
dx[6]:='(ClO)';rs[6]:='IPOCLORITO DI ';
dx[7]:='(ClO3)';rs[7]:='CLORATO DI ';
dx[8]:='(ClO7)';rs[8]:='PERCLORATO DI ';
dx[9]:='(ClO2)';rs[9]:='CLORITO DI ';
dx[10]:='(NO2)';rs[10]:='NITRITO DI ';
dx[11]:='(BrO)';rs[11]:='IPOBROMITO DI ';
dx[12]:='(IO3)';rs[12]:='IODATO DI ';
dx[13]:='(Br02)';rs[13]:='BROMITO DI ';
dx[14]:='(IO4)';rs[14]:='PERIODATO DI ';
dx[15]:='(BrO4)';rs[15]:='PERBROMATO DI ';

dx[16]:='(SO4)';rs[16]:='SOLFATO DI ';
dx[17]:='(SO3)';rs[17]:='SOLFITO DI ';
dx[18]:='(CO3)';rs[18]:='CARBONATO DI ';
dx[19]:='(S)';rs[19]:='SOLFURO DI ';

dx[20]:='(PO4)';rs[20]:='FOSFATO DI ';
end;

procedure pausa;
begin
writeln('premi enter');readln;
end;

procedure cancella;
begin
clrscr;
end;

procedure fine;
begin
writeln('fine operazione:confermare :premi enter');
readln;
end;

procedure verifica2(s1,s2:string);
begin
rip:=concat(rs[a],nx[a]);
if ris=rip then begin writeln(' esatto ');esatte:=esatte+1;end
else begin writeln(' errato:era ',rip);errate:=errate+1;end;
end;

procedure verifica2a(s1,s2:string;g:integer);
begin
rip:=concat(rs[g],nx[a]);
if ris=rip then begin writeln(' esatto ');esatte:=esatte+1;end
else begin writeln(' errato:era ',rip);errate:=errate+1;end;
end;

procedure verifica3(s1,s2:string;g:integer);
begin
rip:=concat(rs[a],nx[g]);
if ris=rip then begin writeln(' esatto ');esatte:=esatte+1;end
else begin writeln(' errato:era ',rip);errate:=errate+1;end;
end;


procedure sali1(i,n:integer); (* metalli monovalenti acidi monovalenti *)
begin
writeln('scrivi:es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[a],dx[a],' ');readln(ris);s2:=nx[a];
verifica2(ris,s2);
end;
end;

procedure sali2(i,n:integer); (* metalli bivalenti acidi monovalenti *)
begin
writeln('scrivi :es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[a],dx[a],2,' ');readln(ris);s2:=nx[a];
verifica2(ris,s2);
end;
end;

procedure sali3(i,n,g:integer); (* metalli monovalenti acidi bivalenti *)
begin
writeln('scrivi :es.CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[a],2,dx[g],' ');readln(ris);s2:=nx[a];
verifica2a(ris,s2,g);
end;end;


procedure sali4(i,n,g:integer); (* metalli bivalenti acidi bivalenti *)
begin
writeln('scrivi:es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[a],dx[g],' ');readln(ris);s2:=nx[a];
verifica2a(ris,s2,g);
end;
end;

procedure sali5(i,n,g:integer); (* metalli trivalenti acidi monovalenti *)
begin
writeln('scrivi:es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[g],dx[a],3,' ');readln(ris);s2:=nx[g];
verifica3(ris,s2,g);
end;
end;

procedure sali6(i,n,g:integer); (* metalli trivalenti acidi bivalenti *)
begin
writeln('scrivi:es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[g],2,dx[a],3,' ');readln(ris);s2:=nx[g];
verifica3(ris,s2,g);
end;
end;

procedure sali7(i,n,g:integer); (* metalli tetravalenti acidi monovalenti *)
begin
writeln('scrivi:es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[g],dx[a],4,' ');readln(ris);s2:=nx[g];
verifica3(ris,s2,g);
end;
end;

procedure sali8(i,n,g:integer); (* metalli tetravalenti acidi monovalenti *)
begin
writeln('scrivi :es. CLORURO DI SODIO1 oppure premi ENTER');
writeln;
dati;a:=0;
for b:=1 to n do
begin
a:=i+b;
write(mx[g],dx[a],2,' ');readln(ris);s2:=nx[g];
verifica3(ris,s2,g);
end;
end;

procedure pro1;
begin
writeln('scopo del programma e verificare la conoscenza della nomenclatura');
writeln('dei composti chimici:SALI BINARI E TERNARI ');
pausa;
end;

procedure pro2;
begin
(* da quale elemento iniziare e quanti elementi contare *)
sali1(0,6);pausa;cancella;
sali2(7,8);pausa;cancella;
end;


procedure pro3;
begin
sali3(0,6,16);pausa;cancella;sali3(0,6,17);pausa;cancella;
sali3(0,6,18);pausa;cancella;sali3(0,6,19);pausa;cancella;
end;

procedure pro4;
begin
sali4(7,9,16);pausa;cancella;sali4(7,9,17);pausa;cancella;
sali4(7,9,18);pausa;cancella;sali4(7,9,19);pausa;cancella;
end;

procedure pro5;
begin
sali5(0,15,17);pausa;cancella;sali5(0,15,18);pausa;cancella;
sali6(15,4,17);pausa; cancella;sali6(15,4,18);pausa;cancella;
end;

procedure pro6;
begin
sali7(0,15,19);pausa;cancella;sali7(0,15,20);pausa;cancella;
sali8(15,4,19);pausa;cancella;sali8(15,4,20);pausa;cancella;
end;

procedure pro7;
begin
sali8(15,4,19);pausa;cancella;sali8(15,4,20);pausa;cancella;
sali5(0,15,17);pausa;cancella;sali5(0,15,18);pausa;cancella;
sali7(0,15,19);pausa;cancella;sali7(0,15,20);pausa;cancella;
sali6(15,4,17);pausa; cancella;sali6(15,4,18);pausa;cancella;
sali4(7,9,18);pausa;cancella;sali4(7,9,19);pausa;cancella;
sali1(0,6);pausa;cancella;sali2(7,8);pausa;cancella;
sali3(0,6,18);pausa;cancella;sali3(0,6,19);pausa;cancella;
sali4(7,9,16);pausa;cancella;sali4(7,9,17);pausa;cancella;
end;

procedure scelta;
var s,sn:string;opzione:integer;
begin
cancella;;
writeln('seleziona opzione per NOMENCLATURA CHIMICA ');
writeln('selezionare le diverse opzioni per scrivere i nomi dei sali');
writeln('-----------------------------------------------------------');
writeln('nello scrivere i nomi dei sali fare molta attenzione ');
writeln('scrivere tutto maiuscolo,evitando spaziature inutili ');
writeln('e scrivere anche la valenza del metallo ');
writeln('CLORURO DI SODIO1');
writeln('SOLFATO DI FERRO3');
writeln('es.di nome scritto con i soli due spazi indicati');writeln;
writeln('1...istruzioni e spiegazione programma ');
writeln('2.... ...........scrivi il nome del sale');
writeln('3..... ..........scrivi il nome del sale');
writeln('4..... ..........scrivi il nome del sale');
writeln('5.... ...........scrivi il nome del sale');
writeln('6..... ..........scrivi il nome del sale');
writeln('7................riassuntivo precedenti:eseguilo per ultimo.. ');
writeln('9...fine ');
writeln('scelta =');readln(opzione);cancella;
case opzione of
1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7;
9:fine;
end;
writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn);
if ((sn='S') or (sn='s')) then scelta ;
end;

begin (* programma di lancio *)
cancella;
esatte:=0;errate:=0;totale:=0;
scelta;cancella;
writeln('risposte esatte ',esatte,' su domande ',totale);
writeln('risposte errate ',errate,' su domande ',totale);
writeln('chiama insegnante per valutazione ');
pausa;
end.