esercitazioni su argomenti di
chimica a livello didattico, liceale
con turbo pascal v.5-7
interazione su formule e nomenclaturacomposti chimici
Program nomi1; (* nomenclatura composti chimici *)
Program nomi2;
(* nomenclatura composti chimici CON VALUTAZIONE *)
(* con presentazione finale risposte inserite *
Program nomi3;
(* nomenclatura composti chimici CON VALUTAZIONE *)
(* con presentazione finale risposte inserite *)
(* ACIDI E ANIDRIDI *)
Program nomi4;
(* nomenclatura composti chimici CON VALUTAZIONE *)
(* con presentazione finale risposte inserite *)
Program nomi5;
(* nomenclatura composti chimici CON VALUTAZIONE *)
(* con presentazione finale risposte inserite
Program nomi6;
(* nomenclatura composti chimici CON VALUTAZIONE *)
(* con presentazione finale risposte inserite *)
uses crt;
Program OSSIDO;
(* nomenclatura composti chimici OSSIDI CON VALUTAZIONE *)
(* con presentazione finale risposte inserite *)
uses crt;
Program nomi1; (* nomenclatura composti chimici *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica3; begin if ris=ry[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',ry[a]);errate:=errate+1;end; end; procedure verifica6; begin if ris=dx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',dx[a]);errate:=errate+1;end; end; procedure verifica7; begin if ris=rs[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rs[a]);errate:=errate+1;end; end; procedure acidi; begin writeln('scrivi i nomi dei composti:es.ACIDO CLOROSO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(ris); verifica2; end; end; procedure nomeradicale; begin writeln('scrivi nome radicale:es.SOLFATO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(ris); verifica7; end; end; procedure formula; begin writeln('scrivi formula:es.HBrO3 ..HClO2.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(ris); verifica6; end; end; procedure radicale; begin writeln('scrivi nome radicale:es.SOLFATO.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(ris); verifica7; end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI,RADICALI ACIDI '); pausa; end; procedure pro2; begin acidi; end; procedure anidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(rx[a],' ');readln(ris); verifica3; end; end; procedure pro3; begin anidridi; end; procedure nomianidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(dx[a],' ');readln(ris); verifica3; end; end; procedure pro4; begin nomianidridi; end; procedure nomiacidi; begin dati; writeln('scrivi i nomi degli ACIDI derivati da anidridi proposte'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(ry[a],' ');readln(ris); verifica2; end; end; procedure nomeradice; begin dati; writeln('scrivi i nomi degli ACIDI generanti radicali proposti'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to k do begin write(rs[a],' ');readln(ris); verifica2; end; end; procedure pro5; begin nomiacidi; end; procedure pro6; begin formula; end; procedure pro7; begin radicale; end; procedure pro8; begin nomeradicale; end; procedure pro9; begin nomeradice; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...XY.. .............scrivi il nome del composto'); writeln('3...ACIDO ............scrivi nome anidride che lo genera'); writeln('4...HXO...............scrivi nome anidride che lo genera '); writeln('5...ANIDRIDE .........scrivi nome acido generato'); writeln('6...ACIDO.............scrivi la formula'); writeln('7...XY................scrivi nome del radicale'); writeln('8...ACIDO.............scrivi nome del radicale'); writeln('9...RADICALE..........scrivi nome dello acido '); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7;8:pro8;9:pro9; 9:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per valutazione '); pausa; end.
Program nomi2; (* nomenclatura composti chimici CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; adx:array[1..k] of string; arx:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica3; begin if ris=ry[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',ry[a]);errate:=errate+1;end; end; procedure verifica6; begin if ris=dx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',dx[a]);errate:=errate+1;end; end; procedure verifica7; begin if ris=rs[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rs[a]);errate:=errate+1;end; end; procedure acidi; begin writeln('scrivi i nomi dei composti:es.ACIDO CLOROSO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(adx[a]);ris:=adx[a]; verifica2; end; end; procedure nomeradicale; begin writeln('scrivi nome radicale:es.SOLFATO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(ris); verifica7; end; end; procedure formula; begin writeln('scrivi formula:es.HBrO3 ..HClO2.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(ris); verifica6; end; end; procedure radicale; begin writeln('scrivi nome radicale:es.SOLFATO.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(ris); verifica7; end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI,RADICALI ACIDI '); pausa; end; procedure pro2; begin acidi; end; procedure anidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(rx[a],' ');readln(arx[a]);ris:=arx[a]; verifica3; end; end; procedure pro3; begin anidridi; end; procedure nomianidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(dx[a],' ');readln(ris); verifica3; end; end; procedure pro4; begin nomianidridi; end; procedure nomiacidi; begin dati; writeln('scrivi i nomi degli ACIDI derivati da anidridi proposte'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(ry[a],' ');readln(ris); verifica2; end; end; procedure nomeradice; begin dati; writeln('scrivi i nomi degli ACIDI generanti radicali proposti'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to k do begin write(rs[a],' ');readln(ris); verifica2; end; end; procedure pro5; begin nomiacidi; end; procedure pro6; begin formula; end; procedure pro7; begin radicale; end; procedure pro8; begin nomeradicale; end; procedure pro9; begin nomeradice; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...XY.. .............scrivi il nome del composto'); writeln('3...ACIDO ............scrivi nome anidride che lo genera'); writeln('4...HXO...............scrivi nome anidride che lo genera '); writeln('5...ANIDRIDE .........scrivi nome acido generato'); writeln('6...ACIDO.............scrivi la formula'); writeln('7...XY................scrivi nome del radicale'); writeln('8...ACIDO.............scrivi nome del radicale'); writeln('9...RADICALE..........scrivi nome dello acido '); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7;8:pro8;9:pro9; 9:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; procedure rivedi2; begin dati;cancella; for a:=1 to k do writeln(dx[a]:20,rx[a]:20,adx[a]:20); end; procedure rivedi3; begin dati;cancella; for a:=1 to 15 do writeln(rx[a]:20,ry[a]:20,arx[a]:20); end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per valutazione '); pausa; rivedi2;pausa;rivedi3;pausa; pausa; end.
Program nomi3; (* nomenclatura composti chimici CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) (* ACIDI E ANIDRIDI *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; adx:array[1..k] of string; arx:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica3; begin if ris=ry[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',ry[a]);errate:=errate+1;end; end; procedure acidi; begin writeln('scrivi i nomi dei composti:es.ACIDO CLOROSO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(adx[a]);ris:=adx[a]; verifica2; end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI '); pausa; end; procedure pro2; begin acidi; end; procedure anidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(rx[a],' ');readln(arx[a]);ris:=arx[a]; verifica3; end; end; procedure pro3; begin anidridi; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...XY.. .............scrivi il nome del composto'); writeln('3...ACIDO ............scrivi nome anidride che lo genera'); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3; 9:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; procedure rivedi2; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to k do writeln(dx[a]:20,rx[a]:20,adx[a]:20); end; procedure rivedi3; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to 15 do writeln(rx[a]:20,ry[a]:20,arx[a]:20); end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('premi ENTER per rivedere le tue risposte ');pausa; rivedi2;pausa;rivedi3;pausa;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per la valutazione');pausa; esatte:=0;errate:=0;totale:=0; end.
Program nomi4; (* nomenclatura composti chimici CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; adx:array[1..k] of string; arx:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica3; begin if ris=ry[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',ry[a]);errate:=errate+1;end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI,RADICALI ACIDI '); pausa; end; procedure nomianidridi; begin dati; writeln('scrivi i nomi delle ANIDRIDI che generano gli acidi proposti'); writeln('es.ANIDRIDE CARBONICA...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(dx[a],' ');readln(adx[a]);ris:=adx[a]; verifica3; end; end; procedure pro2; begin nomianidridi; end; procedure nomiacidi; begin dati; writeln('scrivi i nomi degli ACIDI derivati da anidridi proposte'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to 15 do begin write(ry[a],' ');readln(arx[a]);ris:=arx[a]; verifica2; end; end; procedure pro3; begin nomiacidi; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...HXO...............scrivi nome anidride che lo genera '); writeln('3...ANIDRIDE .........scrivi nome acido generato'); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3; 9:fine; end; writeln('altra PROVA ?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; procedure rivedi2; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to 15 do writeln(dx[a]:20,ry[a]:20,adx[a]:20); end; procedure rivedi3; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to 15 do writeln(ry[a]:20,rx[a]:20,arx[a]:20); end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('premi ENTER per rivedere le tue risposte'); pausa; rivedi2;pausa;rivedi3;pausa; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per valutazione '); esatte:=0;errate:=0;totale:=0; pausa; end.
Program nomi5; (* nomenclatura composti chimici CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; adx:array[1..k] of string; arx:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica3; begin if ris=ry[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',ry[a]);errate:=errate+1;end; end; procedure verifica6; begin if ris=dx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',dx[a]);errate:=errate+1;end; end; procedure verifica7; begin if ris=rs[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rs[a]);errate:=errate+1;end; end; procedure formula; begin writeln('scrivi formula:es.HBrO3 ..HClO2.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(adx[a]);ris:=adx[a]; verifica6; end; end; procedure radicale; begin writeln('scrivi nome radicale:es.SOLFATO.. oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(dx[a],' ');readln(arx[a]);ris:=arx[a]; verifica7; end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI,RADICALI ACIDI '); pausa; end; procedure pro2; begin formula; end; procedure pro3; begin radicale; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...ACIDO.............scrivi la formula'); writeln('3...XY................scrivi nome del radicale'); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3; 9:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; procedure rivedi2; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to k do writeln(rx[a]:20,dx[a]:20,adx[a]:20); end; procedure rivedi3; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to k do writeln(dx[a]:20,rs[a]:20,arx[a]:20); end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('premi ENTER per rivedere le tue risposte');pausa; rivedi2;pausa;rivedi3;pausa;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per valutazione');pausa;pausa; end.
Program nomi6; (* nomenclatura composti chimici CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) uses crt; const k=20; var esatte,errate,totale,a:integer; ris,rix:string; dx:array[1..k] of string; rx:array[1..k] of string; ry:array[1..k] of string; rs:array[1..k] of string; adx:array[1..k] of string; arx:array[1..k] of string; procedure dati; begin dx[1]:='H2SO4';rx[1]:='ACIDO SOLFORICO';ry[1]:='ANIDRIDE SOLFORICA'; rs[1]:='SOLFATO'; dx[2]:='HNO3';rx[2]:='ACIDO NITRICO';ry[2]:='ANIDRIDE NITRICA'; rs[2]:='NITRATO'; dx[3]:='H2SO3';rx[3]:='ACIDO SOLFOROSO';ry[3]:='ANIDRIDE SOLFOROSA'; rs[3]:='SOLFITO'; dx[4]:='HNO2';rx[4]:='ACIDO NITROSO';ry[4]:='ANIDRIDE NITROSA'; rs[4]:='NITRITO'; dx[5]:='H2CO3';rx[5]:='ACIDO CARBONICO';ry[5]:='ANIDRIDE CARBONICA'; rs[5]:='CARBONATO'; dx[6]:='HClO';rx[6]:='ACIDO IPOCLOROSO';ry[6]:='ANIDRIDE IPOCLOROSA'; rs[6]:='IPOCLORITO'; dx[7]:='HClO3';rx[7]:='ACIDO CLORICO';ry[7]:='ANIDRIDE CLORICA'; rs[7]:='CLORATO'; dx[8]:='HClO7';rx[8]:='ACIDO PERCLORICO';ry[8]:='ANIDRIDE PERCLORICA'; rs[8]:='PERCLORATO'; dx[9]:='HClO2';rx[9]:='ACIDO CLOROSO';ry[9]:='ANIDRIDE CLOROSA'; rs[9]:='CLORITO'; dx[10]:='H3PO4';rx[10]:='ACIDO FOSFORICO';ry[10]:='ANIDRIDE FOSFORICA'; rs[10]:='FOSFATO'; dx[11]:='HBrO';rx[11]:='ACIDO IPOBROMOSO';ry[11]:='ANIDRIDE IPOBROMOSA'; rs[11]:='IPOBROMITO'; dx[12]:='HIO3';rx[12]:='ACIDO IODICO';ry[12]:='ANIDRIDE IODICA'; rs[12]:='IODATO'; dx[13]:='HBr02';rx[13]:='ACIDO BROMOSO';ry[13]:='ANIDRIDE BROMOSA'; rs[13]:='BROMITO'; dx[14]:='HIO4';rx[14]:='ACIDO PERIODICO';ry[14]:='ANIDRIDE PERIODICA'; rs[14]:='PERIODATO'; dx[15]:='HBrO4';rx[15]:='ACIDO PERBROMICO';ry[15]:='ANIDRIDE PERBROMICA'; rs[15]:='PERBROMATO'; dx[16]:='HCl';rx[16]:='ACIDO CLORIDRICO';rs[16]:='CLORURO'; dx[17]:='HF';rx[17]:='ACIDO FLUORIDRICO';rs[17]:='FLUORURO'; dx[18]:='HI';rx[18]:='ACIDO IODIDRICO';rs[18]:='IODURO'; dx[19]:='H2S';rx[19]:='ACIDO SOLFIDRICO';rs[19]:='SOLFURO'; dx[20]:='HBr';rx[20]:='ACIDO BROMIDRICO';rs[20]:='BROMURO'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica2; begin if ris=rx[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rx[a]);errate:=errate+1;end; end; procedure verifica7; begin if ris=rs[a] then begin writeln(' esatto ');esatte:=esatte+1;end else begin writeln(' errato:era ',rs[a]);errate:=errate+1;end; end; procedure nomeradicale; begin writeln('scrivi nome radicale:es.SOLFATO oppure premi ENTER'); writeln; dati; for a:=1 to k do begin write(rx[a],' ');readln(adx[a]);ris:=adx[a]; verifica7; end; end; procedure pro1; begin writeln('scopo del programma e verificare la conoscenza della nomenclatura'); writeln('dei composti chimici:ACIDI,ANIDRIDI,RADICALI ACIDI '); pausa; end; procedure nomeradice; begin dati; writeln('scrivi i nomi degli ACIDI generanti radicali proposti'); writeln('es.ACIDO CARBONICO...oppure premi ENTER ');writeln; dati; for a:=1 to k do begin write(rs[a],' ');readln(arx[a]);ris:=arx[a]; verifica2; end; end; procedure pro2; begin nomeradicale; end; procedure pro3; begin nomeradice; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...istruzioni e spiegazione programma '); writeln('2...ACIDO.............scrivi nome del radicale'); writeln('3...RADICALE..........scrivi nome dello acido '); writeln('9...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3; 9:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; procedure rivedi2; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to k do writeln(rx[a]:20,rs[a]:20,adx[a]:20); end; procedure rivedi3; begin dati;cancella; writeln('domanda':20,'risposta esatta':20,'risposta fornita':20);writeln; for a:=1 to 20 do writeln(rs[a]:20,rx[a]:20,arx[a]:20); end; begin (* programma di lancio *) cancella; esatte:=0;errate:=0;totale:=0; scelta;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('premi ENTER per rivedere le tue risposte');pausa; rivedi2;pausa;rivedi3;pausa;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('chiama insegnante per valutazione ');pausa; pausa; end.
Program OSSIDO; (* nomenclatura composti chimici OSSIDI CON VALUTAZIONE *) (* con presentazione finale risposte inserite *) uses crt; const k1=10;k2=24;k3=15;k4=3; var esatte,errate,totale,a:integer; ris,rip,h1,h2,h3,h4,q,a1:string; d1:array[1..k1] of string; d2:array[1..k2] of string; d3:array[1..k3] of string; d4:array[1..k4] of string; n1:array[1..k1] of string; n2:array[1..k2] of string; n3:array[1..k3] of string; n4:array[1..k4] of string; procedure dati1; begin d1[1]:='Li';d1[2]:='Na';d1[3]:='K';d1[4]:='Rb';d1[5]:='Cs';d1[6]:='Fr'; d1[7]:='Cu';d1[8]:='Ag';d1[9]:='Au';d1[10]:='Hg'; n1[1]:='LITIO1';n1[2]:='SODIO1';n1[3]:='POTASSIO1';n1[4]:='RUBIDIO1'; n1[5]:='CESIO1';n1[6]:='FRANCIO1';n1[7]:='RAME1';n1[8]:='ARGENTO1'; n1[9]:='ORO1';n1[10]:='MERCURIO1'; end; procedure dati2; begin d2[1]:='Be';d2[2]:='Mg';d2[3]:='Ca';d2[4]:='Sr';d2[5]:='Ba';d2[6]:='Ra'; d2[7]:='Cr';d2[8]:='Fe';d2[9]:='W';d2[10]:='Mo';d2[11]:='Mn';d2[12]:='Re'; d2[13]:='Ru';d2[14]:='Os';d2[15]:='Co';d2[16]:='Rh';d2[17]:='Ir'; d2[18]:='Ni';d2[19]:='Pd';d2[20]:='Pt';d2[21]:='Cu';d2[22]:='Zn'; d2[23]:='Cd';d2[24]:='Hg';n2[1]:='BERILLIO2';n2[2]:='MAGNESIO2'; n2[3]:='CALCIO2';n2[4]:='STRONZIO2';n2[5]:='BARIO2';n2[6]:='RADIO2'; n2[7]:='CROMO2';n2[8]:='FERRO2';n2[9]:='WOLFRAMIO2';n2[10]:='MOLIBDENO2'; n2[11]:='MANGANESE2';n2[12]:='RENIO2';n2[13]:='RUTENIO2';n2[14]:='OSMIO2'; n2[15]:='COBALTO2';n2[16]:='RODIO2';n2[17]:='IRIDIO2'; n2[18]:='NICHELIO2';n2[19]:='PALLADIO2';n2[20]:='PLATINO2'; n2[21]:='RAME2';n2[22]:='ZINCO2';n2[23]:='CADMIO2';n2[24]:='MERCURIO2'; end; procedure dati3; begin d3[1]:='Cr';d3[2]:='Mn';d3[3]:='Mo';d3[4]:='W';d3[5]:='Fe'; d3[6]:='Ru';d3[7]:='Os';d3[8]:='Co';d3[9]:='Rh';d3[10]:='Ir'; d3[11]:='Ni';d3[12]:='Au';d3[13]:='Al';d3[14]:='Sb';d3[15]:='Bi'; n3[1]:='CROMO3';n3[2]:='MANGANESE3';n3[3]:='MOLIBDENO3';n3[4]:='WOLFRAMIO3'; n3[5]:='FERRO3';n3[6]:='RUTENIO3';n3[7]:='OSMIO3';n3[8]:='COBALTO3'; n3[9]:='RODIO3';n3[10]:='IRIDIO3';n3[11]:='NICHELIO3';n3[12]:='ORO3'; n3[13]:='ALLUMINIO3';n3[14]:='ANTIMONIO3';n3[15]:='BISMUTO3'; end; procedure dati4; begin d4[1]:='Ge';d4[2]:='Sn';d4[3]:='Pb'; n4[1]:='GERMANIO4';n4[2]:='STAGNO4';n4[3]:='PIOMBO4'; end; procedure pausa; begin writeln('premi enter');readln; end; procedure cancella; begin clrscr; end; procedure fine; begin writeln('fine operazione:confermare :premi enter'); readln; end; procedure verifica(ris,rip:string); begin if ris=rip then begin writeln('esatto');esatte:=esatte+1;end else begin writeln('errato:era:',rip);errate:=errate+1;end; writeln('-----------------------------------------------------'); end; procedure base1; begin dati1;writeln('scrivi nome es. COMPOSTO DI NOME2 '); for a:=1 to k1 do begin write(d1[a],'2',h1,q);readln(ris);rip:=concat(a1,n1[a]);verifica(ris,rip); end; end; procedure base1a; begin dati1;writeln('scrivi formula es. MeOH ...Me(OH)5 '); for a:=1 to k1 do begin write(a1,n1[a],q);readln(ris);rip:=concat(d1[a],'2',h1);verifica(ris,rip); end; end; procedure base2; begin dati2;writeln('scrivi nome es. COMPOSTO DI NOME2 '); for a:=1 to k2 do begin write(d2[a],h2,q);readln(ris);rip:=concat(a1,n2[a]);verifica(ris,rip); end; end; procedure base2a; begin dati2;writeln('scrivi formula es. MeOH ...Me(OH)5 '); for a:=1 to k2 do begin write(a1,n2[a],q);readln(ris);rip:=concat(d2[a],h2);verifica(ris,rip); end; end; procedure base3; begin dati3;writeln('scrivi nome es. COMPOSTO DI NOME2 '); for a:=1 to k3 do begin write(d3[a],'2',h3,q);readln(ris);rip:=concat(a1,n3[a]);verifica(ris,rip); end; end; procedure base3a; begin dati3;writeln('scrivi formula es. MeOH ...Me(OH)5 '); for a:=1 to k3 do begin write(a1,n3[a],q);readln(ris);rip:=concat(d3[a],'2',h3);verifica(ris,rip); end; end; procedure base4; begin dati4;writeln('scrivi nome es. COMPOSTO DI NOME2 '); for a:=1 to k4 do begin write(d4[a],h4,q);readln(ris);rip:=concat(a1,n4[a]);verifica(ris,rip); end; end; procedure base4a; begin dati4;writeln('scrivi formula es. MeOH ...Me(OH)5 '); for a:=1 to k4 do begin write(a1,n4[a],q);readln(ris);rip:=concat(d4[a],h4);verifica(ris,rip); end; end; procedure pro1; begin base1;pausa; end; procedure pro2; begin base2;pausa; end; procedure pro3; begin base3;pausa; end; procedure pro4; begin base4;pausa; end; procedure pro5; (* inverso di base1 *) begin base1a;pausa; end; procedure pro6; (* inverso di base2 *) begin base2a;pausa; end; procedure pro7; (* inverso di base3 *) begin base3a;pausa; end; procedure pro8; (* inverso di base4 *) begin base4a;pausa; end; procedure pro9; begin base4a;pausa;cancella;base1;pausa;cancella;base3a;pausa;cancella; base2;pausa;cancella;base1a;pausa;cancella; base3;pausa;cancella;base2a;pausa;cancella;base4;pausa;cancella; end; procedure scelta; var s,sn:string;opzione:integer; begin cancella;; writeln('seleziona opzione per NOMENCLATURA CHIMICA '); writeln('1...data la formula,scrivi il nome '); writeln('2...data la formula,scrivi il nome'); writeln('3...data la formula,scrivi il nome '); writeln('4...data la formula,scrivi il nome'); writeln('5...dato il nome scrivi la formula'); writeln('6...dato il nome scrivi la formula'); writeln('7...dato il nome scrivi la formula'); writeln('8...dato il nome scrivi la formula'); writeln('9...riassume precedenti1,2,3,4,5,6,7,8'); writeln('15...fine '); writeln('scelta =');readln(opzione);cancella; case opzione of 1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7;8:pro8;9:pro9; 15:fine; end; writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if ((sn='S') or (sn='s')) then scelta ; end; begin (* programma di lancio *) cancella; writeln('ATTENZIONE:scrivere le risposte in maiuscolo'); writeln('senza spaziatura prima e dopo la risposta '); writeln('indicare la valenza '); writeln('es. OSSIDO DI SODIO1 Al203 ');pausa;cancella; h1:='O';h2:='O';h3:='O3';h4:='O2';q:=' '; a1:='OSSIDO DI '; esatte:=0;errate:=0;totale:=0; scelta;cancella; writeln('risposte esatte ',esatte,' su domande ',totale); writeln('risposte errate ',errate,' su domande ',totale); writeln('premi ENTER per rivedere le tue risposte');pausa; writeln('chiama insegnante per valutazione ');pausa; pausa; end.