program lega8;
(* determinazione tipo geometria molecolare VALUTAZIONE *)....ritorna

uses crt;
const k=15;
var
    a,prove,esatte,errate,np:integer;
    tp:string;
    s:array[1..k] of string;
    g:array[1..k] of string;
    h:array[1..k] of string;


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

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

procedure cancella;
begin
clrscr;
end;

procedure dati;
begin
s[1]:=('H2O......O');g[1]:='5';
s[2]:=('BeCl2....Be');g[2]:='1';
s[3]:=('NH3......N');g[3]:='4';
s[4]:=('AlCl3....Al');g[4]:='2';
s[5]:=('SO2......S');g[5]:='3';
s[6]:=('Cl2O.....O');g[6]:='5';
s[7]:=('SO3......S');g[7]:='2';
s[8]:=('H2SO4....S');g[8]:='3';
s[9]:=('H2CO3....C');g[9]:='2';
s[10]:=('HNO3....N');g[10]:='2';
s[11]:=('HClO4...Cl');g[11]:='3';
s[12]:=('HClO3...Cl');g[12]:='4';
s[13]:=('HBrO2...Br');g[13]:='5';
s[14]:=('AlBr3...Al');g[14]:='2';
s[15]:=('BeBr2...Be');g[15]:='1';

h[1]:=('H2O......O.....2 legame 2 liberi');
h[2]:=('BeCl2....Be....2 legame 0 liberi');
h[3]:=('NH3......N.....3 legame 1 libero');
h[4]:=('AlCl3....Al....3 legame 0 libero');
h[5]:=('SO2......S.....2 legame (semplice e doppio) 1 libero');
h[6]:=('Cl2O.....O.....2 legame 2 liberi');
h[7]:=('SO3......S.....3 legame (2 semplici e uno doppio) 0 liberi');
h[8]:=('H2SO4....S.....4 legame 0 liberi');
h[9]:=('H2CO3....C.....3 legame (2 semplici e uno doppio) 0 liberi');
h[10]:=('HNO3....N.....3 legame (2 semplici e uno doppio) 0 liberi');
h[11]:=('HClO4...Cl....4 legame 0 liberi');
h[12]:=('HClO3...Cl....3 legame 1 libero');
h[13]:=('HBrO2...Br....2 legame 2 liberi');
h[14]:=('AlBr3...Al....3 legame 0 liberi');
h[15]:=('BeBr2...Be....2 legame 0 liberi');

end;

procedure pro1;
begin
for a:=1 to k do
begin
writeln('indica tipo di geometria con atomo centrale indicato in:');
writeln(s[a],' .....domanda n.',a, ' su ', np);
WRITELN('------------------------------------------------');
writeln('1=lineare...2=triangolare..3=tetraedrica..4=piramidale..5=angolare');
writeln('------------------------------------------------');
write('scrivi tipo di forza = ');readln(tp);
writeln('------------------------------------------------');
if tp=g[a] then begin writeln('esatto');
writeln(h[a]);esatte:=esatte+1; end
 else begin writeln('errato:era ',g[a]);
 writeln('infatti era:',h[a]);errate:=errate+1;end;
writeln('--------------------------------------------------------------');
writeln('esatte=',esatte, ' errate=',errate);
writeln('-------------------------------------------------------');
pausa;cancella;
end;end;


begin
cancella;
writeln('programma:determina tipo di geometria in molecole semplici');
writeln('secondo la teoria VSEPR :repulsione coppie elettroni di valenza');
writeln;
writeln('si devono rappresentare le strutture secondo Lewis');
writeln('si devono contare i doppietti elettronici attorno atomo CENTRALE');
writeln('si devono contare i doppietti di legame e quelli ancora liberi');
writeln('NOTA:un doppio legame equivale a 1 solo doppietto di legame');
writeln('e quindi prevedere tipo geometria molecolare');
writeln('-------------------------------------------------------');
writeln('si deve rispondere scrivendo dei NUMERI al posto della forza');
writeln('1 per tipo LINEARE ');
writeln('2 per tipo TRIANGOLARE');
writeln('3 per tipo TETRAEDRICO');
writeln('4 per tipo PIRAMIDALE');
writeln('5 per tipo ANGOLARE');
writeln('---------------------------------------------------');
writeln('RICORDARE che in generale la forma risulta:');
writeln('1..LINEARE........con 2 doppietti di legame,0 liberi');
writeln('2..TRIANGOLARE....con 3 doppietti di legame,0 liberi');
writeln('3..TETRAEDRICA....con 4 doppietti di legame,0 liberi ');
writeln('4..PIRAMIDALE.....con 3 doppietti di legame,1 libero');
writeln('5..ANGOLARE.......con 2 doppietti di legame,2 liberi');
writeln('---------------------------------------------------');
pausa;cancella;dati;
np:=k;pro1;
writeln('esatte =',esatte);
writeln('errate =',errate);
if esatte>errate then writeln('sufficiente')
 else writeln('insufficiente:studia ancora');
 writeln('chiama insegnante per integrare valutazione');
 readln;
end.


(* esempio da non copiare nella selezione

indica tipo di geometria con atomo centrale indicato in:
NH3......N .....domanda n.3 su 15
------------------------------------------------
1=lineare...2=triangolare..3=tetraedrica..4=piramidale..5=angolare
------------------------------------------------
scrivi tipo di forza = 4
------------------------------------------------
esatto
NH3......N.....3 legame 1 libero
--------------------------------------------------------------
esatte=2 errate=1
-------------------------------------------------------
premi ENTER *)

ritorna oppure avanti per vedere modelli geometrici