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=4kk9nSG6UQA
program mend123; (* prima e seconda terza 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 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 scelta; var sce:integer; begin setcolor(3); testo(20,20,'selezionare tra leggi proposte'); setcolor(4); testo(20,50,'1...prima e seconda legge'); testo(20,60,'2...terza legge'); 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 grafica; programma; (* scrivere nome procedura propria *) scelta; closegraph; end.