fiaica

esci con turbofisica.htm

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.