Análise de Mendel

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

As leis de Mendel, pola súa base estatística, pódense aprender facilmente a través do computador.

Por outra banda, a medida que o cálculo se complica, débese saber que a dificultade do programa complícase de forma xeométrica.

Este programa é só una aproximación á aprendizaxe dialogada das leis de Mendel. Paira iso utilizarase un sinxelo exemplo.

Supoñamos que temos un carácter hereditario concreto, como a cor. Utilizaremos G paira indicar o vermello e Z paira indicar o branco. Ademais, non se indicará quen ten prioridade.

Considerarase un xene por cada cromosoma e, una vez dados os genotipos de ambas as persoas con precisión, preténdese coñecer o genotipo dos fillos de primeira xeración. Una vez respondida, o computador comparará coa resposta real e decidirá si corrixir ou non.

Os primeiros genotipos serán creados aleatoriamente polo computador e comunicados ao usuario.

Por exemplo, si uno dos pais é BA e o outro AD, o resultado real será:

V

C

C

SS

CD

C

SS

CD

e o genotipo dos fillos de primeira xeración:

SS.CC. DG

Observacións:

1.- Como verás, na liña 400 deste programa utilizouse a función CSRLIN. Esta función devolve como resultado a liña na que se atopa o cursor nun momento dado.

O obxectivo desta liña é substituír as preguntas que se lle van a facer ao usuario na pantalla por outras novas na columna 1. Paira iso utilizouse a sentenza LOCATE X, E, onde X indicará a liña e E a columna.

No noso caso E será o mesmo durante todo o ciclo, pero X ten que ir engadindo cada vez que se execute a sentenza. Por outra banda, esta sentenza está incluída en dúas sentenzas FOR, polo que non é posible expresar a liña mediante os índices I e J. Por tanto, e dado que a sentenza INPUT leva automaticamente o cursor á seguinte liña, basta con utilizar a función CSRLIN.

Si é necesario, ocorreráseche outra solución posible, é dicir, pór espazos en branco á hora de introducir o texto na sentenza INPUT. No entanto, saiba que tamén se pode utilizar a función CSRLIN.

2.- Na maioría dos programas de diálogo é necesario introducir pausas para que o usuario poida ler as pantallas que se lle mostran.

En moitos casos, estes pasos adoitan ser fixos, é dicir, definidos polo programador e son iguais cada vez que se realiza o programa.

Si temos en conta que cada persoa leva un ritmo diferente, o ideal é expresar o seu desexo de seguir adiante pulsando una tecla e é o que se fai neste programa nas liñas 250-290. Doutra banda, e dado que a función INKEY ten en conta todas as teclas pulsadas, é conveniente que se esqueza das teclas que se pulsaron antes de que apareza a mensaxe de pulsar una tecla na pantalla. Se non fóra así, pasaríanos sen tempo paira ler a pantalla. É o que se fai nas liñas 270-280.


10 ANÁLISE DE MENDEL REM
20 KEY OFF : CLS
30 LOCATE 5,31 : PRINT "ANÁLISE DE MENDEL"
40 LOCATE 9,7 : PRINT "O obxectivo deste programa é realizar unha sinxela análise de Mendel."
50 LOCATE 12,7 : PRINT "Nel analizarase o genotipo dos fillos de primeira xeración. Bes-
60 LOCATE 14,7 : PRINT "só terase en conta un xene por cada grupo, cromosoma."
70 LOCATE 17,7 : PRINT "As características expresaranse coas letras G (VERMELLA) e Z (BRANCA)."
1$








THEY=160$






MES




EXTRA


320 LOCATE 5,23 : PRINT "--------------------------------"
330 LOCATE 7,30 : PRINT "PAI" : LOCATE 7,46 : PRINT "NAI"
340
LOCATE 9,30 ;
PRINT$ PRINT "Cal será a configuración dos fillos de primeira xeración?"
370 LOCATE 14,30
380 FOR I=1 TO 2
390

FOR J=1 TO 2
400 LOCATE CSRLIN,30 : INPUT E$(I,J)
410


NEXT J
420
NEXT I
430 REM EN F440 !

Resposta correcta."
520 GOTO 590
530 LOCATE 19,10 : PRINT "MAL!! ! A resposta correcta é a seguinte: ";
540 FOR I=1 TO 2
550 FOR J=1 TO 2
560 PRINT, S.A$(I,J);";
570 NEXT J
580 NEXT I
590 LOCATE 21,31 : PRINT "Programa finalizado."
600 END
610 REM ANALISIS DE MENDEL AMAIA

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila