Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CARRERA:
INGENIERÍA EN SISTEMAS COMPUTACIONALES
(QUINTO SEMESTRE)
1
Índice
Ejercicios de clase................................................................................................................................ 3
Programa en java: Implementación de un autómata finito en java ............................................... 3
Diagrama en Jflap ............................................................................................................................ 5
Ejercicios de introducción a Jflap .................................................................................................... 8
Bibliografía ........................................................................................................................................ 11
2
Ejercicios de clase
Programa en java: Implementación de un autómata finito en java
3
Ejecución:
4
Diagrama en Jflap
Construir un autómata que reconozca cadenas que contienen un número par de
caracteres 'a' seguidos de un único carácter 'b'.
Para poder convertir un autómata ya sea Autómata Finito Determinista, o Autómata
Finito No Determinista, se toma en cuenta tener la expresión regular, en este caso
tenemos la expresión regular del ejercicio, la cual se muestra a continuación:
(aa)*(b)
Para que agreguemos la expresión regular, tenemos que ingresar a JFLAP, y dar
clic donde dice Regular Expresion, y allí ingresamos la expresión regular, como se
muestra en la siguiente imagen:
5
Expresión regular convertida a NFA:
6
Resultado:
Como resultado encontramos que los valores que ingresamos en las 3 primeras
cadenas son denegados y las ultimas 2 son aceptadas, ya que la expresión regular
(aa)*(b) se usa para buscar patrones específicos en una cadena y aceptara las
cadenas que cumplan con el patrón descrito.
7
Ejercicios de introducción a Jflap
Ejemplo: autómata que reconozca toda cadena que tenga un número impar de 1, la cadena estará
formada por elementos 0 o 1 y el autómata aceptara la cadena siempre que tenga un número impar
de 1
8
4. Se crea un nuevo estado
5. Se crea una transición del estado inicial a q1 (se está leyendo un 1, cantidad que es impar)
9
7. Si se lee otro 1 se volvería a tener otro número par de 1 por lo cual no se puede aceptar esa
cadena. Por lo tanto, se crea otra transición hacia el estado inicial que es de no aceptación,
con esto se crea un ciclo en donde cuando se lee un 1 es decir el primer 1 se pasa a estado
final, luego el segundo 1 hace la cantidad par y se pasa a estado no final
9. Se prueba el autómata para ver si acepta para ver que las cadenas que se han ingresado,
en donde en el menú superior de Jflap seleccionaremos (input--→múltiple Run)
10
10. Se ingresa la cadena a validar
BIBLIOGRAFÍA
1. https://youtu.be/hGpCYzN7hlA
11