domingo, 13 de abril de 2008

MT "multicinta" para sacar Divisores

Maquina de Turing multicinta para calcular Divisores



Idea: Usamos 3 cintas. En la primera tenemos la cadena original, en la segunda apuntamos los posibles divisores, y en la tercera vamos apuntando los divisores separados por 1's
Es decir:
Cinta1: 000000
Cinta2:0000
Cinta3:01001000
A continuación explicamos que "hace" la MT en cada grupo de estados, es decir, la distintas fases del proceso de calculo de divisores:

En q0 ponemos el primer divisor, y como sabemos que el 1 es divisor de todos tambien lo añadimos al resultado.
En q1 ponemos el segundo divisor, que sera el 2.
En q2 Si vamos tachando parejas hasta que una cadena llega a blanco o las dos, si son las dos vamos a q4, si la segunda cadena llega a B vamos a q3.
En q3 ponemos a 0 las X de la segunda cadena y volvemos a q2 para tachar parejas. Y en q2 si la primera cadena llega a B entonces……
En q4 ponemos a cero los numeros del divisor y copiamos el divisor en la tercera cadena y vamos a q5, entonces en q5 ponemos a 0 todas las cadenas, sin X.
En q6 y q7 compruebo si el numero que miramos si es divisor es mayor que la mitad del que estamos buscando sus divisores.
En q9 es estado final, y en q8 se deja la cadena preparada para comparar el siguiente numero

3 comentarios:

Manolosuke dijo...

si si si... no esta mal la makina, aunke la nuestra es mejor, x cierto niko te dejesta el libro de talf en clase?? si es tuyo lo tengo yo... y sino ke koño tengo?? venga, dew!!

Fluket19 dijo...

pues si, si es mio :p. y no lo pierdas, que lo tengo de hace unos 3 añicos y ya le he cogido cariño xD

Manolosuke dijo...

que arias sin mi... XD hasta el lunes makinista!!.