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.