esercizi di chimica con turbo pascal 1.1 su mac
program orbita1; (* scrivere configurazione elettronica completa sintetica *) (* con correzione e valutazione finale *) (* si devono inserire ogni volta i numeri atomici fino al 56 *)
const n=56; var a,z,esatte,errate,prove,caso:integer; d:array[1..n] of string; r:string;
procedure cancella; begin clearscreen; 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,5s1'; d[38]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2'; d[39]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d1'; d[40]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d2'; d[41]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d3'; d[42]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d4'; d[43]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d5'; d[44]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d6'; d[45]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d7'; d[46]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d8'; d[47]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d9'; d[48]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10';
d[49]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p1'; d[50]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p2'; d[51]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p3'; d[52]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p4'; d[53]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p5'; d[54]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p6'; d[55]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,5s2,4d10,5p6,6s1'; d[56]:='1s2,2s2,2p6,3s2,3p6,4s2,3d10,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.
program orbita2; (* scrivere configurazione elettronica ultimo livello *) (* con correzione e valutazione finale *) (* si devono inserire ogni volta i numeri atomici fino al 56 *)
const n=56; var a,z,esatte,errate,prove,caso:integer; d:array[1..n] of string; r:string;
procedure cancella; begin clearscreen; end;
procedure dati; begin d[1]:='1s1'; d[2]:='1s2'; d[3]:='2s1'; d[4]:='2s2'; d[5]:='2s2,2p1'; d[6]:='2s2,2p2'; d[7]:='2s2,2p3'; d[8]:='2s2,2p4'; d[9]:='2s2,2p5'; d[10]:='2s2,2p6'; d[11]:='3s1'; d[12]:='3s2'; d[13]:='3s2,3p1'; d[14]:='3s2,3p2'; d[15]:='3s2,3p3'; d[16]:='3s2,3p4'; d[17]:='3s2,3p5'; d[18]:='3s2,3p6'; d[19]:='4s1'; d[20]:='4s2'; d[21]:='4s2'; d[22]:='4s2'; d[23]:='4s2'; d[24]:='4s2'; d[25]:='4s2'; d[26]:='4s2'; d[27]:='4s2'; d[28]:='4s2'; d[29]:='4s2'; d[30]:='4s2';
d[31]:='4s2,4p1'; d[32]:='4s2,4p2'; d[33]:='4s2,4p3'; d[34]:='4s2,4p4'; d[35]:='4s2,4p5'; d[36]:='4s2,4p6'; d[37]:='5s1'; d[38]:='5s2'; d[39]:='5s2,'; d[40]:='5s2'; d[41]:='5s2'; d[42]:='5s2'; d[43]:='5s2'; d[44]:='5s2'; d[45]:='5s2'; d[46]:='5s2'; d[47]:='5s2'; d[48]:='5s2'; d[49]:='5s2,5p1'; d[50]:='5s2,5p2'; d[51]:='5s2,5p3'; d[52]:='5s2,5p4'; d[53]:='5s2,5p5'; d[54]:='5s2,5p6'; d[55]:='6s1'; d[56]:='6s2'; end;
procedure scelta; begin dati; esatte:=0;errate:=0; for a:=1 to prove do begin repeat write('scrivi numero atomico elemento =');readln(caso); until caso<57; writeln('--------------------------------------------------------'); writeln('scrivere configurazione elettronica ultimo livello'); writeln('osservando la sintassi indicata nello esempio che segue'); writeln('2s2,2p3'); writeln('separando ogni sottolivello con la virgola,eccetto ultimo'); writeln('---------------------------------------------------------'); 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.