SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: alroux en Domingo 7 de Marzo de 2010, 19:30
-
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:-)
-
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.
-
mil gracias era lo que estaba buscando.