Sei sulla pagina 1di 12

INSTITUTO TECNOLGICO DE TAPACHULA

Asignatura: Lenguajes y Autmatas I

rea acadmica: Ingeniera en sistemas computacionales.


Catedrtico: Anamin Villarreal Wong

Integrantes del equipo:


Morales Vera Ulices Elevi
Glvez de los Santos Daro
Gordillo Maldonado Mayra Virginia
Balderas Avalos Maya Beln
Balanzar Hernndez Aurora Lucia

Pgina | 1

ndice
Introduccin...............................................................................................................3
Ejecucin del autmata.............................................................................................5
Cdigo fuente.............................................................................................................8
Autmata..................................................................................................................11
Conclusin...............................................................................................................12

Pgina | 2

Introduccin
Los autmatas finitos son maquinas abstractas que procesan cadenas de entrada,
las cuales son aceptadas o rechazadas. Utiliza la tabla de transacciones de cada
estado. En este autmata si ningn estado de transicin es especificado, la
cadena entrante es rechazada.
En esta documentacin se hace mencin de un AFD el cual validar o
rechazar la cadena de un tipo de caracteres que acepten nmeros positivos,
negativos, con o sin valor exponencial positivo/negativo.

Pgina | 3

AFD Autmata Finito Determinista

= {-, +, ., d, e, fdc }
Q= {1, 2, 3, 4, 5, 6, 7, 8}
Q0= {1}
T= {2, 5, 8}
TF= {(1, d, 2), (1,+,3), (1,-,3), (2,d,2), (2,.,4), (4,d,5), (5,d,5), (5,e,6), (6,+,7), (6,-,7),
(6,d,8), (7,d,8), (8,d,8)}
Tabla de transicin

Pseudocdigo:

Pgina | 4

A continuacin se muestran la explicacin de las partes que contienen nuestro


programa del autmata.

Ejecucin del autmata


Al ejecutar el programa lo primero que muestra en ventana es la tabla de
transicin del autmata como se muestra en la figura 1.
Tabla de transicin del autmata

Fig. 1
El programa requiere que se escriba sobre la caja de texto la cadena de
caracteres a evaluar, al presionar el botn de Validar Cadena comienza la
ejecucin del autmata como se muestra en la figura 2.

Oprimir Validar cadena


Escribir

Fig. 2

Pgina | 5

El autmata empieza a verificar la tabla de transacciones dentro del programa y se


inicia el llenado de la tabla de validacin:

Fig. 3

Fig. 4

Fig. 5
Pgina | 6

Si la cadena es rechazada o valida por la tabla de transacciones segn nuestro


autmata el programa directamente mandar el mensaje final como se muestra en
la figura 6 y 7.

Fig. 6

Fig. 7

Pgina | 7

Cdigo fuente
La tabla tiene un evento de ventana la cual permite la visualizacin de contenido
en las posiciones, antes declarado en la matriz en el constructor:
String Matriz [ ][ ];
public pro ( )
{
Matriz= new String [10] [10];

Fig. 8
En esta seccin se enva a la tabla la instruccin de remover lo que
contiene para que durante la ejecucin pueda validar diferentes cadenas y sea
posible la visualizacin de una nueva validacin.

Fig. 9
Pgina | 8

Como el hilo primerose inicaliz en la figura 9 llama directamente al metodo


run().

Obtencin de la cadena
del Text Field Validar.

Fig. 10
En la figura 10 la variable cad almacena la palabra ingresada. En el ciclo for se
almacena la palabra por posiciones en el arreglo letra [obteniendo la longitud que
tiene cad] .
La instruccin charAt(x) sirve para referenciar a que posicion de cad va a cortar.
Ejemplo
Se ingresa: +12.12

entonces cad= +12.12

Dentro del for(x=0;x<6;x++)


{
Se almacena lo siguiente con ayuda del corte en la posicion del charAt()
letra[0]=+
letra[1]=1
letra[2]=2
letra[3]=.
letra[4]=1
letra[5]=2
}
En la ultima posicion (6) del arreglo se le asigna fdc, ya que serequiere para
evaluar toda la cadena al final.

Pgina | 9

En este seccion de cdigo se recorre el arreglo letra[ ] para comparar si la entrada


de simbolo pertenece a un dgito, coma, signo de suma, resta, exponente y lo
alamacena en el arreglo pseudo[ ].

Fig. 11

Pgina | 10

Autmata

Dentro del swich se evala la variable


smbolo que es igual al arreglo
pseudo[ ] en la posicin cont. En esta
restriccin entrada tomar el valor
dependiendo de la matriz Matriz[ ][ ] si
es igual a digito, punto, ms, menos,
fdc .Si no es ninguno de esos es
cadena invalida y se detiene el hilo.

Estado= Matriz [estado][entrada];


Evala lo que contiene nuestra tabla de
transiciones y estado toma el valor de
lo que hay en esa matriz.

Mientras estado sea diferente de A en


las posiciones que se manden ser
cadena invlida y terminar el ciclo.

Si estado es diferente de E en las


posiciones que se manden ser
cadena aceptada y termina el ciclo.

Pgina | 11

Conclusin

Pgina | 12

Potrebbero piacerti anche