esercizi di chimica con turbo pascal 1.1 su mac
Program fissio1; (* grafico per simulazione FISSIONE NUCLEARE *)
USES Memtypes,QuickDraw,OSIntf,ToolIntf;
VAR gPort: GrafPort; gra1,gra2,gra3,gra4,cancella,gomma,u,uf,ba,ne,kr:rect; a,y1,t,h,y,x:integer; sfondo,sfondo1,sfondo2,sfondo3:pattern;
procedure pausa; (* attesa che si prema enter *) begin moveto(10,10);drawstring('premi enter ');readln; end;
procedure grafica; (* attivazione comandi grafici *) BEGIN InitGraf(@thePort); initfonts; InitCursor; HideCursor; OpenPort(@gPort); textfont(9); textface([outline]); PenPat(white); BackPat(Black); EraseRect(gPort.portRect); FrameRect(gPort.portRect); end;
procedure sosta(h:integer); begin for t:=1 to h do write(''); end;
procedure testo(x,y:integer;frase:string); begin penpat(white); moveto(x,y);drawstring(frase); end;
procedure cancellatesto; begin setrect(cancella,10,10,500,70); penpat(black); paintrect(cancella); end;
procedure cancellagrafo; begin setrect(gomma,1,1,500,370); penpat(black); paintrect(gomma); end;
procedure testoschermo; begin testo(20,320,'contenitore reattore SCHERMATO'); testo(20,330,'riempito di MODERATORE ,grafite,acqua pesante'); end;
procedure schermo; begin setrect(gra1,50,100,450,300); paintrect(gra1); setrect(gra1,55,105,445,295); penpat(black);paintrect(gra1); end;
procedure testouranio; begin testo(20,30,'barre di COMBUSTIBILE FISSILE arricchito U328+U235 '); end;
procedure esempio; begin testo(20,20,'barre fissile con U238 e U235 e MODERATORE'); setrect(gra1,100,100,200,300); framerect(gra1); setrect(gra1,300,100,400,300); framerect(gra1); setrect(gra2,200,100,300,300);penpat(gray);paintrect(gra2); setrect(gra2,400,100,500,300);paintrect(gra2);penpat(white); setrect(u,120,120,140,140);paintoval(u); setrect(uf,180,120,200,140);penpat(gray);paintoval(uf); penpat(dkgray);setrect(ba,150,250,160,260);paintoval(ba); penpat(white);setrect(ne,150,200,155,205);paintoval(ne); sosta(20000); moveto(150,200);lineto(20,200);testo(20,220,'neutrone perduto'); sosta(20000); moveto(150,200);lineto(150,250);testo(50,300,'assorbito da inquinanti'); sosta(20000); moveto(150,200);lineto(120,120);testo(20,90,'assorbito da U238'); sosta(20000); moveto(150,200);lineto(180,120);testo(180,90,'assorbito da U235'); sosta(20000); moveto(150,200);lineto(500,200);testo(200,320,'moderato,utilizzabile'); moveto(200,200);pensize(5,5);lineto(350,200);moveto(400,200); lineto(500,200);sosta(20000);pensize(1,1); moveto(350,200);lineto(300,200);moveto(350,200);lineto(350,250); moveto(350,200);lineto(320,120);moveto(350,200);lineto(380,120); sosta(20000); end;
procedure fis(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6:integer); begin setrect(u,x1,y1,x2,y2);penpat(black);paintoval(u); setrect(ba,x3,y3,x4,y4);setrect(kr,x5,y5,x6,y6); penpat(gray);paintoval(ba);paintoval(kr); end;
procedure prosegue1;(* catena a reazione *) begin penpat(white); y:=50;x:=50; for a:=1 to 6 do begin for t:=1 to 3 do begin setrect(u,x,y,x+20,y+20);paintoval(u); x:=x+100; end; x:=50;y:=y+50; end; pausa; testo(20,30,'reazione a catena:U 235-->U236--->fissione+2 nuclidi '); fis(50,150,70,170,80,100,100,120,80,190,100,210); fis(50,250,70,270,80,220,100,240,80,290,100,310); sosta(h); fis(150,150,170,170,200,100,220,120,200,200,220,220); fis(150,250,170,270,200,220,220,240,200,270,220,290); sosta(h); fis(250,150,270,170,300,100,320,120,300,200,320,220); fis(250,250,270,270,300,220,320,240,300,320,320,340); sosta(h); pausa; end;
procedure uranio; var b,x:integer; begin stuffhex(@sfondo,'222222222222222222'); x:=70; penpat(white); for b:=1 to 5 do begin setrect(gra2,x,150,x+40,280); fillrect(gra2,sfondo); x:=x+80; end; end;
procedure testocadmio; begin testo(20,40,'barre REGOLATRICI della reazione:cadmio,boro'); end;
procedure cadmio; var b,x:integer; begin x:=130; penpat(gray); for b:=1 to 4 do begin setrect(gra2,x,70,x+5,280); paintrect(gra2); x:=x+80; end; end;
procedure cadmio1(y1:integer); var b,x:integer; begin x:=130; penpat(gray); for b:=1 to 4 do begin setrect(gra2,x,70,x+5,y1); paintrect(gra2); x:=x+80; end; end;
procedure testocadmio2; begin testo(20,50,'regolazione velocita con barre regolatrici semi sollevate '); end;
procedure reazioni; begin testo(20,20,'uranio 238 + neutrone veloce -----> uranio 239 instabile '); testo(20,30,'uranio 239 -----------------------> neptunio + elettrone '); testo(20,40,'neptunio 239 -----------------------> plutonio + elettrone '); testo(20,50,'-----------------------------------------------------------'); testo(20,60,'U 238 + n ----> U 239 ----> Np 239 + e ----> Pu 239 + e '); testo(20,70,'------------------------------------------------------------'); pausa; testo(20,90,'uranio 235 + neutrone lento ------> uranio 236 instabile '); testo(20,100,'uranio 236 ------fissione--------> due nuclei + 3 neutroni'); testo(20,110,'-----------------------------------------------------------'); pausa; testo(20,120,'plutonio 239 + neutrone lento -----> plutonio 240 instabile'); testo(20,130,'plutonio 240 ------fissione--------> due nuclei + 3 neutroni'); testo(20,140,'-------------------------------------------------------------'); pausa; testo(20,150,'nella fissione di uranio 236 o plutonio 240 si trova che '); testo(20,160,'la somma delle masse delle particelle prima della fissione'); testo(20,170,'e la somma delle masse delle particelle dopo la fissione'); testo(20,180,'non viene conservata:dopo la fissione diminuisce '); testo(20,190,'ma compare energia equivalente secondo la relazione '); testo(50,200,'Energia generata = massa scomparsa * quadrato velocita luce'); testo(150,220,'DE = DM * c^2 '); testo(20,240,'-----------------------------------------------------------'); end;
procedure refrigerante; begin testo(20,50,'circuito con fluido REFRIGERANTE ,acqua,sodio :radioattivo'); setrect(gra3,60,282,470,292); penpat(dkgray);paintrect(gra3); setrect(gra3,60,110,470,120);paintrect(gra3); setrect(gra3,60,110,65,292);paintrect(gra3); setrect(gra3,470,110,475,292);paintrect(gra3); end;
procedure scambiatore; begin testo(20,60,'circuito SCAMBIATORE CALORE,acqua :non radioattivo'); testo(20,70,'con generazione VAPORE per turbina e alternatore '); pensize(5,5); setrect(gra3,480,90,510,300); penpat(white);framerect(gra3); pensize(1,1); end;
procedure attiva; var b,x:integer; begin x:=130; testo(20,20,'sollevamento barre regolatrici:possibile reazione a catena'); penpat(black); for b:=1 to 4 do begin setrect(gra2,x,120,x+5,280); paintrect(gra2); x:=x+80; end; end;
procedure catena1; var c,x,y,d:integer; begin penpat(white); x:=1;y:=1; for d:=1 to 20 do begin for c:=1 to 65 do begin setrect(gra1,82+x,160+y,85+x,162+y); paintrect(gra1); x:=x+5;y:=y+0; end; y:=y+5; x:=0; end; end;
procedure catena3; var c,x,y,d:integer; begin penpat(white); x:=1;y:=1; for d:=1 to 10 do begin for c:=1 to 65 do begin setrect(gra1,82+x,220+y,85+x,222+y); paintrect(gra1); x:=x+5;y:=y+0; end; y:=y+5; x:=0; end; end;
procedure catena2; var c,x,y,d:integer; begin penpat(black); x:=1;y:=1; for d:=1 to 20 do begin for c:=1 to 65 do begin setrect(gra1,82+x,160+y,85+x,162+y); paintrect(gra1); x:=x+5;y:=y+0; end; y:=y+5; x:=0; end; end;
procedure blocco; begin schermo;uranio;cadmio1(280); end;
procedure barrau; begin testo(20,20,'barra di COMBUSTIBILE FISSILE contenente U238+U235'); testo(20,30,'ottenuta con ARRICCHIMENTO 3% U235 e RAFFINAZIONE '); testo(20,40,'Uranio 235 + neutrone lento ----> FISSIONE'); testo(20,50,'Uranio 238 + neutrone veloce ----> Neptunio ---> Plutonio '); setrect(gra1,100,100,200,300);paintrect(gra1); testo(230,110,'uranio 238 non fissile'); setrect(gra1,100,290,200,300);penpat(gray);paintrect(gra1); testo(230,290,'uranio 235 fissile'); end;
procedure barracd; begin testo(20,20,'barra di cadmio o boro REGOLATRICE :assorbe neutroni'); testo(20,30,'permette di regolare o bloccare reazione di fissione '); penpat(gray);setrect(gra1,100,100,200,300);paintrect(gra1); end;
procedure barram; begin testo(20,20,'MODERATORE :grafite,acqua:rallenta velocita dei neutroni'); testo(20,30,'favorendo la cattura da parte di Uranio 235 '); penpat(dkgray);setrect(gra1,100,100,200,300);paintrect(gra1); end;
procedure sodio; begin testo(20,20,'il liquido REFRIGERANTE,acqua,sodio fuso,'); testo(20,30,'circolante mediante pompa in circuito chiuso'); testo(20,40,'nel reattore,asporta il calore prodotto e lo cede'); testo(20,50,'ad un secondo circuito,isolato, contenente acqua'); testo(20,60,'che si trasforma in vapore che agisce su una turbina'); testo(20,70,'collegata ad un alternatore che produce energia elettrica'); pausa; setrect(gra1,50,100,150,200); pensize(10,10);penpat(gray);framerect(gra1); testo(50,220,'circuito refrigerante con pompa');pausa; setrect(gra1,160,100,210,200); pensize(10,10);penpat(white);framerect(gra1); testo(160,240,'circuito scambiatore calore con pompa'); moveto(150,150);lineto(160,150);pausa; testo(250,260,'turbina a vapore'); setrect(gra1,250,100,350,200); penpat(gray);paintoval(gra1);moveto(210,150);lineto(260,150);pausa; testo(360,280,'alternatore');moveto(350,150);lineto(360,150); setrect(gra1,360,100,460,200); penpat(gray);frameoval(gra1); end;
procedure arricchimento; var a,x:integer; begin x:=50; testo(20,50,'processo di ARRICCHIMENTO '); testo(20,60,'scopo:aumentare concentrazione di U 235 rispetto a U 238 '); testo(20,70,'attuabile mediante celle di diffusione che sfruttano la'); testo(20,80,'diversa velocita degli isotopi di uranio vaporizzati'); testo(20,90,'U 235 piu veloce di U 238 '); setrect(gra3,55,200,370,220);penpat(gray); paintrect(gra3); penpat(white); for a:=1 to 6 do begin setrect(gra2,x,100,x+30,300-5*a); setrect(gra1,x,100,x+30,300); framerect(gra1); paintrect(gra2); x:=x+60; end; testo(50,320,'Uranio naturale'); testo(50,330,'U 238 99.3 %...U 235 0.7 %'); testo(300,320,'Uranio dopo diffusione'); testo(300,330,'U 238 97 % ...U 235 3 % '); end;
procedure raffinazione; begin testo(20,50,'eliminazione di elementi che assorbono neutroni '); stuffhex(@sfondo,'123123123123123123'); stuffhex(@sfondo1,'111111111111111111'); setrect(gra1,100,100,200,300); fillrect(gra1,sfondo); setrect(gra2,300,100,400,300); fillrect(gra2,sfondo1); testo(50,320,'uranio inquinato'); testo(300,320,'uranio raffinato'); end;
procedure moderazione; var x,t:integer; begin testo(20,30,'rallentamento di neutroni emessi nella fissione'); testo(20,40,'mediante collisioni con sostanze come Grafite,Acqua'); testo(20,50,'che assorbono energia ai neutroni rallentandoli '); stuffhex(@sfondo1,'111111111111111111'); setrect(gra1,50,200,250,300); fillrect(gra1,sfondo1); setrect(gra1,300,200,500,300); fillrect(gra1,sfondo1); testo(50,320,'uranio raffinato'); testo(50,340,'neutroni veloci'); x:=50; for t:=1 to 20 do begin setrect(gra2,x,250,x+5,252); paintrect(gra2); for t:=1 to 2000 do write(''); x:=x+10; end; setrect(gra1,250,200,300,300); framerect(gra1); testo(250,320,'moderatore'); testo(250,340,'neutroni lenti'); x:=250; for t:=1 to 25 do begin setrect(gra2,x,250,x+8,255); paintrect(gra2); for t:=1 to 10000 do write(''); x:=x+10; end; end;
procedure recupero; begin testo(20,60,'durante il funzionamento della reazione di fissione'); testo(20,70,'la barre di combustibile fissile si inquinano con i prodotti'); testo(20,80,'della fissione,che devono assorbono neutroni '); testo(20,90,'si devono quindi periodicamente sostituire le barre fissili'); setrect(gra1,50,100,100,300); setrect(gra2,200,100,250,300); setrect(gra3,400,100,450,300); stuffhex(@sfondo1,'999999999999999999'); stuffhex(@sfondo2,'222222222222222222'); stuffhex(@sfondo3,'555555555555555555'); fillrect(gra1,sfondo1);fillrect(gra2,sfondo2);fillrect(gra3,sfondo3); testo(50,320,'uranio raffinato'); testo(200,330,'uranio parzialmente inquinato'); testo(300,340,'uranio inquinato,esaurito'); end;
procedure moto; var a,t:integer; begin testo(20,180,'neutrone veloce'); for a:=1 to 100 do begin moveto(50+a,125);lineto(52+a,125); for t:=1 to 1000 do write(''); end; end;
procedure moto1; var a,t:integer; begin testo(20,180,'neutrone lento'); for a:=1 to 100 do begin pensize(3,3); moveto(50+a,125);lineto(52+a,125); for t:=1 to 5000 do write(''); end; pensize(1,1); end;
procedure decade(p,q:integer); begin moveto(p,q);lineto(p+20,q-50); end;
procedure nuclei; begin testo(20,20,'uranio 238 colpito da neutrone veloce diventa plutonio'); setrect(gra1,150,100,200,150); frameoval(gra1); testo(150,170,'U 238'); moto;for t:=1 to 10000 do write(''); setrect(gra1,250,100,300,150); paintoval(gra1);testo(250,170,'U 239'); decade(275,125);testo(250,50,'decadimento beta- '); for t:=1 to 10000 do write(''); setrect(gra1,350,100,400,150);penpat(gray); paintoval(gra1);testo(350,170,'Np 239'); decade(375,125);testo(350,60,'decadimento beta- '); for t:=1 to 10000 do write(''); setrect(gra1,450,100,500,150);penpat(dkgray); paintoval(gra1);testo(450,170,'Pu 239'); end;
procedure nuclei2; begin testo(20,20,'uranio 238 colpito da neutrone veloce diventa plutonio'); setrect(gra1,150,100,200,150); frameoval(gra1); testo(150,170,'U 238'); moto;for t:=1 to 10000 do write(''); paintoval(gra1);testo(150,180,'U 239'); testo(175,50,'decadimento beta- ');for t:=1 to 10000 do write(''); setrect(gra1,150,100,200,150);penpat(gray); paintoval(gra1);testo(150,190,'Np 239'); testo(175,60,'decadimento beta- ');for t:=1 to 10000 do write(''); setrect(gra1,150,100,200,150);penpat(dkgray); paintoval(gra1);testo(150,200,'Pu 239'); end;
procedure fissione; begin testo(20,20,'uranio 235 colpito da neutrone lento diventa U 236 instabile'); testo(20,30,'esplode generando due nuclidi piu leggeri e 3 neutroni veloci'); setrect(gra1,150,100,200,150); frameoval(gra1); testo(150,170,'U 235'); moto1; paintoval(gra1);testo(150,180,'U 236'); testo(175,50,'fissione'); setrect(gra1,250,50,300,100);penpat(gray); paintoval(gra1);testo(330,75,'Ba '); setrect(gra1,250,200,300,250);penpat(dkgray); paintoval(gra1);testo(330,225,'Kr'); testo(330,175,'neutroni veloci '); testo(20,340,'i neutroni,se rallentati,possono colpire altri U 235 '); testo(20,350,'mantenendo innescata la reazione di fissione a catena'); end;
procedure teoria; begin grafica; testo(20,300,'la reazione di FISSIONE NUCLEARE praticamente interessa '); testo(20,310,'due soli nuclidi : Uranio 235 e Plutonio 239 '); reazioni;pausa;grafica;nuclei;pausa;grafica;nuclei2;pausa;grafica; fissione;pausa;grafica; testo(20,50,'Uranio 235 presente come 0.7 % nelle rocce '); testo(20,60,'Uranio 238 presente come 99.3 % nelle rocce '); testo(20,70,'--------------------------------------------------------'); pausa;grafica; testo(20,20,'necessario processo di ARRICCHIMENTO di U 235 almeno a 3 % '); testo(20,30,'attuabile con celle di diffusione o altri metodi '); testo(20,40,'-------------------------------------------------------'); arricchimento;pausa;grafica; testo(20,20,'necessario eliminare elementi che possono assorbire neutroni'); testo(20,30,'attuabile con processo di RAFFINAZIONE '); testo(20,40,'-------------------------------------------------------'); raffinazione;pausa;grafica; testo(20,140,'necessario ridurre la velocita dei neutroni per aumentare'); testo(20,150,'la probabilita che siano catturati da U 235 e non da U 238 '); testo(20,160,'attuabile con dei MODERATORI che rallentano i neutroni'); testo(20,170,'--------------------------------------------------------'); moderazione;pausa;grafica; testo(20,20,'necessario regolare la velocita della reazione a catena'); testo(20,30,'mediante REGOLATORI che assorbono facilmente i neutroni'); testo(20,40,'-------------------------------------------------------'); testo(20,50,'necessario asportare continuamente il calore generato '); testo(20,60,'mediante circuiti con fluidi REFRIGERANTI '); testo(20,70,'--------------------------------------------------------'); testo(20,80,'necessario SCAMBIATORE di calore che asporti il calore '); testo(20,90,'dal circuito refrigerante,generando vapore che aziona una'); testo(20,100,'turbina che attiva un alternatore per produrre energia '); testo(20,110,'elettrica da trasmettere con linee di alta tensione '); testo(20,120,'---------------------------------------------------------'); testo(20,130,'necessario sistema di SCHERMATURA,sicurezza del reattore '); testo(20,140,'necessario periodicamente SOSTITUIRE le barre di '); testo(20,150,'combustile che sono state inquinate dagli elementi prodotti'); testo(20,160,'durante la fissione,e che assorbono facilmente neutroni'); testo(20,170,'abbassando il rendimento della reazione di fissione'); testo(20,180,'----------------------------------------------------------'); pausa;grafica; testo(20,20,'possibile recuperare U 235 ancora presente o Plutonio '); testo(20,30,'necessario predisporre sistema di conservazione delle '); testo(20,40,'scorie radioattive,in luoghi stabili,sicuri,per secoli..'); testo(20,50,'----------------------------------------------------------'); recupero; pausa; end;
procedure teoria1; begin testo(20,20,'la reazione di FISSIONE NUCLEARE praticamente interessa '); testo(20,30,'due soli nuclidi : Uranio 235 e Plutonio 239 '); testo(20,40,'--------------------------------------------------------'); pausa; testo(20,50,'Uranio 235 presente come 0.7 % nelle rocce '); testo(20,60,'Uranio 238 presente come 99.3 % nelle rocce '); testo(20,70,'--------------------------------------------------------'); pausa; testo(20,80,'necessario processo di ARRICCHIMENTO di U 235 almeno a 3 % '); testo(20,90,'attuabile con celle di diffusione o altri metodi '); testo(20,100,'-------------------------------------------------------'); pausa; testo(20,110,'necessario eliminare elementi che possono assorbire neutroni'); testo(20,120,'attuabile con processo di RAFFINAZIONE '); testo(20,130,'-------------------------------------------------------'); pausa; testo(20,140,'necessario ridurre la velocita dei neutroni per aumentare'); testo(20,150,'la probabilita che siano catturati da U 235 e non da U 238 '); testo(20,160,'attuabile con dei MODERATORI che rallentano i neutroni'); testo(20,170,'--------------------------------------------------------'); pausa; testo(20,180,'necessario regolare la velocita della reazione a catena'); testo(20,190,'mediante REGOLATORI che assorbono facilmente i neutroni'); testo(20,200,'-------------------------------------------------------'); pausa; testo(20,210,'necessario asportare continuamente il calore generato '); testo(20,220,'mediante circuiti con fluidi REFRIGERANTI '); testo(20,230,'--------------------------------------------------------'); pausa; testo(20,240,'necessario SCAMBIATORE di calore che asporti il calore '); testo(20,250,'dal circuito refrigerante,generando vapore che aziona una'); testo(20,260,'turbina che attiva un alternatore per produrre energia '); testo(20,270,'elettrica da trasmettere con linee di alta tensione '); testo(20,280,'---------------------------------------------------------'); pausa; testo(20,290,'necessario sistema di SCHERMATURA,sicurezza del reattore '); testo(20,300,'necessario periodicamente SOSTITUIRE le barre di '); testo(20,310,'combustile che sono state inquinate dagli elementi prodotti'); testo(20,320,'durante la fissione,e che assorbono facilmente neutroni'); testo(20,330,'abbassando il rendimento della reazione di fissione'); testo(20,340,'----------------------------------------------------------'); pausa; testo(20,350,'possibile recuperare U 235 ancora presente o Plutonio '); testo(20,360,'necessario predisporre sistema di conservazione delle scorie'); testo(20,370,'scorie radioattive,in luoghi stabili,sicuri,per secoli..'); testo(20,380,'----------------------------------------------------------'); pausa; end;
procedure descrive; begin testo(20,20,'funzionamento di un reattore nucleare:descrizione '); testo(20,30,'1-REPERIMENTO di giacimenti di uranio'); testo(20,40,'..uranio naturale prevalentemente (99 %) isotopo U 238 '); testo(20,50,'..uranio fissile U 235 ( 0.7 %) ');pausa; testo(20,70,'2-ARRICCHIMENTO,mediante processi di diffusione o altri'); testo(20,80,'..di U 235 rispetto a U 238 ,almeno fino al 3 % di U 235 '); pausa; testo(20,100,'3-RAFFINAZIONE del materiale arricchito per eliminare'); testo(20,110,'..elementi che potrebbero assorbire neutroni nelle reazioni'); testo(20,120,'..riducendo il rendimento della reazione a catena ');pausa; testo(20,140,'4-MODERAZIONE della velocita dei neutroni derivati dalla'); testo(20,150,'..fissione,per favorire la loro cattura da parte degli '); testo(20,160,'..isotopi U 235 fissili piu che da isotopi U 238 ');pausa; testo(20,180,'5-REGOLAZIONE della velocita della reazione a catena '); testo(20,190,'..mediante barre di elementi capaci di assorbire neutroni'); testo(20,200,'..inseribile nel reattore in modo parziale o completo');pausa; testo(20,220,'6-CIRCUITO con REGRIGERANTE per asportare il calore prodotto'); testo(20,230,'..e cederlo a un circuito scambiatore di calore,nel quale'); testo(20,240,'..la acqua diventa vapore che agisce su una turbina'); testo(20,250,'..che aziona un alternatore che produce energia elettrica'); pausa; testo(20,270,'7.SCHERMO di protezione e sistemi di sicurezza '); pausa; end;
procedure destino; begin testo(20,20,'durante la fissione vengono liberati neutroni veloci'); testo(20,30,'possibile loro sorte:'); testo(20,40,'1-assorbiti da materiale inquinante: PERDUTI per reazione'); testo(20,50,'2-assorbiti da U 238 che diventa Pu 239:PERDUTI per reazione'); testo(20,60,'------------------------------------------------------------'); testo(20,70,'3-assorbiti da U 235 con fissione: UTILI per reazione'); testo(20,80,'4-assorbiti da Pu 239 con fissione UTILI per reazione'); testo(20,90,'------------------------------------------------------------'); testo(20,100,'5-rallentati da moderatore UTILI per reazione'); testo(20,120,'notare che un neutrone puo rimanere nella barra ove viene'); testo(20,130,'liberato:essendo veloce,puo subire le sorti 1,2,3,4 '); testo(20,140,'oppure puo uscire dalla barra ed entrare nel moderatore '); testo(20,150,'ove viene rallentato prima di rientrare in una barra fissile'); testo(20,160,'e potra piu facilmente provocare la reazione di fissione'); testo(20,170,'che utilizza con maggior rendimento neutroni lenti '); pausa;cancellagrafo;esempio; pausa; end;
procedure pro1; begin descrive;pausa; end;
procedure pro2; begin grafica;teoria1;pausa; end;
procedure pro3; begin grafica;teoria;pausa; end;
procedure pro4; begin barrau;pausa;grafica;barracd;pausa;grafica;barram;pausa; grafica;sodio;pausa; end;
procedure pro5; begin grafica; schermo;testoschermo;pausa;uranio;testouranio;pausa; cadmio;testocadmio;pausa;refrigerante;pausa; scambiatore;pausa; end;
procedure pro6; begin grafica; blocco;pausa;attiva;catena1;pausa;attiva;cancellatesto;cadmio1(280); catena2;testo(20,20,'inserimento barre REGOLATRICI:blocco reazioni'); blocco;pausa;cancellatesto;attiva;cadmio1(210); testocadmio2;catena3;pausa; end;
procedure pro7; begin destino; end;
procedure pro8; begin h:=10;prosegue1;cancellagrafo; h:=1000;prosegue1;cancellagrafo;h:=10000;prosegue1;cancellagrafo; h:=20000;prosegue1;cancellagrafo;h:=30000;prosegue1;cancellagrafo; end;
procedure fine; (* conferma uscita operazione *) begin writeln('fine operazione:confermare :premi enter'); readln; end;
procedure scelta; (* procedura con scelta opzioni e uscita *) var s,sn:string;opzione:integer; begin clearscreen; writeln('seleziona opzione :REATTORE NUCLEARE'); writeln('1...descrizione reattore e reazioni di fissione '); writeln('2...continua descrizione reattore e componenti '); writeln('3...continua descrizione reattore e componenti'); writeln('4...schema componenti reattore'); writeln('5...struttura di un reattore '); writeln('6...funzionamento di un reattore'); writeln('7...destino di un neutrone derivato dalla fissione'); writeln('8...reazione a catena con diverse velocita '); writeln('9...fine '); writeln('scelta =');readln(opzione); grafica; case opzione of 1:pro1; 2:pro2; 3:pro3; 4:pro4; 5:pro5; 6:pro6; 7:pro7; 8:pro8; 9:fine; end; EraseRect(gPort.portRect); writeln('altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn); if sn='S' then scelta ; end;
begin (* programma di lancio *) clearscreen; scelta; end.