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.