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.