listati programmi in turbo pascal per varia1

 

program varia1;
(* test con valutazione su ionizzazione,affinit…,raggio,elettronegat *)
uses crt;
const n=40;

var a,prove,esatte,errate:integer;
    s:array[1..n] of string;
    g:array[1..n] of string;
    r,h1,h2,h3,h4,h5:string;
    c1,c2,c3,c4,c5:string;

procedure cancella;
begin
 clrscr;
end;

procedure dati;
begin
h1:='scrivi configurazione elemento con raggio maggiore';
h2:='scrivi configurazione elemento con energia ionizzazione minore';
h3:='scrivi configurazione elemento con affinit… elettronica minore';
h4:='scrivi configurazione elemento con elettronegativit… minore';
c1:='raggio AUMENTA verso il basso,DIMINUISCE verso destra..';
c2:='energia DIMINUISCE verso il basso,AUMENTA verso destra..';
c3:='affinit… DIMINUISCE verso il basso,AUMENTA verso destra..';
c4:='elettronegativit… DIMINUISCE verso il basso,AUMENTA verso destra';


(* chiede raggio maggiore lungo un gruppo*)
s[1]:='2s1 - 5s1 - 3s1 - 4s1';g[1]:='5s1';
s[2]:='5s2 - 1s2 - 3s2 - 4s2';g[2]:='5s2';
s[3]:='3s2,3p2 - 2s2,2p2 - 4s2,4p2 - 6s2,6p2';g[3]:='6s2,6p2';
s[4]:='5s2,5p5 - 2s2,2p5 - 4s2,4p5 - 6s2,6p5';g[4]:='6s2,6p5';
s[5]:='2s2,2p6 - 4s2,4p6 - 6s2,6p6 - 5s2,5p6';g[5]:='6s2,6p6';

(* chiede raggio maggiore lungo un periodo *)
s[6]:='2s2 - 2s2,2p3 - 2s2,2p6 - 2s2,2p5';g[6]:='2s2';
s[7]:='4s2,4p5 - 4s1 - 4s2,4p5 - 4s2,4p3';g[7]:='4s1';
s[8]:='6s2,6p5 - 6s2,6p3 - 6s2 - 6s1';g[8]:='6s1';
s[9]:='5s2,5p5 - 5s2,5p3 - 5s2 - 5s2,5p6';g[9]:='5s2';
s[10]:='3s2,3p5 - 3s1 - 3s2,3p6 - 3s2,3p4';g[10]:='3s1';

(* chiede minima energia di ionizzazione in gruppo *)
s[11]:='2s1 - 5s1 - 3s1 - 4s1';g[11]:='5s1';
s[12]:='5s2 - 1s2 - 3s2 - 4s2';g[12]:='5s2';
s[13]:='3s2,3p2 - 2s2,2p2 - 4s2,4p2 - 6s2,6p2';g[13]:='6s2,6p2';
s[14]:='5s2,5p5 - 2s2,2p5 - 4s2,4p5 - 6s2,6p5';g[14]:='6s2,6p5';
s[15]:='2s2,2p6 - 4s2,4p6 - 6s2,6p6 - 5s2,5p6';g[15]:='6s2,6p6';

(* chiede minima energia di ionizzazione in periodo *)
s[16]:='2s2 - 2s2,2p3 - 2s2,2p6 - 2s2,2p5';g[16]:='2s2';
s[17]:='4s2,4p5 - 4s1 - 4s2,4p5 - 4s2,4p3';g[17]:='4s1';
s[18]:='6s2,6p5 - 6s2,6p3 - 6s2 - 6s1';g[18]:='6s1';
s[19]:='5s2,5p5 - 5s2,5p3 - 5s2 - 5s2,5p6';g[19]:='5s2';
s[20]:='3s2,3p5 - 3s1 - 3s2,3p6 - 3s2,3p4';g[20]:='3s1';

(* chiede minima affinit… elettronica in gruppo *)
s[21]:='2s1 - 5s1 - 3s1 - 4s1';g[21]:='5s1';
s[22]:='5s2 - 1s2 - 3s2 - 4s2';g[22]:='5s2';
s[23]:='3s2,3p2 - 2s2,2p2 - 4s2,4p2 - 6s2,6p2';g[23]:='6s2,6p2';
s[24]:='5s2,5p5 - 2s2,2p5 - 4s2,4p5 - 6s2,6p5';g[24]:='6s2,6p5';
s[25]:='2s2,2p6 - 4s2,4p6 - 6s2,6p6 - 5s2,5p6';g[25]:='6s2,6p6';

(* chiede minima affinit… elettronica in periodo *)
s[26]:='2s2 - 2s2,2p3 - 2s2,2p6 - 2s2,2p5';g[26]:='2s2';
s[27]:='4s2,4p5 - 4s1 - 4s2,4p5 - 4s2,4p3';g[27]:='4s1';
s[28]:='6s2,6p5 - 6s2,6p3 - 6s2 - 6s1';g[28]:='6s1';
s[29]:='5s2,5p5 - 5s2,5p3 - 5s2 - 5s2,5p6';g[29]:='5s2';
s[30]:='3s2,3p5 - 3s1 - 3s2,3p6 - 3s2,3p4';g[30]:='3s1';

(* chiede minima elettronegativit… in gruppo *)
s[31]:='2s1 - 5s1 - 3s1 - 4s1';g[31]:='5s1';
s[32]:='5s2 - 1s2 - 3s2 - 4s2';g[32]:='5s2';
s[33]:='3s2,3p2 - 2s2,2p2 - 4s2,4p2 - 6s2,6p2';g[33]:='6s2,6p2';
s[34]:='5s2,5p5 - 2s2,2p5 - 4s2,4p5 - 6s2,6p5';g[34]:='6s2,6p5';
s[35]:='2s2,2p6 - 4s2,4p6 - 6s2,6p6 - 5s2,5p6';g[35]:='6s2,6p6';

(* chiede minima elettronegativit… in periodo *)
s[36]:='2s2 - 2s2,2p3 - 2s2,2p6 - 2s2,2p5';g[36]:='2s2';
s[37]:='4s2,4p5 - 4s1 - 4s2,4p5 - 4s2,4p3';g[37]:='4s1';
s[38]:='6s2,6p5 - 6s2,6p3 - 6s2 - 6s1';g[38]:='6s1';
s[39]:='5s2,5p5 - 5s2,5p3 - 5s2 - 5s2,5p6';g[39]:='5s2';
s[40]:='3s2,3p5 - 3s1 - 3s2,3p6 - 3s2,3p4';g[40]:='3s1';
end;

procedure spiega;
begin
 cancella;
 writeln('regole da ricordare in generale');
 writeln('------------------------------------------------------');
 writeln('come varia RAGGIO e VOLUME di un atomo ');
 writeln('AUMENTA da alto a basso nel gruppo');
 writeln('DIMINUISCE da sinistra a destra nel periodo');
 writeln('------------------------------------------------------');
 writeln('come varia ENERGIA IONIZZAZIONE di un atomo');
 writeln('DIMINUISCE da alto a basso nel gruppo');
 writeln('AUMENTA da sinistra a destra nel periodo');
 writeln('------------------------------------------------------');
 writeln('come varia AFFINITA ELETTRONICA di un atomo');
 writeln('DIMINUISCE da alto a basso nel gruppo');
 writeln('AUMENTA da sinistra a destra nel periodo');
 writeln('-------------------------------------------------------');
 writeln('come varia ELETTRONEGATIVITA di un atomo');
 writeln('DIMINUISCE da alto a basso nel gruppo');
 writeln('AUMENTA da sinistra a destra nel periodo');
 writeln('------------------------------------------------------');
 writeln('premi INVIO');readln;cancella;
 writeln('motivi della variazione:');
 writeln('nel GRUPPO da alto a basso ');
 writeln('1..vengono aggiunti nuovi livelli energetici pi— esterni');
 writeln('2..aumenta effetto schermante di elettroni pi— interni');
 writeln('nel PERIODO da sinistra a destra:');
 writeln('1..aumenta carica positiva nel nucleo,con maggiore attrazione');
 writeln('2..rimane sempre lo stesso livello ed effetto schermante');
 writeln('*************************************************************');


 writeln('premi INVIO per continuare');readln;cancella;
 end;

procedure mostra;
begin
cancella;
writeln('viene presentata la configurazione ultimo livello');
writeln('di quattro elementi:ogni elemento viene separato da trattino -');
writeln('es: 5s1 - 5s2,5p3 - 5s2,5p6 - 5s2,5p4 sono 4 diversi elementi');
writeln('------------------------------------------------------------');
writeln('viene richiesto di indicare il valore massimo o minimo');
writeln('del Raggio,Energia ionizzazione,Affinit…,Elettronegativit…');
writeln('si deve rispondere scrivendo la configurazione elettronica');
writeln('che si ritiene corrispondere alla richiesta presentata');
writeln('----------------------------------------------------------');
writeln('le domande sono in totale 40:alla fine viene data valutazione');
writeln('--------------------------------------------------------------');
writeln('premi INVIO per proseguire');readln;cancella;
end;

procedure opera;
begin
cancella;
esatte:=0;errate:=0;
for a:=1 to n do
begin
if a<=11 then begin h5:=h1 ;c5:=c1;end;
if (a>10) and (a<21) then begin h5:=h2;c5:=c2;end;
if (a>20) and (a<31) then begin h5:=h3;c5:=c3;end;
if a>30 then begin h5:=h4;c5:=c4;end;

writeln(h5);
writeln(s[a]);
writeln('---------------------------------------------');
readln(r);
writeln('--------------------------------------------');
if r=g[a] then begin writeln('esatto');esatte:=esatte+1;end
 else begin writeln('errato:era :',g[a]);writeln(c5);
errate:=errate+1;end;
writeln;
if esatte>errate then writeln('SUFFICIENTE:speriamo bene..')
else writeln('INSUFFICIENTE:attenzione..non perdere altri punti..');

writeln('esatte=',esatte,'   errate=',errate,'   rimanenti= ',n-a);
writeln('premi INVIO per proseguire');readln;cancella;end;end;

begin
cancella;mostra;spiega;dati;opera;cancella;
writeln('risposte esatte  =',esatte);
writeln('risposte errate  =',errate);
if (esatte>errate) or (esatte=errate) then writeln('sufficiente')
 else writeln('non sufficiente:studia ancora..');
writeln('chiamare insegnante per integrare la valutazione ');
writeln('speriamo in bene...');readln;cancella;
end.