leggi di mendel :prima e seconda, con interazione
programmi in pascal: si fornisce listato e talora filmato
ottenuto riprendendo con digitale il file.exe attivato:
filmato registrato in youtube e richiamato

prima e seconda legge di mendel:variante
http://www.youtube.com/watch?v=SzLAt3KFE2o


 

program mend12;     (* prima e seconda legge di mendel *)
uses crt,graph;

procedure grafica;
var t,s:integer;
    stringa:string;
begin
t:=0;
s:=0;
stringa:=('c:\scheda\');
initgraph(s,t,stringa);
end;

procedure attende;
begin
delay(2000);
end;

procedure pausa1;
begin
setcolor(4);
outtextxy(430,10,'premi INVIO');readln;
setcolor(0);
outtextxy(430,10,'premi INVIO');
setcolor(15);
end;

procedure pausa;
begin
readln;cleardevice;
end;

procedure sosta;
begin
readln;
end;

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

procedure ma(x1,y1,x2,y2,st,cm:integer);
begin
setfillstyle(st,cm);
bar(x1,y1,x2,y2);
end;

procedure fe(x1,y1,rv,ro,st,cf:integer);
begin
setfillstyle(st,cf);
fillellipse(x1,y1,rv,ro);
end;

procedure programma;
begin
testo(20,20,'PRIMA E SECONDA LEGGE DI MENDEL');
outtextxy(20,60,'trasmissione carattere COLORE ');
setcolor(4);
outtextxy(20,160,'nel caso di associazione a somatico A ');
outtextxy(20,170,'NOTARE come non cambia risultato se allele dominante');
outtextxy(20,180,'o allele recessivo,proviene dal padre o dalla madre ');
setcolor(3);
outtextxy(20,190,'--------------------------------------------------');
outtextxy(20,200,'PRENDERE NOTA dei risultati nei figli');
outtextxy(20,210,'percentuali fenotipiche e genotipiche');
outtextxy(20,220,'nelle diverse situazioni presentate ');
setcolor(15);
pausa1;cleardevice;
end;


procedure pro1;
begin
(* associato ad A  *)
ma(100,50,150,100,2,4);
fe(350,75,25,25,2,3);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,100,270,2,3);
ma(150,220,200,270,2,3);
fe(300,245,25,25,2,3);
fe(400,245,25,25,2,3);
outtextxy(5,5,'fenotipo genitori');
outtextxy(100,15,'rosso');
outtextxy(350,15,'azzurro');
attende;
setcolor(15);
outtextxy(5,30,'genotipo genitori');
outtextxy(70,70,'aa');
outtextxy(390,70,'AA');
outtextxy(5,160,'gametogenesi');
outtextxy(150,160,'a  a');
outtextxy(300,160,'A  A');
setcolor(3);outtextxy(5,310,'allele dominante su A:azzurro');
setcolor(4);outtextxy(5,330,'allele recessivo su a:rosso ');
setcolor(15);outtextxy(5,290,'genotipo f1');
outtextxy(50,275,'Aa');
outtextxy(150,275,'Aa');
outtextxy(300,275,'Aa');
outtextxy(400,275,'Aa');
attende;

ma(100,50,150,100,2,4);
fe(350,75,25,25,2,3);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,100,270,3,3);
ma(150,220,200,270,3,3);
fe(300,245,25,25,3,3);
fe(400,245,25,25,3,3);attende;
setfillstyle(3,3);pieslice(530,70,0,360,50);
setcolor(3);
outtextxy(430,150,'100% eterozigoti  Aa ');
setcolor(15);
pausa1;setfillstyle(0,0);bar(5,300,600,450);
line(175,245,300,245);line(240,245,240,320);
setcolor(15);outtextxy(5,300,'gametogenesi');
testo(150,300,'A  a');testo(275,300,'A  a');
ma(50,320,100,370,2,3);
ma(150,320,200,370,3,3);
ma(275,320,325,370,3,3);
ma(375,320,425,370,2,4);attende;
testo(5,380,'genotipo F2');
testo(50,390,'AA');testo(150,390,'Aa');
testo(275,390,'Aa');testo(375,390,'aa');attende;
setfillstyle(2,3);pieslice(530,270,0,90,50);
setfillstyle(3,3);pieslice(530,270,90,270,50);
setfillstyle(2,4);pieslice(530,270,270,360,50);
setcolor(3);
testo(440,340,'25% omozigoti   AA');
testo(440,350,'50% eterozigoti Aa');
setcolor(4);testo(440,360,'25% omozigoti   aa');
setcolor(15);pausa1;
end;

procedure pro2;
begin
(* associato ad A  *)
ma(100,50,150,100,2,3);
fe(350,75,25,25,2,4);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,100,270,2,3);
ma(150,220,200,270,2,3);
fe(300,245,25,25,2,3);
fe(400,245,25,25,2,3);
outtextxy(5,5,'fenotipo genitori');
outtextxy(100,15,'azzurro');
outtextxy(350,15,'rosso');
attende;
setcolor(15);
outtextxy(5,30,'genotipo genitori');
outtextxy(70,70,'AA');
outtextxy(390,70,'aa');
outtextxy(5,160,'gametogenesi');
outtextxy(150,160,'A  A');
outtextxy(300,160,'a  a');
setcolor(3);outtextxy(5,310,'allele dominante su A:azzurro');
setcolor(4);outtextxy(5,330,'allele recessivo su a:rosso ');
setcolor(15);outtextxy(5,290,'genotipo f1');
outtextxy(50,275,'Aa');
outtextxy(150,275,'Aa');
outtextxy(300,275,'Aa');
outtextxy(400,275,'Aa');
attende;

ma(100,50,150,100,2,3);
fe(350,75,25,25,2,4);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,100,270,3,3);
ma(150,220,200,270,3,3);
fe(300,245,25,25,3,3);
fe(400,245,25,25,3,3);attende;
setfillstyle(3,3);pieslice(530,70,0,360,50);
setcolor(3);
outtextxy(430,150,'100% eterozigoti  Aa ');
setcolor(15);
pausa1;setfillstyle(0,0);bar(5,300,600,450);
line(175,245,300,245);line(240,245,240,320);
setcolor(15);outtextxy(5,300,'gametogenesi');
testo(150,300,'A  a');testo(275,300,'A  a');
ma(50,320,100,370,2,3);
ma(150,320,200,370,3,3);
ma(275,320,325,370,3,3);
ma(375,320,425,370,2,4);attende;
testo(5,380,'genotipo F2');
testo(50,390,'AA');testo(150,390,'Aa');
testo(275,390,'Aa');testo(375,390,'aa');attende;
setfillstyle(2,3);pieslice(530,270,0,90,50);
setfillstyle(3,3);pieslice(530,270,90,270,50);
setfillstyle(2,4);pieslice(530,270,270,360,50);
setcolor(3);
testo(440,340,'25% omozigoti   AA');
testo(440,350,'50% eterozigoti Aa');
setcolor(4);testo(440,360,'25% omozigoti   aa');
setcolor(15);pausa1;
end;


procedure scelta;
var sce:integer;
begin
setcolor(3);
testo(20,20,'selezionare tra fenotipi proposti');
setcolor(4);
testo(20,50,'1...rosso / azzurro');
testo(20,60,'2...azzurro / rosso');
setcolor(15);testo(20,200,'scelta =');readln(sce);cleardevice;
case sce of
1:pro1;2:pro2;end;
cleardevice;
testo(20,30,'per continuare premi 1..per finire 2 :scelta=');readln(sce);
cleardevice;
if sce=1 then scelta;
end;

begin
clrscr;
writeln('prima legge di MENDEL o della DOMINANZA');
textcolor(3);
writeln('incrociando individui omozigotici,dominante e recessivo');
writeln('per lo stesso carattere:es.COLORE ');
writeln('nella prima generazione filiale si ottengono individui');
writeln('tutti con lo stesso fenotipo,DOMINANTE,e stesso genotipo');
writeln('------------------------------------------------------');
textcolor(15);
writeln('seconda legge di MENDEL o della SEGREGAZIONE dei caratteri');
textcolor(4);
writeln('incrociando individui eterozigotici per lo stesso carattere');
writeln('nella seconda generazione filiale si ottengono individui');
writeln('75% fenotipo dominante:25% omozigoti,50% eterozigoti');
writeln('25% fenotipo recessivo,omozigoti');
writeln('----------------------------------------------------------');
textcolor(15);
writeln('durante la esecuzione,premere INVIO quando viene richiesto');
writeln('altrimenti attendere...');
writeln('premi INVIO');readln;clrscr;
grafica;
programma;  (* scrivere nome procedura propria *)
scelta;
closegraph;
end.

 

 

 

 

 

indice o inizio