• Lunes 18 de Noviembre de 2024, 04:50

Autor Tema:  problema con un AFD  (Leído 1305 veces)

alroux

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
problema con un AFD
« en: Domingo 7 de Marzo de 2010, 19:30 »
0
hola, tengo un problema con un AFD el lengueje es el siguiente en el alfabeto a,b  "acepte cadenas con 0 o numeros pares de a's", con lógica lineal ya lo tengo, solo convierto la cadena a un array y cuento las a's pero necesito hacerlo con funciones (para k realicen la labor de un estado), porfa si me pueden ayudar cn un ejemplo o un tutorial se los agradeceria:-)

eltruhanero

  • Miembro activo
  • **
  • Mensajes: 85
    • Ver Perfil
Re: problema con un AFD
« Respuesta #1 en: Lunes 8 de Marzo de 2010, 23:42 »
0
a  ver ... el AFD tendria 2 estados:

-> empezando en el estado e_0
-> del estado e_0 con una 'a' paso al estado e_1
-> del estado e_1 con una 'a' paso al estado e_0
-> el estado e_0 es el estado final.

Suponete una clase MaquinaDeEstados, que tiene una variable "int estado" inicializada en el estado inicial e_0 ( o sea valor '0' ).

Ademas podrias tener 2 funciones, una q implementa la transacion de e_0 -> e_1 y orta q implementa e_1 -> e_0.

MaquinaDeEstados  maquina = new MaquinaDeEstados ();
mientras hayan a's q leer
haces
    si maquina.estado_actual == e_0
     hago
           maquina.transicionE_0aE_1();
     sino
            maquina.transicionE_1aE_0();
    fin si
fin mientras.

si maquina.estado_actual == e_0
     Consola.Imprimir("CADENA ACEPTADA");
sino
    Consola.Imprimir("CADENA NO ACEPTADA");


Bueno espero q sirva y q no sea demasiado trivial. cualquier cosa re postea y vemos.

alroux

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: problema con un AFD
« Respuesta #2 en: Martes 9 de Marzo de 2010, 23:51 »
0
mil gracias era lo que estaba buscando.