listati turbo pascal per programmi di chimica-fisica

evaporazione
evapo, vap1, vapore1.pro


Program evapo;
(* leggi della EVAPORAZIONE *)

uses crt,graph;
const fondo:array[0..1] of fillpatterntype=((15,20,15,20,15,20,15,20),
      (22,33,22,33,22,33,22,33));

   VAR
      a,t1,t2:integer;
      sx:string;

procedure grafica;
var sc,tp:integer;
    stringa:string;
begin
sc:=0;
tp:=0;
stringa:='c:\tp\bgi';
initgraph(sc,tp,stringa);
rectangle(1,1,639,460);
setbkcolor(0);setcolor(white);
end;

procedure cancella;
begin
cleardevice;
end;

procedure pausa; (* attesa che si prema enter *)
var ch:char;
begin
outtextxy(400,20,'premi ENTER');
ch:=readkey;
end;


procedure testo(x,y:integer;frase:string);
begin
outtextxy(x,y,frase);
end;

procedure diagramma;
begin
moveto(50,200);lineto(50,340);lineto(400,340);
moveto(50,190);outtext('vapore generato a parita di condizioni');
moveto(50,360);outtext('temperatura,superficie,aerazione');
moveto(50,340);lineto(400,200);outtext('sostanza B');
moveto(50,340);lineto(400,250);outtext('sostanza A');
moveto(300,340);lineto(300,200);
moveto(70,210);outtext('V = f(T,S,A,X) ');
end;

procedure moto1(durata:integer);
var x1,x2,y1,y2:integer;
begin
x1:=100;x2:=300;y1:=100;y2:=100;
moveto(x1,320);outtext('liquido in A');
moveto(x2,320);outtext('liquido in B');
setfillpattern(fondo[0],7);
bar(x1-5,y1,x1+95,y1+200);
bar(x2-5,y1,x2+95,y1+200);
setcolor(black);
for a:=1 to durata do
begin
setlinestyle(0,0,1);
moveto(x1,y1-2);lineto(x1+90,y1-2);
setlinestyle(0,0,3);
moveto(x2,y2-2);lineto(x2+90,y2-2);delay(t1);
y1:=y1+1;y2:=y2+2;
end;
setcolor(white);
end;

procedure moto1a(durata:integer);
var x1,x2,y1,y2:integer;
begin
x1:=100;x2:=300;y1:=100;y2:=100;setfillpattern(fondo[0],7);
bar(x1-5,y1,x1+95,y1+200);setfillpattern(fondo[1],6);
bar(x2-5,y1,x2+95,y1+200);
moveto(x1,320);outtext('liquido in A');
moveto(x2,320);outtext('liquido in B');
setcolor(0);
for a:=1 to durata do
begin
setlinestyle(0,0,1);
moveto(x1,y1-2);lineto(x1+90,y1-2);
setlinestyle(0,0,3);
moveto(x2,y2-2);lineto(x2+90,y2-2);delay(t1);
y1:=y1+1;y2:=y2+2;
end;
setcolor(7);
end;

procedure moto2(durata:integer);
var x1,x2,y1,y2:integer;
begin
x1:=100;x2:=250;y1:=100;y2:=100;
setfillpattern(fondo[0],7);
bar(x1-5,y1,x1+95,y1+200);
bar(x2-5,y1,x2+200,y2+200);
moveto(x1,320);outtext('liquido in A');
moveto(x2,320);outtext('liquido in B');
setcolor(0);
for a:=1 to durata do
begin
setlinestyle(0,0,1);
moveto(x1,y1-2);lineto(x1+90,y1-2);
setlinestyle(0,0,1);
moveto(x2,y2-2);lineto(x2+190,y2-2);delay(t1);
y1:=y1+1;y2:=y2+1;
end;
setcolor(7);
end;

procedure pro1;
begin
testo(20,30,'LIQUIDO in A = LIQUIDO in B');
testo(20,50,'TEMPERATURA A < TEMPERATURA B ');
moto1(70);
testo(20,70,'V.EVAPORAZIONE A < V.EVAPORAZIONE B ');
testo(20,340,'vapore generato varia con la temperatura');
testo(20,360,'V = f(T) ');testo(50,370,sx);pausa;
cancella;
end;

procedure pro2;
begin
testo(20,30,'LIQUIDO in A diverso da LIQUIDO in B');
testo(20,50,'TEMPERATURA A = TEMPERATURA B ');
moto1a(70);
testo(20,70,'V.EVAPORAZIONE A < V.EVAPORAZIONE B ');
testo(20,340,'vapore generato varia con la natura del liquido');
testo(20,360,'V = f(x) ');testo(50,370,sx);pausa;cancella;
end;

procedure pro3;
begin
testo(20,30,'LIQUIDO in A = LIQUIDO in B');
testo(20,50,'TEMPERATURA A = TEMPERATURA B ');
testo(20,70,'SUPERFICIE in A < SUPERFICIE in B ');
moto2(70);
testo(20,90,'V.EVAPORAZIONE A < V.EVAPORAZIONE B ');
testo(20,340,'vapore generato varia con la superficie evaporante');
testo(20,360,'V = f(S) ');testo(50,370,sx);pausa;cancella;
end;

procedure pro4;
begin
testo(20,30,'LIQUIDO in A = LIQUIDO in B');
testo(20,50,'TEMPERATURA A = TEMPERATURA B ');
testo(20,70,'SUPERFICIE in A = SUPERFICIE in B ');
moveto(80,95);setlinestyle(1,2,4);
lineto(210,95);setlinestyle(0,0,1);
moto1(70);
testo(20,90,'V.EVAPORAZIONE A < V.EVAPORAZIONE B ');
testo(20,340,'vapore generato varia con aerazione:A chiuso,B aperto');
testo(20,360,'V = f(A) ');testo(50,370,sx);pausa;cancella;
end;

procedure pro5;
begin
testo(450,40,'ATTENDERE');
testo(20,20,'dalle osservazioni sperimentali si deduce che');
testo(20,40,'la quantita di vapore che si genera a parita di tempo');
testo(20,60,'o VELOCITA di VAPORIZZAZIONE,dipende da diversi fattori:');
delay(t2);
testo(20,80,'1-aumenta se aumenta la temperatura ----------- V =f(T)');
delay(t2);
testo(20,100,'2-aumenta se aumenta la superficie evaporante-- V =f(S)');
delay(t2);
testo(20,120,'3-aumenta se aumenta la ventilazione ---------- V = f(A)');
delay(t2);
testo(20,140,'4-a paritˆ di condizioni,varia con la sostanza- V = f(X)');
testo(20,150,'---------------------------------------------------------');
pausa;
diagramma;testo(50,370,sx);pausa;cancella;
end;

procedure pro6;
begin
testo(20,20,'per la interpretazione cfr.testo');pausa;cancella;
end;


procedure fine;  (* conferma uscita operazione *)
begin
testo(10,30,'fine operazione:confermare :premi enter');
pausa;cancella;closegraph;restorecrtmode;
end;

procedure pro7;
begin
pro1;pro2;pro3;pro4;pro5;pro6;
end;

procedure scelta;  (* procedura con scelta opzioni e uscita *)
var s,sn:string;opzione:integer;
begin
cancella;
testo(10,20,'seleziona opzione per LEGGI DELLA EVAPORAZIONE');
testo(10,30,'SELEZIONA PRIMA la 7 e poi rivedi con 1,2,3,4,5,6 ');
testo(10,40,'1...evaporazione in funzione della temperatura ');
testo(10,60,'2...evaporazione in funzione della natura dei liquidi ');
testo(10,80,'3...evaporazione in funzione della superficie evaporante ');
testo(10,100,'4...evaporazione in funzione della aerazione ');
testo(10,120,'5...conclusioni:leggi della evaporazione');
testo(10,140,'6...interpretazione fenomeno ');
testo(10,160,'7...ESPERIMENTO COMPLETO AUTOMATICO ');
testo(10,180,'9...fine ');
testo(10,200,'scelta =');moveto(100,200);readln(opzione);
cancella;
case opzione of
1:pro1;2:pro2;3:pro3;4:pro4;5:pro5;6:pro6;7:pro7;
9:fine;
end;
testo(10,390,'altra operazione?Esperimenti?:premi S...fine:premi N '); readln(sn);
if ((sn='S') or (sn='s')) then scelta ;
end;

begin            (* programma di lancio *)
grafica;
t1:=100;t2:=1000;
sx:='prendi nota del disegno e del testo,poi ENTER';
testo(10,40,'esperimento per ricavare le leggi della evaporazione');
testo(10,60,'dispositivi necessari:');
testo(10,80,'1-recipienti con superficie uguale e diversa,chiusi e aperti');
testo(10,100,'2-termometri ');
testo(10,120,'3-cronometro');
testo(10,140,'4-liquidi diversi:es.acqua,etere,alcool...');
testo(10,160,'EVAPORAZIONE:passaggio dallo stato liquido a quello di vapore');
testo(10,180,'mediante assorbimento di calore dallo ambiente esterno:');
testo(10,200,'interessa il liquido in superficie,avviene ad ogni temperatura,');
testo(10,220,'in modo impercettibile:si nota la variazione del livello del ');
testo(10,240,'liquido nel recipiente che lo contiene ');
pausa;cancella;
scelta;
closegraph;
end.

program vap1;
(* evaporazione dei liquidi da EVAPORA *)
(* disco 65 dispensa 49 \tu53\ con turbo pascal v.5 *)

uses crt,graph;
type string15=string[20];

var   sosta,codice,y:integer;
      varia:string15;

procedure presenta;
begin
writeln('evaporazione di liquidi e leggi della evaporazione');
writeln;
writeln('indica velocita dimostrazione 10=veloce...500=lento');
readln(sosta);clrscr;
writeln('la evaporazione rappresenta il passaggio dallo stato liquido');
writeln('allo stato di aeriforme,mediante assorbimento di calore:');
writeln('di origine ambientale o fornito da sorgente adeguata');
writeln;
writeln('esperimento:ogni processo avviene nello stesso tempo');
writeln('si considera la quantita di vapore generato,variando');
writeln('un parametro per volta:');
writeln;
writeln('1..la temperatura');
writeln('2..la natura del liquido');
writeln('3..la superficie evaporante');
writeln('4..la ventilazione sopra il liquido');
writeln;
writeln('premi return,prego');readln;clrscr;
end;

procedure leggi;
begin
writeln('leggi ricavate dalla osservazione');
writeln;
writeln('LA QUANTITA DI VAPORE GENERATO :');
writeln('1..aumenta con la temperatura');
writeln('2..varia con la natura del liquido');
writeln('3..aumenta con la superficie evaporante');
writeln('4..aumenta con la ventilazione');
writeln;
writeln('premi return,prego');
readln;clrscr;
end;


procedure grafica;   (* attiva pagina grafica*)
(* coordinate finestra,colore sfondo e disegno *)
var sc,tp:integer;
    stringa:string;

begin
 sc:=0;                         (* valore risoluzione 0,1,2,3,4,5,8,9 *)
 tp:=0;                         (* valore valido 1 - 0 palette *)
 stringa:='c:\tp\bgi';                (* indica ove cercare GRAPH *)
 initgraph(sc,tp,stringa);      (* attiva scheda grafica *)
 setbkcolor(0);                 (* colore sfondo *)
end;

procedure testo(x,y:integer;nome:string); (* stampa legenda testo *)
begin
 outtextxy(x,y,nome);
 setcolor(14);
end;

procedure pausa;                (* premere return per proseguire *)
var ch:char;
begin
testo(10,400,'premi return,prego');
 ch:=readkey;
 setcolor(1);
 testo(10,400,'premi return,prego');
 setcolor(14);
end;

procedure diagramma(Y:integer;varia:string15);
begin
 setcolor(7);
 testo(450,40,'vapore generato');
 line(450,50,450,300);
 line(450,300,600,300);
 setcolor(7);
 line(450,300,600,y);
 setcolor(7);
 line(450,300,600,200);
 setcolor(14);
 testo(450,320,varia);
 setlinestyle(2,1,1);
 setcolor(7);
 line(550,300,550,150);
 setcolor(7);
 line(500,300,500,150);
 testo(500,310,'A');
 testo(550,310,'B');
end;

procedure cella(x1,y1,x2,y2:integer);
begin
setcolor(7);
testo(30,20,'liquido in A');
setcolor(7);
testo(210,20,'liquido in B');
setcolor(7);
rectangle(x1,y1,x2,y2);
end;

procedure celle(codice:integer);
var x1,x2:integer;
begin
 setlinestyle(0,1,3);
 x1:=150;
 case codice of
 1:begin x2:=300; varia:='temperatura';y:=200;
   testo(30,350,'temperatura in A minore della temperatura in B');
   testo(30,340,'liquido contenuto nei due recipienti,identico');
   setcolor(7);
   testo(30,360,'liquido evaporato aumenta con la temperatura');
   end;
 2:begin x2:=300; varia:='liquidi diversi';y:=100;
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A diverso da liquido in B ');
   setcolor(7);
   testo(30,360,'liquido evaporato varia con natura dei liquidi');
   end;
 3:begin x2:=400; varia:='diversa area';y:=200;
   setcolor(7);
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A uguale a liquido in B ');
   setcolor(7);
   testo(30,360,'liquido evaporato aumenta con area evaporante');
   end;
 4:begin x2:=300; varia:='diversa ventilazione';y:=200;
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A uguale a liquido in B');
   testo(30,330,'area evaporante in A e in B sono uguali');
   testo(30,60,'recipiente A chiuso..recipiente B aperto');
   setcolor(7);
   testo(30,360,'liquido evaporato aumenta con ventilazione');
   end;
 end;
 cella(50,100,x1,300);
 cella(200,100,x2,300);
 setfillstyle(1,2);
 bar(202,110,x2-2,297);
 setfillstyle(1,3);
 bar(52,110,148,297);
 testo(10,420,'il tempo impiegato per la evaporazione dei liquidi');
 testo(10,430,'nei due recipienti,risulta sempre identico,costante');
end;

procedure evapora(a2:integer);
var n,b2:integer;
begin
setlinestyle(0,1,1);
if (a2=398) then b2:=200
 else b2:=250;
setcolor(1);
for n:=110 to b2 do
begin
 line(203,n,a2,n);
 delay(sosta);
end;
diagramma(y,varia);
end;

procedure evapora1;
var n:integer;
begin
setcolor(1);
setlinestyle(0,1,1);
for n:=110 to 200 do
begin
 line(53,n,148,n);
 delay(sosta);
end;
end;

procedure spiega;
begin
writeln('interpretazione del fenomeno e delle sue leggi ');
writeln('secondo la teoria cinetica');
writeln;
writeln('1..le particelle dei corpi sono in continuo movimento');
writeln('2..la energia cinetica delle particelle dipende :');
writeln('   dalla loro massa e dalla velocita ');
writeln('3..la energia cinetica varia con la temperatura');
writeln('4..la energia cinetica media dipende dalla temperatura');
writeln('5..la interazione tra le particelle varia con la natura chimica');
writeln('6..il processo di evaporazione avviene alla superficie libera');
writeln('   del liquido,quando la energia cinetica della particelle');
writeln('   supera la interazione tra le particelle stesse');
writeln('7..quando le particelle evaporate vengono ricatturate');
writeln('   dalla fase liquida alla stessa velocita con la quale');
writeln('   evaporano,si stabilisce un equilibrio dinamico:');
writeln('   sembra che il liquido non evapori piu:si raggiunge uno');
writeln('   stato di saturazione:permettendo al vapore di allontanarsi');
writeln('   ventilando,il processo continua senza che si raggiunga');
writeln('   equilibrio dinamico');
readln;clrscr;
writeln('in base a tale interpretazione si giustificano le leggi:');writeln;
writeln('1..aumentando la temperatura,aumenta la evaporazione');
writeln('   perche aumenta energia cinetica delle particelle');writeln;
writeln('2..aumentando la superficie,aumenta la evaporazione,');
writeln('   perche aumenta numero di particelle presenti in superficie');
writeln;
writeln('3..aumentando la ventilazione,aumenta la evaporazione,');
writeln('   perche viene impedita la saturazione,equilibrio dinamico');
writeln;
writeln('4..variando il liquido,varia la evaporazione,perche ,');
writeln('   a parita di energia,superficie,ventilazione,varia con');
writeln('   la natura chimica del liquido,la interazione da vincere');
writeln;
writeln('arrivederci:premi return,prego');
pausa;
end;

 begin                    (* programma principale *)
 clrscr;
 presenta;
 leggi;
 grafica;              (* attiva pagina grafica *)
 celle(1);                (* varia temperatura*)
 evapora1; evapora(298);pausa;
 grafica;
 celle(2);                (* varia natura liquidi *)
 evapora1;evapora(298);pausa;
 grafica;
 celle(3);                (* varia superficie evaporante *)
 evapora1;evapora(398);pausa;
 grafica;
 celle(4);               (* varia ventilazione *)
 setcolor(1);
 setlinestyle(0,1,3);
 line(200,100,300,100);
 evapora1;evapora(298);pausa;
 textmode(2);
 writeln('conclusione:');writeln;
 leggi;
 spiega;
 closegraph;restorecrtmode;
 end.

program vapore;
(* evaporazione dei liquidi *)
(* disco 65 dispensa 49 \tu53\ con turbo pascal v.5 *)

uses crt,graph;
type string15=string[20];

var   sosta,codice,y:integer;
      varia:string15;

procedure presenta;
begin
writeln('evaporazione di liquidi e leggi della evaporazione');
writeln;
writeln('indica velocita dimostrazione 10=veloce...500=lento');
readln(sosta);clrscr;
writeln('la evaporazione rappresenta il passaggio dallo stato liquido');
writeln('allo stato di aeriforme,mediante assorbimento di calore:');
writeln('di origine ambientale o fornito da sorgente adeguata');
writeln;
writeln('esperimento:ogni processo avviene nello stesso tempo');
writeln('si considera la quantita di vapore generato,variando');
writeln('un parametro per volta:');
writeln;
writeln('1..la temperatura');
writeln('2..la natura del liquido');
writeln('3..la superficie evaporante');
writeln('4..la ventilazione sopra il liquido');
writeln;
writeln('premi return,prego');readln;clrscr;
end;

procedure leggi;
begin
writeln('leggi ricavate dalla osservazione');
writeln;
writeln('LA QUANTITA DI VAPORE GENERATO :');
writeln('1..aumenta con la temperatura');
writeln('2..varia con la natura del liquido');
writeln('3..aumenta con la superficie evaporante');
writeln('4..aumenta con la ventilazione');
writeln;
writeln('premi return,prego');
readln;clrscr;
end;


procedure grafica(f:integer);   (* attiva pagina grafica*)
(* coordinate finestra,colore sfondo e disegno *)
var sc,tp:integer;
    stringa:string;

begin
 sc:=0;                         (* valore risoluzione 0,1,2,3,4,5,8,9 *)
 tp:=0;                         (* valore valido 1 - 0 palette *)
 stringa:='c:\';                (* indica ove cercare GRAPH *)
 initgraph(sc,tp,stringa);      (* attiva scheda grafica *)
 setbkcolor(f);                 (* colore sfondo *)
end;

procedure testo(x,y:integer;nome:string); (* stampa legenda testo *)
begin
 outtextxy(x,y,nome);
 setcolor(14);
end;

procedure pausa;                (* premere return per proseguire *)
var ch:char;
begin
testo(10,400,'premi return,prego');
 ch:=readkey;
 setcolor(1);
 testo(10,400,'premi return,prego');
 setcolor(14);
end;

procedure diagramma(Y:integer;varia:string15);
begin
 setcolor(4);
 testo(450,40,'vapore generato');
 line(450,50,450,300);
 line(450,300,600,300);
 setcolor(2);
 line(450,300,600,y);
 setcolor(3);
 line(450,300,600,200);
 setcolor(14);
 testo(450,320,varia);
 setlinestyle(2,1,1);
 setcolor(2);
 line(550,300,550,150);
 setcolor(3);
 line(500,300,500,150);
 testo(500,310,'A');
 testo(550,310,'B');
end;

procedure cella(x1,y1,x2,y2:integer);
begin
setcolor(3);
testo(30,20,'liquido in A');
setcolor(2);
testo(210,20,'liquido in B');
setcolor(4);
rectangle(x1,y1,x2,y2);
end;

procedure celle(codice:integer);
var x1,x2:integer;
begin
 setlinestyle(0,1,3);
 x1:=150;
 case codice of
 1:begin x2:=300; varia:='temperatura';y:=200;
   testo(30,350,'temperatura in A minore della temperatura in B');
   testo(30,340,'liquido contenuto nei due recipienti,identico');
   setcolor(4);
   testo(30,360,'liquido evaporato aumenta con la temperatura');
   end;
 2:begin x2:=300; varia:='liquidi diversi';y:=100;
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A diverso da liquido in B ');
   setcolor(4);
   testo(30,360,'liquido evaporato varia con natura dei liquidi');
   end;
 3:begin x2:=400; varia:='diversa area';y:=200;
   setcolor(2);
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A uguale a liquido in B ');
   setcolor(4);
   testo(30,360,'liquido evaporato aumenta con area evaporante');
   end;
 4:begin x2:=300; varia:='diversa ventilazione';y:=200;
   testo(30,340,'temperatura in A uguale a temperatura in B');
   testo(30,350,'liquido in A uguale a liquido in B');
   testo(30,330,'area evaporante in A e in B sono uguali');
   testo(30,60,'recipiente A chiuso..recipiente B aperto');
   setcolor(4);
   testo(30,360,'liquido evaporato aumenta con ventilazione');
   end;
 end;
 cella(50,100,x1,300);
 cella(200,100,x2,300);
 setfillstyle(1,2);
 bar(202,110,x2-2,297);
 setfillstyle(1,3);
 bar(52,110,148,297);
 testo(10,420,'il tempo impiegato per la evaporazione dei liquidi');
 testo(10,430,'nei due recipienti,risulta sempre identico,costante');
end;

procedure evapora(a2:integer);
var n,b2:integer;
begin
setlinestyle(0,1,1);
if (a2=398) then b2:=200
 else b2:=250;
setcolor(1);
for n:=110 to b2 do
begin
 line(203,n,a2,n);
 delay(sosta);
end;
diagramma(y,varia);
end;

procedure evapora1;
var n:integer;
begin
setcolor(1);
setlinestyle(0,1,1);
for n:=110 to 200 do
begin
 line(53,n,148,n);
 delay(sosta);
end;
end;

procedure spiega;
begin
writeln('interpretazione del fenomeno e delle sue leggi ');
writeln('secondo la teoria cinetica');
writeln;
writeln('1..le particelle dei corpi sono in continuo movimento');
writeln('2..la energia cinetica delle particelle dipende :');
writeln('   dalla loro massa e dalla velocita ');
writeln('3..la energia cinetica varia con la temperatura');
writeln('4..la energia cinetica media dipende dalla temperatura');
writeln('5..la interazione tra le particelle varia con la natura chimica');
writeln('6..il processo di evaporazione avviene alla superficie libera');
writeln('   del liquido,quando la energia cinetica della particelle');
writeln('   supera la interazione tra le particelle stesse');
writeln('7..quando le particelle evaporate vengono ricatturate');
writeln('   dalla fase liquida alla stessa velocita con la quale');
writeln('   evaporano,si stabilisce un equilibrio dinamico:');
writeln('   sembra che il liquido non evapori piu:si raggiunge uno');
writeln('   stato di saturazione:permettendo al vapore di allontanarsi');
writeln('   ventilando,il processo continua senza che si raggiunga');
writeln('   equilibrio dinamico');
readln;clrscr;
writeln('in base a tale interpretazione si giustificano le leggi:');writeln;
writeln('1..aumentando la temperatura,aumenta la evaporazione');
writeln('   perche aumenta energia cinetica delle particelle');writeln;
writeln('2..aumentando la superficie,aumenta la evaporazione,');
writeln('   perche aumenta numero di particelle presenti in superficie');
writeln;
writeln('3..aumentando la ventilazione,aumenta la evaporazione,');
writeln('   perche viene impedita la saturazione,equilibrio dinamico');
writeln;
writeln('4..variando il liquido,varia la evaporazione,perche ,');
writeln('   a parita di energia,superficie,ventilazione,varia con');
writeln('   la natura chimica del liquido,la interazione da vincere');
writeln;
writeln('arrivederci:premi return,prego');
pausa;
end;

 begin                    (* programma principale *)
 clrscr;
 presenta;
 leggi;
 grafica(1);              (* attiva pagina grafica *)
 celle(1);                (* varia temperatura*)
 evapora1; evapora(298);pausa;
 grafica(1);
 celle(2);                (* varia natura liquidi *)
 evapora1;evapora(298);pausa;
 grafica(1);
 celle(3);                (* varia superficie evaporante *)
 evapora1;evapora(398);pausa;
 grafica(1);
 celle(4);               (* varia ventilazione *)
 setcolor(1);
 setlinestyle(0,1,3);
 line(200,100,300,100);
 evapora1;evapora(298);pausa;
 textmode(2);
 writeln('conclusione:');writeln;
 leggi;
 spiega;
 end.