variazione periodicità

esci chimicaturbo.htm

program raggio4;
(* didattico per mostrare variazione ionizzazione affinit… elettroneg *)
(* variante di raggio3 con visualizzazione schermatura *)

uses crt,graph;
const k=18;
var
a,c1,c2,c0,C3,C4,tx:integer;
s:array[1..k] of string;
g:array[1..k] of string;
p:array[1..K] of string;
q:array[1..k] of string;

procedure grafica;
var tp,sc:integer;stringa:string;
begin
tp:=0;sc:=0;stringa:='c:\scheda\';
initgraph(sc,tp,stringa);
end;

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

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

procedure cancella;
begin
grafica;
end;

procedure pulire;
begin
clrscr;
end;

procedure dati;
begin
s[1]:=('H 1s1..Z=1');g[1]:='..un solo livello occupato';
s[2]:=('Li 2s1..Z=3');g[2]:='..due livelli occupati';
s[3]:=('Na 3s1..Z=11');g[3]:='..tre livelli occupati';
s[4]:=('K 4s1..Z=19');g[4]:='..quattro livelli occupati';
s[5]:=('Rb 5s1..Z=37');g[5]:='..5 livelli occupati';
s[6]:=('Cs 6s1..Z=55');g[6]:='..6 livelli occupati';
s[7]:=('Fr 7s1..Z=87');g[7]:='..7 livelli occupati';
s[8]:=('Be 2s2..Z=4');g[8]:='..2 livelli occupati';
s[9]:=('Mg 3s2..Z=12');g[9]:='..3 livelli occupati';
s[10]:=('Ca 4s2..Z=29');g[10]:='..4 livelli occupati';
s[11]:=('Sr 5s2..Z=38');g[11]:='..5 livelli occupati';
s[12]:=('Ba 6s2..Z=56');g[12]:='..6 livelli occupati';
s[13]:=('Ra 7s2..Z=88');g[13]:='..7 livelli occupati';
s[14]:=('F 2s2,2p5..Z=9');g[14]:='..2 livelli occupati';
s[15]:=('Cl 3s2,3p5.Z=17');g[15]:='..3 livelli occupati';
s[16]:=('Br 4s2,4p5..Z=35');g[16]:='..4 livelli occupati';
s[17]:=('I 5s2,5p5.Z=53');g[17]:='..5 livelli occupati';
s[18]:=('At 6s2,6p5..Z=85');g[18]:='..6 livelli occupati';

p[1]:=('Li'); q[1]:=('2s1..........Z=3');
p[2]:=('Be'); q[2]:=('2s2..........Z=4');
p[3]:=('B'); q[3]:=('2s2,2p1......Z=5');
p[4]:=('C'); q[4]:=('2s2,2p2......Z=6');
p[5]:=('N'); q[5]:=('2s2,2p3......Z=7');
p[6]:=('O'); q[6]:=('2s2,2p4......Z=8');
p[7]:=('F'); q[7]:=('2s2,2p5......Z=9');
p[8]:=('Ne'); q[8]:=('2s2,2p6......Z=10');
p[9]:=('Na'); q[9]:=('3s1..........Z=11');
p[10]:=('Mg'); q[10]:=('3s2..........Z=12');
p[11]:=('Al'); q[11]:=('3s2,3p1......Z=13');
p[12]:=('Si'); q[12]:=('3s2,3p2......Z=14');
p[13]:=('P'); q[13]:=('3s2,3p3......Z=15');
p[14]:=('S'); q[14]:=('3s2,3p4......Z=16');
p[15]:=('Cl'); q[15]:=('3s2,3p5......Z=17');
p[16]:=('Ar'); q[16]:=('3s2,3p6......Z=18');
end;

procedure frase;
begin
outtextxy(50,400,'premi enter');
readln;
end;

procedure dise1(f,y:integer);(* raggio elementi 1 gruppo *)
var co,ra,x:integer;
begin
co:=1;ra:=10;x:=50;
outtextxy(300,10,'elementi primo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra); outtextxy(100+x,y,s[f]);
ra:=ra+5;co:=co+1;delay(tx);
end;
outtextxy(100,420,'da ALTO a BASSO :raggio,schermatura: AUMENTO');
outtextxy(100,430,'ionizzazione,affinit…,elettronegativit…:DIMINUZIONE');
end;

procedure die1(f,y,ra,co:integer);(* ionizzazione elementi 1 gruppo *)
var x:integer;
begin
x:=50;
outtextxy(300,10,'elementi primo gruppo');
setcolor(c4);
circle(x,y,ra);
outtextxy(300+x,y,'energia ionizzazione');
outtextxy(300+x,y+10,'affinit… elettronica');
outtextxy(300+x,y+20,'elettronegativit…');
delay(tx);
end;


procedure dis1(f,y:integer);
var co,ra,x:integer;
begin
co:=1;ra:=10;x:=50;
outtextxy(100,10,'elementi primo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra); outtextxy(x,y,s[f]);
ra:=ra+5;co:=co+1;delay(tx);
end;
setfillstyle(a,a);
delay(tx);fillellipse(x,y,ra-10,ra-10);
end;


procedure dise2(f,y:integer);
var co,ra,x:integer;
begin
ra:=5;co:=1;x:=50;
outtextxy(300,10,'elementi secondo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra);outtextxy(100+x,y,s[f+6]);
ra:=ra+5;co:=co+1;delay(tx);
end;
setfillstyle(a,a);
delay(tx);fillellipse(x,y,ra-10,ra-10);
outtextxy(100,420,'da ALTO a BASSO :raggio,schermatura: AUMENTO');
outtextxy(100,430,'ionizzazione,affinit…,elettronegativit…:DIMINUZIONE');
end;

procedure dis2(f,y:integer);
var co,ra,x:integer;
begin
ra:=5;co:=1;x:=200;
outtextxy(200,20,'elementi secondo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra);outtextxy(x,y,s[f+6]);
ra:=ra+5;co:=co+1;delay(tx);
end; end;

procedure dise3(f,y:integer);
var co,ra,x:integer;
begin
ra:=5;co:=1;x:=50;
outtextxy(300,10,'elementi settimo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra);outtextxy(100+x,y,s[f+12]);
ra:=ra+5;co:=co+1;delay(tx);
end;
setfillstyle(a,a);
delay(tx);fillellipse(x,y,ra-10,ra-10);
outtextxy(100,420,'da ALTO a BASSO :raggio,schermatura: AUMENTO');
outtextxy(100,430,'ionizzazione,affinit…,elettronegativit…:DIMINUZIONE');
end;

procedure dis3(f,y:integer);
var co,ra,x:integer;
begin
ra:=5;co:=1;x:=350;
outtextxy(300,30,'elementi settimo gruppo');
for a:=1 to f do
begin
setcolor(co);
circle(x,y,ra);outtextxy(x,y,s[f+12]);
ra:=ra+2;co:=co+1;delay(tx);
end; end;

procedure dise4;
var co,ra,y,x:integer;
begin
ra:=25;co:=1;y:=50;x:=50;
outtextxy(30,10,'elementi 2 periodo');
for a:=1 to 8 do
begin
setcolor(co);
circle(x,y,ra);circle(x,y,ra-2);outtextxy(x,y,p[a]);
outtextxy(x,y+50+10*a,q[a]);
ra:=ra-3;co:=co+1;x:=x+60;delay(tx);
end; end;

procedure die4;
var co,ra,y,x:integer;
begin
ra:=5;co:=1;y:=50;x:=50;
outtextxy(30,10,'elementi 2 periodo');
for a:=1 to 8 do
begin
setcolor(c4);
circle(x,y,ra);
ra:=ra+3;co:=co+1;x:=x+60;delay(tx);
end;
setcolor(c4);
outtextxy(100,300,'DA SINISTRA verso DESTRA:variazione');
outtextxy(100,310,'raggio.....................DIMINUISCE');
outtextxy(100,320,'schermatura costante');
outtextxy(100,330,'numero atomico aumenta');
outtextxy(100,340,'energia ionizzazione.......AUMENTA');
outtextxy(100,350,'affinit… elettronica.......AUMENTA');
outtextxy(100,360,'elettronegativit…..........AUMENTA');
end;

procedure dise5;
var co,ra,y,x:integer;
begin
ra:=30;co:=1;y:=50;x:=50;
outtextxy(30,160,'elementi 3 periodo');
for a:=1 to 8 do
begin
setcolor(co);
circle(x,y,ra);circle(x,y,ra-2);outtextxy(x,y,p[a+8]);
outtextxy(x,y+50+10*a,q[a+8]);
ra:=ra-3;co:=co+1;x:=x+60;delay(tx);
end; end;

procedure die5;
var co,ra,y,x:integer;
begin
ra:=5;co:=1;y:=50;x:=50;
outtextxy(30,160,'elementi 3 periodo');
for a:=1 to 8 do
begin
setcolor(c4);
circle(x,y,ra);
ra:=ra+3;co:=co+1;x:=x+60;delay(tx);
end;
setcolor(c4);
outtextxy(100,370,'DA SINISTRA verso DESTRA:variazione');
outtextxy(100,380,'raggio.....................DIMINUISCE');
outtextxy(100,400,'schermatura costante');
outtextxy(100,410,'numero atomico aumenta');
outtextxy(100,420,'energia ionizzazione.......AUMENTA');
outtextxy(100,430,'affinit… elettronica.......AUMENTA');
outtextxy(100,440,'elettronegativit…..........AUMENTA');
end;


procedure testo1(w:integer);
begin
outtextxy(w,330,'variazione raggio e volume atomico');
outtextxy(w,340,'in un gruppo di elementi');
outtextxy(w,350,'AUMENTA da alto verso il basso');
outtextxy(w,360,'con aumentare del numero atomico');
outtextxy(w,370,'per due motivi');
outtextxy(w,390,'viene occupato un livello sempre pi— esterno');
outtextxy(w,400,'aumenta effetto schermante di elettroni interni');
outtextxy(w,410,'CONSEGUENZA:elettrone meno attirato');
outtextxy(w,420,'raggio pi— grande');
end;

procedure testo2(w:integer);
begin
outtextxy(w,330,'variazione raggio e volume atomico');
outtextxy(w,340,'in un periodo di elementi');
outtextxy(w,350,'DIMINUISCE da sinistra verso destra:da 1 a 8 gruppo');
outtextxy(w,360,'con aumentare del numero atomico');
outtextxy(w,370,'AUMENTA numero protoni del nucleo con aumento di Z');
outtextxy(w,390,'viene occupato sempre lo stesso ultimo livello');
outtextxy(w,400,'rimane costante effetto schermante di elettroni interni');
outtextxy(w,410,'CONSEGUENZA:elettrone pi— attirato dal nucleo');
outtextxy(w,420,'raggio pi— piccolo');
end;

procedure pro1;
begin
setbkcolor(c0);
setcolor(c3);
testo1(200);frase;cancella;
dise1(1,20);dise1(2,60);dise1(3,110);dise1(4,170);dise1(5,230);
dise1(6,300);dise1(7,380);setcolor(c4);frase;
die1(1,20,30,1);die1(2,60,25,2);die1(3,110,20,3);
die1(4,170,15,4);die1(5,230,10,5);
die1(6,300,8,6);die1(7,380,5,7);frase;cancella;

dise2(2,20);dise2(3,60);dise2(4,110);dise2(5,170);dise2(6,230);
dise2(7,300);frase;
die1(8,20,30,2);die1(9,60,25,3);die1(10,110,20,4);
die1(11,170,15,5);die1(12,230,10,6);
die1(13,300,8,7);frase;cancella;
dise3(2,20);dise3(3,60);dise3(4,110);dise3(5,170);dise3(6,230);
setcolor(c4);frase;
die1(14,20,30,2);die1(15,60,25,3);die1(16,110,20,4);
die1(17,170,15,5);die1(18,230,10,6);frase;cancella;
testo2(200);frase;cancella;
dise4;frase;die4;frase;cancella;
dise5;frase;die5;frase;cancella;
setcolor(c4);testo2(180);frase;cancella;
outtextxy(300,10,'variazione raggi atomici');
dis1(1,20);dis1(2,60);dis1(3,110);dis1(4,170);dis1(5,230);
dis1(6,300);dis1(7,380);
dis2(2,60);dis2(3,110);dis2(4,170);dis2(5,230);dis2(6,300);
dis2(7,380);
dis3(2,60);dis3(3,110);dis3(4,170);dis3(5,230);dis3(6,300);
setcolor(c4);frase;cancella;
end;


begin
pulire;
c1:=2;c2:=3;c0:=0;C3:=4;C4:=14;
writeln('Considerazioni sulla variazione del raggio e volume atomico');
writeln('energia ionizzazione,affinit… elettronica,elettronegativit…');
writeln('nei gruppi e nei periodi della tabella periodica');
writeln('Si evidenzia una variazione periodica del raggio lungo il periodo');
writeln('DIMINUISCE da sinistra verso destra ');
writeln('dal primo gruppo allo ottavo gruppo');
writeln('------------------------------------------------');
writeln('AUMENTA in ogni gruppo da alto verso il basso');
writeln('---------------------------------------------------');
writeln('Energia di ionizzazione,Affinit… elettronica,Elettronegativit…');
writeln('DIMINUISCONO nel gruppo da alto verso il basso');
writeln('AUMENTANO nel periodo da sinistra verso destra');
repeat
write('scrivi valore per velocir… :da 1 veloce a 200 lento ');readln(tx);
until tx<200;
pausa;pulire;dati;grafica;pro1;closegraph;restorecrtmode;textmode(2);
end.