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

tre leggi di mendel, variante
http://www.youtube.com/watch?v=HVs7OIuIhgc

 

 

program mend125;     (* prima e seconda terza legge di mendel *)
uses crt,graph;      (* alleli dissociati o associati *)

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 at;
begin
delay(1000);
end;


procedure programma;
begin
testo(20,20,'PRIMA E SECONDA e TERZA LEGGE DI MENDEL');
outtextxy(20,60,'trasmissione carattere COLORE-SUPERFICIE ');
setcolor(4);
outtextxy(20,160,'nel caso di associazione a cromosomi somatici A,B ');
testo(20,180,'A..carattere COLORE     :A dominante,a recessivo');
testo(20,200,'B..carattere SUPERFICIE :B dominante,b recessivo');
setcolor(15);
pausa1;cleardevice;
end;


procedure pro1;
begin
(* associato ad A  *)
ma(100,50,125,100,1,4);ma(125,50,150,100,2,4);
ma(300,50,325,100,1,3);ma(325,50,350,100,2,3);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,75,270,8,3);ma(75,220,100,270,7,3);
ma(150,220,175,270,8,3);ma(175,220,200,270,7,3);
ma(300,220,325,270,8,3);ma(325,220,350,270,7,3);
ma(400,220,425,270,8,3);ma(425,220,450,270,7,3);
outtextxy(100,15,'rosso/rugoso');
outtextxy(350,15,'azzurro/liscio');
attende;
setcolor(15);
outtextxy(5,30,'genotipo genitori');
outtextxy(70,70,'aabb');
outtextxy(390,70,'AABB');
outtextxy(5,160,'gametogenesi');
outtextxy(150,160,'ab');
outtextxy(300,160,'AB');
setcolor(3);outtextxy(5,310,'allele dominante su A:azzurro');
testo(5,320,'allele dominante su B:liscio');
setcolor(4);outtextxy(5,330,'allele recessivo su a:rosso ');
testo(5,340,'allele recessivo su b:rugoso');
setcolor(15);outtextxy(5,290,'genotipo f1');
outtextxy(50,275,'AaBb');
outtextxy(150,275,'AaBb');
outtextxy(300,275,'AaBb');
outtextxy(400,275,'AaBb');
attende;

setfillstyle(7,3);pieslice(530,70,0,180,50);
setfillstyle(8,3);pieslice(530,70,180,360,50);
setcolor(3);
outtextxy(430,150,'100% eterozigoti  AaBb ');
setcolor(15);
pausa1;
end;

procedure pro2;
begin
ma(100,50,125,100,8,3);ma(125,50,150,100,7,3);
ma(325,50,350,100,8,3);ma(350,50,375,100,7,3);
line(125,75,350,75); line(240,245,240,75);
outtextxy(100,15,'azzurro/liscio');
outtextxy(350,15,'azzurro/liscio');
testo(5,30,'genotipo F1 = BbAa');
attende;
setcolor(15);
outtextxy(5,120,'gametogenesi');
outtextxy(150,120,'AB Ab aB ab');
outtextxy(300,120,'AB Ab aB ab');
attende;
setcolor(3);
testo(480,190,'AA');ma(500,190,530,210,1,3);
testo(480,220,'BB');ma(500,220,530,240,2,3);
testo(480,250,'Aa');ma(500,250,530,270,7,3);
testo(480,280,'Bb');ma(500,280,530,300,8,3);
testo(480,310,'aa');ma(500,310,530,330,1,4);
testo(480,340,'bb');ma(500,340,530,360,2,4);
attende;
setcolor(15);
testo(100,180,'AB');testo(200,180,'Ab');testo(300,180,'aB');testo(400,180,'ab');
testo(50,200,'AB');testo(50,250,'Ab');testo(50,300,'aB');testo(50,350,'ab');
at;ma(100,200,125,240,1,3);ma(125,200,150,240,2,3);
at;ma(200,200,225,240,1,3);ma(225,200,250,240,8,3);
at;ma(300,200,325,240,7,3);ma(325,200,350,240,2,3);
at;ma(400,200,425,240,7,3);ma(425,200,450,240,8,3);
attende;
at;ma(100,250,125,290,1,3);ma(125,250,150,290,8,3);
at;ma(200,250,225,290,1,3);ma(225,250,250,290,2,4);
at;ma(300,250,325,290,7,3);ma(325,250,350,290,8,3);
at;ma(400,250,425,290,7,3);ma(425,250,450,290,2,4);
attende;
at;ma(100,300,125,340,7,3);ma(125,300,150,340,2,3);
at;ma(200,300,225,340,7,3);ma(225,300,250,340,8,3);
at;ma(300,300,325,340,1,4);ma(325,300,350,340,2,3);
at;ma(400,300,425,340,1,4);ma(425,300,450,340,8,3);
attende;
at;ma(100,350,125,390,7,3);ma(125,350,150,390,8,3);
at;ma(200,350,225,390,7,3);ma(225,350,250,390,2,4);
at;ma(300,350,325,390,1,4);ma(325,350,350,390,8,3);
at;ma(400,350,425,390,1,4);ma(425,350,450,390,2,4);
attende;
setcolor(3);testo(400,50,'25% omozigoti   AA');
setcolor(4);testo(400,60,'25% omozigoti   aa');
setcolor(6);testo(400,70,'50% eterozigoti Aa');
setcolor(3);testo(400,90,'25% omozigoti   BB');
setcolor(4);testo(400,100,'25% omozigoti   bb');
setcolor(6);testo(400,110,'50% eterozigoti Bb');
attende;
setcolor(15);testo(430,130,'fenotipi F2 ');
setcolor(3);testo(430,140,'9/16  AB');
setcolor(2);testo(430,150,'3/16  Ab');
setcolor(6);testo(430,160,'3/16  aB');
setcolor(4);testo(430,170,'1/16  ab');
pausa1;
end;


procedure pro3;
begin
ma(100,50,125,100,1,4);ma(125,50,150,100,1,4);
ma(300,50,325,100,1,3);ma(325,50,350,100,1,3);
line(125,75,350,75); line(240,245,240,75);
ma(50,220,75,270,8,3);ma(75,220,100,270,7,3);
ma(150,220,175,270,8,3);ma(175,220,200,270,7,3);
ma(300,220,325,270,8,3);ma(325,220,350,270,7,3);
ma(400,220,425,270,8,3);ma(425,220,450,270,7,3);
outtextxy(100,15,'rosso-rugoso');
outtextxy(350,15,'azzurro-liscio');
attende;
setcolor(15);
outtextxy(5,30,'genotipo genitori');
outtextxy(20,70,'a-b..a-b');
outtextxy(390,70,'A-B..A-B');
outtextxy(5,160,'gametogenesi');
outtextxy(150,160,'a-b');
outtextxy(300,160,'A-B');
setcolor(3);outtextxy(5,310,'alleli dominanti su A-B:azzurro+liscio');
setcolor(4);outtextxy(5,330,'alleli recessivi su a-b:rosso+rugoso ');
setcolor(15);outtextxy(5,290,'genotipo f1');
outtextxy(50,275,'A-B..a-b');
outtextxy(150,275,'A-B..a-b');
outtextxy(300,275,'A-B..a-b');
outtextxy(400,275,'A-B..a-b');
attende;
setfillstyle(7,3);pieslice(530,70,0,180,50);
setfillstyle(8,3);pieslice(530,70,180,360,50);
setcolor(3);
outtextxy(430,150,'100% eterozigoti  A-B..a-b ');
setcolor(15);
testo(400,10,'premi INVIO');
pausa;
ma(100,50,125,100,8,3);ma(125,50,150,100,7,3);
ma(325,50,350,100,8,3);ma(350,50,375,100,7,3);
line(125,75,350,75); line(240,245,240,75);
outtextxy(100,15,'azzurro/liscio');
outtextxy(350,15,'azzurro/liscio');
testo(5,30,'genotipo F1 = A-B..a-b');
attende;
setcolor(15);
outtextxy(5,120,'gametogenesi');
outtextxy(150,120,'A-B  a-b');
outtextxy(300,120,'A-B  a-b');
attende;
setcolor(3);
testo(480,180,'A-B..A-B');ma(500,190,530,210,1,3);
testo(480,210,'A-B..a-b');ma(500,220,530,240,7,3);
testo(480,240,'A-B..a-b');ma(500,250,530,270,8,3);
testo(480,270,'a-b..a-b');ma(500,280,530,300,1,4);
attende;


setcolor(15);
testo(100,180,'A-B');testo(325,180,'a-b');
testo(50,200,'A-B');testo(50,300,'a-b');
at;ma(100,200,125,240,1,3);ma(125,200,150,240,1,3);
at;ma(300,200,325,240,8,3);ma(325,200,350,240,7,3);
at;ma(100,300,125,340,8,3);ma(125,300,150,340,7,3);
at;ma(300,300,325,340,1,4);ma(325,300,350,340,1,4);
attende;
setcolor(3);testo(400,50,'25% omozigoti   A-B..A-B');
setcolor(4);testo(400,60,'25% omozigoti   a-b..a-b');
setcolor(6);testo(400,70,'50% eterozigoti A-B..a-b');
attende;
setcolor(15);testo(430,130,'fenotipi F2 ');
setcolor(3);testo(430,140,'75% AB');
setcolor(4);testo(430,150,'25% ab');
testo(400,10,'premi INVIO');pausa;
testo(10,30,'alleli associati su stesso cromosoma');
setcolor(3);testo(100,50,'25% omozigoti   A-B..A-B');
setcolor(4);testo(100,60,'25% omozigoti   a-b..a-b');
setcolor(6);testo(100,70,'50% eterozigoti A-B..a-b');
attende;
setcolor(15);testo(130,130,'fenotipi F2 ');
setcolor(3);testo(130,140,'75% AB');
setcolor(4);testo(130,150,'25% ab');
attende;
testo(400,30,'alleli su cromosomi distinti');
setcolor(3);testo(400,50,'25% omozigoti   AA');
setcolor(4);testo(400,60,'25% omozigoti   aa');
setcolor(6);testo(400,70,'50% eterozigoti Aa');
setcolor(3);testo(400,90,'25% omozigoti   BB');
setcolor(4);testo(400,100,'25% omozigoti   bb');
setcolor(6);testo(400,110,'50% eterozigoti Bb');
attende;
setcolor(15);testo(430,130,'fenotipi F2 ');
setcolor(3);testo(430,140,'9/16  AB');
setcolor(2);testo(430,150,'3/16  Ab');
setcolor(6);testo(430,160,'3/16  aB');
setcolor(4);testo(430,170,'1/16  ab');
attende;
setcolor(3);testo(200,210,'fenotipo AZZURRO-LISCIO');
setfillstyle(7,3);pieslice(60,250,0,180,40);
setfillstyle(8,3);pieslice(60,250,180,360,40);
attende;
setfillstyle(7,3);pieslice(530,250,0,180,40);
setfillstyle(8,3);pieslice(530,250,180,360,40);
attende;
setcolor(4);
testo(10,420,'G2 (A-B,A-B),(a-b,a-b),(A-B,a-b)');
setfillstyle(1,3);pieslice(60,350,0,90,40);
setfillstyle(8,3);pieslice(60,350,90,180,40);
setfillstyle(7,3);pieslice(60,350,180,270,40);
setfillstyle(1,4);pieslice(60,350,270,360,40);
attende;
setfillstyle(1,4);pieslice(160,350,0,90,40);
setfillstyle(1,3);pieslice(160,350,90,360,40);
(*  rivedere *)
line(10,400,600,400);
line(10,300,600,300);
line(10,200,600,200);
attende;
setcolor(3);
testo(130,410,'F2 AB,ab');
setfillstyle(1,4);pieslice(530,350,0,20,40);
setfillstyle(8,3);pieslice(530,350,20,50,40);
setfillstyle(7,3);pieslice(530,350,50,80,40);
setfillstyle(1,3);pieslice(530,350,80,360,40);
attende;
testo(300,230,'F1 AB');
setcolor(4);
testo(300,420,'G2 AA,Aa,aa');
testo(400,420,'G2 BB,Bb,bb');
setfillstyle(1,3);pieslice(330,350,0,90,40);
setfillstyle(1,4);pieslice(330,350,90,180,40);
setfillstyle(7,3);pieslice(330,350,180,360,40);
attende;
setcolor(3);
testo(500,410,'F2 AB,Ab,aB,ab');
setfillstyle(2,3);pieslice(430,350,0,90,40);
setfillstyle(2,4);pieslice(430,350,90,180,40);
setfillstyle(8,3);pieslice(430,350,180,360,40);
attende;

setcolor(3);
testo(10,450,'notare diversa frequenza di fenotipi e genotipi');
testo(50,460,'premi INVIO ');pausa;
setcolor(15);
end;




procedure scelta;
var sce:integer;
begin
setcolor(3);
testo(20,20,'selezionare tra leggi proposte');
setcolor(4);
testo(20,50,'1...prima e seconda legge:alleli dissociati');
testo(20,60,'2...terza legge:alleli dissociati');
testo(20,70,'3...tre leggi con geni associati su stesso cromosoma');
setcolor(15);testo(20,200,'scelta =');readln(sce);cleardevice;
case sce of
1:pro1;2:pro2;3:pro3;end;
cleardevice;
testo(20,30,'per continuare premi 1..per finire 2 :scelta=');readln(sce);
cleardevice;
if sce=1 then scelta;
end;

begin
writeln('esempio trasmissione due caratteri:COLORE,SUPERFICIE');
writeln('prima,seconda,terza legge di MENDEL');
writeln('allele dominante e allele recessivo:');
textcolor(4);
writeln('-----------------------------------------------------');
writeln('COLORE     su una coppia di cromosomi omologhi A ');
writeln('SUPERFICIE su altra copia di cromosomi omologhi B ');
writeln('-----------------------------------------------------');
textcolor(3);
writeln('COLORE-SUPERFICIE su stessa coppia di cromosomi omologhi A-B');
writeln('-------------------------------------------------------------');
textcolor(15);
writeln('notare il diverso modo di distribuzione di frequenze');
writeln('e diverso numero di fenotipi e genotipi ottenuti');
writeln('NOTA:non importa il sesso del dominante o recessivo');
writeln('-----------------------------------------------------');
textcolor(4);
writeln('durante la esecuzione,premere INVIO quando richiesto');
writeln('oppure attendere prosecuzione automatica');
writeln('premi INVIO per proseguire');readln;clrscr;
grafica;
programma;  (* scrivere nome procedura propria *)
scelta;
closegraph;
end.

 

 

 

 

 

 

indice o inizio