listati programmi totale1-totale2 turbo pascal

 

 

program totale1;
(* scrivere configurazione elettronica ULTIMO livello e BLOCCO *)
(* scrivere gruppo appartenenza e periodo *)
(* variante di orbita1 :presenta configurazione completa e ultima *)
(* con correzione e valutazione finale *)
(* NOTA il GRUPPO PER ELEMENTI TRANSIZIONE VIENE ASSEGNATO=2 *)
(* Z casuale *)

uses crt;
const n=55;
var a,z,esatte,errate,prove,caso,numero,gruppo,periodo:integer;
    blocco:string[5];
    d:array[1..n] of string;
    u:array[1..n] of string[20];
    b:array[1..n] of string[5];
    e:array[1..n] of integer;
    p:array[1..n] of integer;
    r:string;
       c:real;

procedure cancella;
begin
clrscr;
end;

procedure pausa;
begin
writeln('-----------------------------------------------------');
writeln('premi INVIO ');readln;
end;

procedure dati;
begin
d[1]:='1s1';u[1]:='1s1';b[1]:='s';e[1]:=1;
d[2]:='1s2';u[2]:='1s2';b[2]:='s';e[2]:=2;
d[3]:='1s2,2s1';u[3]:='2s1';b[3]:='s';e[3]:=1;
d[4]:='1s2,2s2';u[4]:='2s2';b[4]:='s';e[4]:=2;
d[5]:='1s2,2s2,2p1';u[5]:='2s2,2p1';b[5]:='p';e[5]:=3;
d[6]:='1s2,2s2,2p2';u[6]:='2s2,2p2';b[6]:='p';e[6]:=4;
d[7]:='1s2,2s2,2p3';u[7]:='2s2,2p3';b[7]:='p';e[7]:=5;
d[8]:='1s2,2s2,2p4';u[8]:='2s2,2p4';b[8]:='p';e[8]:=6;
d[9]:='1s2,2s2,2p5';u[9]:='2s2,2p5';b[9]:='p';e[9]:=7;
d[10]:='1s2,2s2,2p6';u[10]:='2s2,2p6';b[10]:='p';e[10]:=8;
d[11]:='1s2,2s2,2p6,3s1';u[11]:='3s1';b[11]:='s';e[11]:=1;
d[12]:='1s2,2s2,2p6,3s2';u[12]:='3s2';b[12]:='s';e[12]:=2;
d[13]:='1s2,2s2,2p6,3s2,3p1';u[13]:='3s2,3p1';b[13]:='p';e[13]:=3;
d[14]:='1s2,2s2,2p6,3s2,3p2';u[14]:='3s2,3p2';b[14]:='p';e[14]:=4;
d[15]:='1s2,2s2,2p6,3s2,3p3';u[15]:='3s2,3p3';b[15]:='p';e[15]:=5;
d[16]:='1s2,2s2,2p6,3s2,3p4';u[16]:='3s2,3p4';b[16]:='p';e[16]:=6;
d[17]:='1s2,2s2,2p6,3s2,3p5';u[17]:='3s2,3p5';b[17]:='p';e[17]:=7;
d[18]:='1s2,2s2,2p6,3s2,3p6';u[18]:='3s2,3p6';b[18]:='p';e[18]:=8;
d[19]:='1s2,2s2,2p6,3s2,3p6,4s1';u[19]:='4s1';b[19]:='s';e[19]:=1;
d[20]:='1s2,2s2,2p6,3s2,3p6,4s2';u[20]:='4s2';b[20]:='s';e[20]:=2;
d[21]:='1s2,2s2,2p6,3s2,3p6,4s2,3d1';u[21]:='4s2';b[21]:='d';e[21]:=2;
d[22]:='1s2,2s2,2p6,3s2,3p6,4s2,3d2';u[22]:='4s2';b[22]:='d';e[22]:=2;
d[23]:='1s2,2s2,2p6,3s2,3p6,4s2,3d3';u[23]:='4s2';b[23]:='d';e[23]:=2;
d[24]:='1s2,2s2,2p6,3s2,3p6,4s2,3d4';u[24]:='4s2';b[24]:='d';e[24]:=2;
d[25]:='1s2,2s2,2p6,3s2,3p6,4s2,3d5';u[25]:='4s2';b[25]:='d';e[25]:=2;
d[26]:='1s2,2s2,2p6,3s2,3p6,4s2,3d6';u[26]:='4s2';b[26]:='d';e[26]:=2;
d[27]:='1s2,2s2,2p6,3s2,3p6,4s2,3d7';u[27]:='4s2';b[27]:='d';e[27]:=2;
d[28]:='1s2,2s2,2p6,3s2,3p6,4s2,3d8';u[28]:='4s2';b[28]:='d';e[28]:=2;
d[29]:='1s2,2s2,2p6,3s2,3p6,4s2,3d9';u[29]:='4s2';b[29]:='d';e[29]:=2;
d[30]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10';u[30]:='4s2';b[30]:='d';e[30]:=2;

d[31]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p1';u[31]:='4s2,4p1';b[31]:='p';e[31]:=3;
d[32]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p2';u[32]:='4s2,4p2';b[32]:='p';e[32]:=4;
d[33]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p3';u[33]:='4s2,4p3';b[33]:='p';e[33]:=5;
d[34]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p4';u[34]:='4s2,4p4';b[34]:='p';e[34]:=6;
d[35]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p5';u[35]:='4s2,4p5';b[35]:='p';e[35]:=7;
d[36]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6';u[36]:='4s2,4p6';b[36]:='p';e[36]:=8;
d[37]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s1';u[37]:='5s1';b[37]:='s';e[37]:=1;
d[38]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2';u[38]:='5s2';b[38]:='s';e[38]:=2;
d[39]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d1';u[39]:='5s2';b[39]:='d';e[39]:=2;
d[40]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d2';u[40]:='5s2';b[40]:='d';e[40]:=2;
d[41]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d3';u[41]:='5s2';b[41]:='d';e[41]:=2;
d[42]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d4';u[42]:='5s2';b[42]:='d';e[42]:=2;
d[43]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d5';u[43]:='5s2';b[43]:='d';e[43]:=2;
d[44]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d6';u[44]:='5s2';b[44]:='d';e[44]:=2;
d[45]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d7';u[45]:='5s2';b[45]:='d';e[45]:=2;
d[46]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d8';u[46]:='5s2';b[46]:='d';e[46]:=2;
d[47]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d9';u[47]:='5s2';b[47]:='d';e[47]:=2;
d[48]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10';u[48]:='5s2';b[48]:='d';e[48]:=2;


d[49]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p1';u[49]:='5s2,5p1';b[49]:='p';e[49]:=3;
d[50]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p2';u[50]:='5s2,5p2';b[50]:='p';e[50]:=4;
d[51]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p3';u[51]:='5s2,5p3';b[51]:='p';e[51]:=5;
d[52]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p4';u[52]:='5s2,5p4';b[52]:='p';e[52]:=6;
d[53]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p5';u[53]:='5s2,5p5';b[53]:='p';e[53]:=7;
d[54]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p6';u[54]:='5s2,5p6';b[54]:='p';e[54]:=8;
d[55]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p6,6s1';u[55]:='6s1';b[55]:='s';e[55]:=1;

p[1]:=1;p[2]:=1;
p[3]:=2;p[4]:=2;p[5]:=2;p[6]:=2;p[7]:=2;p[8]:=2;p[9]:=2;p[10]:=2;
p[11]:=3;p[12]:=3;p[13]:=3;p[14]:=3;p[15]:=3;p[16]:=3;p[17]:=3;p[18]:=3;
p[19]:=4;p[20]:=4;p[21]:=4;p[22]:=4;p[23]:=4;p[24]:=4;p[25]:=4;p[26]:=4;
p[27]:=4;p[28]:=4;p[29]:=4;p[30]:=4;p[31]:=4;p[32]:=4;
p[33]:=4;p[34]:=4;p[35]:=4;p[36]:=4;
p[37]:=5;p[38]:=5;p[39]:=5;p[40]:=5;p[41]:=5;p[42]:=5;p[43]:=5;p[44]:=5;
p[45]:=5;p[46]:=5;p[47]:=5;p[48]:=5;p[49]:=5;p[50]:=6;p[51]:=5;p[52]:=5;
p[53]:=5;p[54]:=5;
p[55]:=6;
end;


procedure scelta;
begin
dati;
esatte:=0;errate:=0;
for a:=1 to prove do
begin
cancella;
writeln('scrivere configurazione elettronica ');
writeln('osservando la sintassi indicata nello esempio che segue');
writeln('CON Z = 7  ---> 1s2,2s2,2p3');
writeln('separando ogni sottolivello con la virgola,eccetto ultimo');
writeln('---------------------------------------------------------');
randomize;
c:=60*random;
caso:=round(c)+1;
if caso >55 then caso :=55;
if caso=38 then caso:=37;
writeln(' NUMERO ATOMICO ELEMENTO : Z  =',caso);
write('SCRIVI configurazione  COMPLETA =');readln(r);
if r=d[caso] then begin writeln('esatto:',d[caso]);esatte:=esatte+1;end
else begin writeln('errato:era ',d[caso]);errate:=errate+1;end;
pausa;cancella;
writeln('elemento numero atomico: Z =',caso);
writeln(d[caso]);
writeln('scrivi configurazione ULTIMO LIVELLO ');
write('configurazione=');readln(r);
writeln('---------------------------------------------------------');
if r=u[caso] then
begin writeln('esatto');esatte:=esatte+1 ;end
else
begin writeln('errato:era=');
writeln('configurazione completa =',d[caso]);
writeln('e quindi configurazione ultimo livello=');
writeln(u[caso]);errate:=errate+1;end;
writeln('***********************************************************');
writeln('gruppo....:corrisponde a numero elettroni ultimo livello');
writeln('periodo...:corrisponde a numero ultimo livello occupato');
writeln('BLOCCO....:dipende da ultimi sottolivelli occupati:');
writeln('s1 -> blocco s ');
writeln('s2 (senza d nel livello precedente quello con s2) -> s');
writeln('s2,p(1-6) -> p');
writeln('s2,con d(1-10) nel livello precedente s2 -> d');
writeln('***********************************************************');
write('scrivi blocco di appartenenza s,p,d ');readln(blocco);
if blocco=b[caso] then begin
writeln('esatto');esatte:=esatte+1;end
else
begin writeln('errato:era blocco :',b[caso]);errate:=errate+1;end;
writeln('-------------------------------------------------------------');
write('scrivi gruppo di appartenenza 1,2,3,4,5,6,7,8 ? ');readln(gruppo);
if gruppo=e[caso] then begin
writeln('esatto');esatte:=esatte+1;end
else
begin writeln('errato:era gruppo :',e[caso]);errate:=errate+1;end;
writeln('-------------------------------------------------------------');
write('scrivi PERIODO appartenenza 1,2,3,4,5,6 ? ');readln(periodo);
if periodo=p[caso] then begin writeln('esatto ',p[caso]);esatte:=esatte+1;end
else begin writeln('errato:era ',p[caso]);errate:=errate+1;end;
writeln('------------------------------------------------------');
writeln('premi enter per altra prova');readln;cancella;
end;end;

procedure presenta;
begin
 writeln('viene richiesto numero di prove da eseguire<21');
 writeln('viene presentato numero atomico elemento ');
 writeln('--------------------------------------------');
 writeln('viene richiesto di scrivere:');
 writeln('configurazione completa sintetica');
 writeln('configurazione ultimo livello');
 writeln('blocco di appartenemza:s,p,d');
 writeln('gruppo di appartenenza:1,2,3,4,5,6,7,8');
 writeln('periodo di appartenenza:1,2,3,4,5,6,7');
 writeln('---------------------------------------------');
end;

begin
cancella;presenta;
repeat
write('indica numero di prove da eseguire:da 1 a 20 ');readln(prove);
until prove<21;
cancella;
scelta;
writeln('risposte esatte =',esatte);
writeln('risposte errate =',errate);
writeln('chiama insegnante per valutazione');readln;
end.





program totale2;
(* scrivere configurazione elettronica completa sintetica *)
(* con correzione e valutazione finale *)
(* si devono inserire ogni volta i numeri atomici fino al 56 *)
uses crt;

const n=56;
var a,z,esatte,errate,prove,caso:integer;
    d:array[1..n] of string;
    r:string;

procedure cancella;
begin
clrscr;
end;
 
procedure dati;
begin
d[1]:='1s1';d[2]:='1s2';d[3]:='1s2,2s1';d[4]:='1s2,2s2';
d[5]:='1s2,2s2,2p1';d[6]:='1s2,2s2,2p2';d[7]:='1s2,2s2,2p3';
d[8]:='1s2,2s2,2p4';d[9]:='1s2,2s2,2p5';d[10]:='1s2,2s2,2p6';
d[11]:='1s2,2s2,2p6,3s1';d[12]:='1s2,2s2,2p6,3s2';
d[13]:='1s2,2s2,2p6,3s2,3p1';d[14]:='1s2,2s2,2p6,3s2,3p2';
d[15]:='1s2,2s2,2p6,3s2,3p3';d[16]:='1s2,2s2,2p6,3s2,3p4';
d[17]:='1s2,2s2,2p6,3s2,3p5';d[18]:='1s2,2s2,2p6,3s2,3p6';
d[19]:='1s2,2s2,2p6,3s2,3p6,4s1';d[20]:='1s2,2s2,2p6,3s2,3p6,4s2';
d[21]:='1s2,2s2,2p6,3s2,3p6,4s2,3d1';d[22]:='1s2,2s2,2p6,3s2,3p6,4s2,3d2';
d[23]:='1s2,2s2,2p6,3s2,3p6,4s2,3d3';d[24]:='1s2,2s2,2p6,3s2,3p6,4s2,3d4';
d[25]:='1s2,2s2,2p6,3s2,3p6,4s2,3d5';d[26]:='1s2,2s2,2p6,3s2,3p6,4s2,3d6';
d[27]:='1s2,2s2,2p6,3s2,3p6,4s2,3d7';d[28]:='1s2,2s2,2p6,3s2,3p6,4s2,3d8';
d[29]:='1s2,2s2,2p6,3s2,3p6,4s2,3d9';d[30]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10';

d[31]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p1';
d[32]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p2';
d[33]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p3';
d[34]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p4';
d[35]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p5';
d[36]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6';
d[37]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s1';
d[38]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2';
d[39]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d1';
d[40]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d2';
d[41]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d3';
d[42]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d4';
d[43]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d5';
d[44]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d6';
d[45]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d7';
d[46]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d8';
d[47]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d9';
d[48]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10';


d[49]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p1';
d[50]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p2';
d[51]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p3';
d[52]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p4';
d[53]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p5';
d[54]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p6';
d[55]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p6,6s1';
d[56]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,4p6,5s2,4d10,5p6,6s2';
end;

procedure scelta;
begin
dati;
esatte:=0;errate:=0;
for a:=1 to prove do
begin
writeln('scrivere configurazione elettronica sintetica completa');
writeln('osservando la sintassi indicata nello esempio che segue');
writeln('1s2,2s2,2p3');
writeln('separando ogni sottolivello con la virgola,eccetto ultimo');
writeln('---------------------------------------------------------');
repeat
write('scrivi numero atomico elemento da 1 a 56 =');readln(caso);
until caso<57;
writeln('scrivi configurazione elettronica sintetica completa');
write('configurazione=');readln(r);
if r=d[caso] then 
begin writeln('esatto');esatte:=esatte+1 ;end
else  
begin writeln('errato:era=');
writeln(d[caso]);errate:=errate+1;end;
writeln('premi enter per altra prova');readln;cancella;
end;
end;


begin
cancella;
repeat
write('indica numero di prove da eseguire:da 1 a 56 ');readln(prove);
until prove<57;
cancella;
scelta;
writeln('risposte esatte =',esatte);
writeln('risposte errate =',errate);
writeln('chiama insegnante per valutazione');readln;
end.