modello operone
programmi scritti
con turbo pascal v.5-7 e compilati come file.exe
non essendo accettati i file.exe in rete (per pericolo virus)
attivo il file.exe
e riprendo con digitale:copio incollo alcune videate e creo
videoclip che
registro e poi richiamo con youtube
fornisco listato
pascal per eventuale copia-incolla se pascal installato sul PC
e anche per descrizione che facilita la comprensione del filmato
videoclip
http://www.youtube.com/watch?v=dlTdMumDoC0
program operone1; (* modello OPERONE batterico *) uses crt,graph; var h,c2,c3,c4,c6,c7,c15:word; tempo:integer; regola:array[1..800] of integer; induce:array[1..800] of integer; polime:array[1..800] of integer; procedure grafica; var t,s:integer; stringa:string; begin t:=0; s:=0; stringa:=('c:\SCHEDA\'); initgraph(s,t,stringa); end; procedure pausa1; begin setcolor(c15); outtextxy(430,10,'premi INVIO');readln; setcolor(0); outtextxy(430,10,'premi INVIO'); setcolor(c15); end; procedure pausa; begin readln;cleardevice; end; procedure testo(x,y:integer;st:string); begin outtextxy(x,y,st); end; procedure testo2(x,y:integer;st:string); begin setcolor(c2); outtextxy(x,y,st); end; procedure testo3(x,y:integer;st:string); begin setcolor(c3); outtextxy(x,y,st); end; procedure testo4(x,y:integer;st:string); begin setcolor(c4); outtextxy(x,y,st); end; procedure testo6(x,y:integer;st:string); begin setcolor(c6); outtextxy(x,y,st); end; procedure testo7(x,y:integer;st:string); begin setcolor(c7); outtextxy(x,y,st); end; procedure testo15(x,y:integer;st:string); begin setcolor(c15); outtextxy(x,y,st); end; procedure at; begin delay(tempo); end; procedure barra(x1,y1,x2,y2,st,col:integer); begin setfillstyle(st,col); bar(x1,y1,x2,y2); end; procedure come1; begin testo2(20,350,'gene regolatore codifica per Repressore'); testo2(20,360,'che si lega a gene Operatore,impedendo allo enzima'); testo2(20,370,'RNA-polimerasi di legarsi al Promotore'); end; procedure come2; begin barra(30,400,90,430,1,0); barra(90,400,100,410,2,0); barra(120,400,170,450,9,0); setcolor(0); testo(30,390,'repressore'); testo(90,380,'induttore'); testo(200,390,'RNA-polimerasi'); testo4(30,380,'induttore si lega a repressore e lo stacca da operatore'); end; procedure come3; begin testo2(20,390,'enzima RNA-polimerasi si lega a Promotore'); testo(20,400,'e trascrive i geni strutturali in m-RNA '); testo(20,410,'che verranno tradotti in proteine nei ribosomi'); end; procedure pro1; var x,y,k:integer; begin barra(20,100,600,150,1,c3); (* operone *) testo3(20,30,'OPERONE: regolatore + promotore + operatore + strutturali'); barra(50,120,100,160,2,c2); (* regolatore *) testo2(50,40,'gene regolatore');at; barra(190,120,240,160,3,c4); (* promotore *) testo3(150,50,'gene promotore');at; barra(250,120,300,160,4,c7); (* operatore *) testo4(250,60,'gene operatore');at; testo15(310,70,'gene1,gene2,gene3:strutturali'); barra(310,100,360,150,5,c15); (* gene1 *) barra(360,100,410,150,6,c15); (* gene2 *) barra(410,100,460,150,7,c15);at; (* gene3 *) barra(30,400,90,430,1,c2); getimage(30,400,90,430,regola); testo2(30,390,'repressore'); testo4(90,380,'induttore'); testo2(200,390,'RNA-polimerasi'); barra(90,400,100,410,2,c4); getimage(90,400,100,410,induce); barra(120,400,170,450,9,c2); getimage(120,400,170,450,polime); for h:=1 to 2 do begin come1; x:=50;y:=160; for k:=1 to 19 do begin putimage(x,y,regola,2);at;putimage(x,y,regola,1); x:=x+k;end; putimage(x,y,regola,2);pausa1;come2; x:=250;y:=260; for k:=1 to 12 do begin putimage(x,y,induce,2);at;putimage(x,y,induce,1); y:=y-k;end;putimage(x,y,induce,2);at; barra(220,160,300,210,1,0);at; x:=250;y:=160; for k:=1 to 12 do begin putimage(x,y,regola,2);at;putimage(x,y,regola,1);y:=y+k;end; pausa1; come3;x:=190;y:=230; for k:=1 to 15 do begin putimage(x,y,polime,2);putimage(x,y,polime,1); y:=y-k;end;putimage(x,y,polime,2);pausa1; x:=190;y:=120; for k:=1 to 30 do begin putimage(x,y,polime,1);at;putimage(x,y,polime,1); if k=14 then begin testo2(310,270,'m-RNA1');line(310,150,310,270);end; if k=18 then begin testo3(350,280,'m-RNA2');line(360,150,360,280);end; if k=22 then begin testo4(400,290,'m-RNA3');line(410,150,410,290);end; x:=x+k;end;pausa1; (* ripete operazioni *) barra(10,160,600,450,1,0); end; end; procedure scelta; var sce:integer; begin cleardevice; settextstyle(0,0,1); setcolor(c3); pro1; testo(20,20,'scrivi 1 per rivedere,2 per finire'); gotoxy(5,5);readln(sce); if sce=1 then scelta; end; procedure inizio; begin settextstyle(4,0,4); outtextxy(50,50,'modello OPERONE'); pausa1;cleardevice; end; begin clrscr; writeln('scrivi valore per pausa nella esecuzione'); writeln('numero intero da 100 (veloce ) a 2000 (lento):prova 100..500..1000.. '); repeat write('valore= ? ');readln(tempo); until (tempo>10) and (tempo<2100); c2:=2;c3:=3;c4:=4;c6:=6;c15:=15;c7:=7; clrscr;textcolor(c3); writeln('esempio di regolazione della attivazione dei geni'); writeln('secondo il modello batterico dello OPERONE'); writeln('il gene REGOLATORE codifica per una proteina :REPRESSORE'); writeln('il REPRESSORE si lega al gene OPERATORE impedendo allo enzima'); writeln('RNA-polimerasi di legarsi al PROMOTORE e trascrivere '); writeln('i geni STRUTTURALI....premi INVIO');readln; writeln;textcolor(c2); writeln('una sostanza agisce come INDUTTORE legandosi al REPRESSORE'); writeln('staccandolo dal gene OPERATORE rendendo possibile il legame'); writeln('della RNA-polimerasi al gene PROMOTORE...premi INVIO');readln; textcolor(c3);writeln; writeln('la RNA-polimerasi legge i geni STRUTTURALI operando la'); writeln('trascrizione da DNA a m-RNA che verra tradotto in proteine'); writeln('nei RIBOSOMI citoplasmatici....premi INVIO');readln; textcolor(c2);writeln; writeln('in assenza di induttore il REPRESSORE blocca nuovamente'); writeln('il gene OPERATORE e la trascrizione di m-RNA'); textcolor(c15); writeln('premi INVIO');readln;clrscr; grafica;inizio;scelta;closegraph; end.