Javier Garcés Niño
Manuel Alberto Bolós Doñate
José Simó Albiol
MT para multiplicar:
Dados dos enteros n y m, obtener el resultado de la multiplicación.
ENTRADA: ...B00010000B...
SALIDA: ...B000000000000B...
0 | 1 | B | $ | |
q0 | (q0,0,R) | (q0,1,R) | (q1,$,L) | |
q1 | (q1,0,L) | (q1,1,L) | (q2,B,R) | |
q0 | (q1,B,R) | (q7,B,R) | (cambiar estados) | () |
q1 | (q1,0,R) | (q2,1,R) | ||
q2 | (q3,B,R) | (q5,$,L) | ||
q3 | (q3,0,R) | (q4,0,L) | (q3,$,R) | |
q4 | (q4,0,L) | (q2,B,R) | (q4,$,L) | |
q5 | (q6,1,L) | (q5,0,L) | ||
q6 | (q6,0,L) | (q0,B,R) | ||
q7 | (q7,B,R) | (q8,B,R) | ||
q8 |
MT para dividir:
Dados 2 enteros n y m, obtener el resto y el cociente de la división.
Nota: El final de la MT tiene una versión distinta a la propuesta en clase.
ENTRADA: ...B000100000B...
SALIDA: ...B0010B...
0 | 1 | B | Y | $ | |
q0 | (q0,0,R) | (q1,1,R) | |||
q1 | (q1,0,R) | (q2,B,L) | |||
q2 | (q3,$,L) | ||||
q3 | (q3,0,L) | (q4,1,L) | |||
q4 | (q4,0,L) | (q5,B,R) | |||
q5 | (q6,B,R) | ||||
q6 | (q6,0,R) | (q7,1,R) | |||
q7 | (q8,Y,R) | (q7,Y,R) | |||
q8 | (q9,0,L) | (q10,$,R) | |||
q9 | (q9,0,L) | (q9,1,L) | (q5,B,R) | (q9,Y,L) | (q9,$,L) |
q10 | (q10,0,R) | (q11,0,L) | |||
q11 | (q11,0,L) | (q12,$,L) | |||
q12 | (q12,0,L) | (q13,0,L) | |||
q13 | (q14,Y,R) | (q13,1,L) | (q17,B,R) | (q13,Y,L) | |
q14 | (q12,0,L) | (q14,1,R) | (q14,Y,R) | (q15,$,L) | |
q15 | (q16,1,L) | (q15,Y,L) | |||
q16 | (q16,0,L) | (q5,B,R) | (q16,0,L) | ||
q17 | (q18,B,R) | (q17,B,R) | (q17,B,R) | ||
q18 | (q18,0,R) | (q19,1,L) | |||
q19 |
MT para N2:
Dado un entero n, obtener el cuadrado de ese entero.
Nota: El procedimiento es diferente al propuesto en clase.
ENTRADA: ...B000B...
SALIDA: ...B000000000B...
0 | B | X | Y | Z | $ | |
q0 | (q1,X,R) | |||||
q1 | (q2,B,R) | (q2,Y,R) | ||||
q2 | (q3,Y,R) | (q3,Z,R) | (q6,$,L) | |||
q3 | (q3,0,R) | (q3,X,R) | (q3,Y,R) | (q3,Z,R) | (q4,$,R) | |
q4 | (q4,0,R) | (q5,0,L) | ||||
q5 | (q5,0,L) | (q2,Y,R) | (q2,Z,R) | (q5,$,L) | ||
q6 | (q7,B,R) | (q6,0,L) | (q6,X,L) | |||
q7 | (q7,0,R) | (q8,0,R) | ||||
q8 | (q9,X,L) | (q10,B,L) | ||||
q9 | (q9,0,L) | (q0,B,R) | ||||
q10 | (q10,B,L) | (q11,B,R) | ||||
q11 |
2 comentarios:
Correciones de las MT's.
Multiplicacion: El simbolo 2 deberia de ser una B y no se prepara la cadena, es decir, no se añade el $ al final ;).
Division: Con la cadena 00100000 por ejemplo, al cabo de unos pocos pasos, llegamos a BBq51YY00$. q5 no tiene transicion con 1, es decir, acabaria la maquina. Yo recomiendo tachar los 0's del principio tambien con Y o con X para que no se confundan con los otros B y así es mas facil.
N Cuadrado: De q0 con 0 pasas a q1 y sustituyes por X, es decir, de qo000 a Xq100 y luego que? no hay transicion desde q1 al leer un 0. Mira a ver, si podeis arreglar las maquinas, si no me he explicado bien o algo, preguntad ;). Un saludo!
Ok, miraremos los fallos, posiblemente nos dejariamos alguna fila sin poner la transición.
Publicar un comentario