Documento 838304

Anuncio
INSTITUTO TECNOLÓGICOSUPERIOR DE
SAN MARTÍN TEXMELUCAN
EQUIPO: JUAN ANTONIO SERRANO GALICIA
ALFONSO RAMOS DE ANGUEL
DIANA RODRIGUEZ HERNANDEZ
MIRIAN ATLIXQUEÑO GONZALEZ
ELISA FLORES TELLEZ
ANGY MAGDALENA CEDILLO B.
ASIGNATURA: TEORIA DE LA COMPUTACIÒN
PROFESOR: YESENIA
GRADO: 4° SEMESTRE
GRUPO: “A”
PRACTICA
2
PORTAFOLIO
DE EVIDENCIAS
San Martín Texmelucan, Puebla 23 de marzo del 2011
TEORIA DE LA COMPUTACION
PLAN ISIC-2004-296
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Metodos Numericos
Práctica
2
OBJETIVO:
Representará lenguajes a través de autómatas, expresiones regulares y su aplicación.
Desarrollar ejercicios para la representación de lenguajes por medio de AFD, AFN, AFN-e y expresiones
regulares. A si como también utilizar un lenguaje de programación de alto nivel para representar expresiones
regulares.
MARCO TEÓRICO
Un Autómata Finito Determinístico (DFA) no es más que una máquina que consta de un
conjunto finito de estados, de ahí el nombre de Máquina de Estados. Uno de estos estados debe
ser la entrada de la máquina. En todo DFA debe existir uno o varios estados finales o de
aceptación.
Un DFA debe constar de un lenguaje (o símbolos de entrada) el cual es el conjunto de caracteres
que aceptara dicha máquina.
Todo DFA contiene un conjunto de transiciones. Cada estado debe tener una transición por cada símbolo que
exista en el lenguaje. Estas transiciones deberán comunican un estado con otro (o se mantiene recursivos en el
mismo estado). Una transición puede ser transitada si, y solo si, el símbolo de entrada que se está procesando
es uno de los símbolos1 que permite el paso a través de la transición.
Una cadena (o palabra) es una sucesión de símbolos que están contenidos dentro del lenguaje
del autómata. Se dice que una cadena es aceptada cuando al haber consumido todos los
símbolos contenidos en esta (por medio de las transiciones), se llega a un estado final o de
aceptación.
4.- PROCEDIMIENTO
1.-Programar un autómata finito determinista
2.- utilice un lenguaje de alto nivel
3.-mostrar los resultados en pantalla
Fecha de Actualización 22/03/2011
Página 2
Metodos Numericos
5.- APARATOS E INSTRUMENTOS
 Una PC
 Un Lenguaje de alto nivel
 Sistema Operativo Windows o Linux
6.- PRACTICA A REALIZAR
AUTOMATA FINITO DETERMINISTICO
5-tuplas
∑={a,b}
M={Q, ∑,S,A,S }
Q={𝑞0, 𝑞1 𝑞2, 𝑞3, }
A={𝑞0, 𝑞1 𝑞2, }
S={𝑞0, }
S
a
b
𝒒𝟎,
𝑞0,
𝑞1,
𝒒𝟏,
𝑞0,
𝑞2
𝒒𝟐
𝑞0,
𝑞3,
𝒒𝟑,
𝑞3,
𝑞3
Fecha de Actualización 22/03/2011
Página 3
Metodos Numericos
Alguna de las cadenas de aceptación mostradas en el lenguaje regular
L(r)={a,b,aa,bb,ab,aabb,aaabb,aaaabb…..}
Fecha de Actualización 22/03/2011
Página 4
Metodos Numericos
A continuación con ayuda del programa de “Jflap” mostraremos que
cadenas son aceptadas y que cadenas son rechazadas…
Observamos en la parte izquierda el diagrama elaborado con dicho
autómata y en la parte derecha observamos que cadenas son
aceptadas y cuáles no pertenecen al nuestro autómata.
Si observamos bien en la parte derecha, nos damos cuenta de que al insertar tres “b”
consecutivas en una cadena el resultado que nos arrojara será rechazado…
Y si por lo menos a una cadena contiene por lo menos una “b” o dos “b” es aceptada la
cadena, también se observa que al insertar varias “a” son aceptadas. El problema seria
que no reconoce tres “b” consecutivas en dicho autómata.
Fecha de Actualización 22/03/2011
Página 5
Metodos Numericos
ÏÏÏimport javax.swing.JOptionPane;
ÏÕÖ×class Automata{
ÏϧÏÞßàpublic static void main (String args [])
ÏϧÏϧ{
ÏϧÏϨ¹íÏint c=0;
ÏϧÏϨ¹íÏString cadena;
ÏϧÏϨ¹¹ÏJOptionPane.showMessageDialog(null,"AFD(!Automata
finito detreministico!)");
ÏϧÏϨ¹¹ÏJOptionPane.showMessageDialog(null,"EQUIPO:\n**DIANA
RODRIGUEZ HERNANDEZ\n**ELISA FLORES TELLEZ\n**MIRIAM
ATLIXQUEÑO GONZALEZ\n**ANGELICA MAGDALENA CEDILLO
BOTELLO\n**JUAN ANTONIO SERRANO GALICIA\n**ALFONSO RAMOS DE
ANGUEL");
ÏϧÏϨ¹¹ÏJOptionPane.showMessageDialog(null,"algunas de las
cadenas de
aceptacion.\nL(r)={a,b,aba,aa,bb,aaa,aabb,aaabb,aaaabb,abaabba
abb...}");
ÏϧÏϨ¹¹ÏJOptionPane.showMessageDialog(null,"ESTE LENGUAJE NO
ACEPTA CADENAS DONDE CONTENGAN TRES b REPETIDAS\n YA QUE NOS
MARCARIA CADENA NO ACEPTADA");
Fecha de Actualización 22/03/2011
Página 6
Metodos Numericos
ÏϧÏϨ¹¹Ïcadena=JOptionPane.showInputDialog("Escribe una
cadena: ");
ÏϧÏϧ
ÏϧÏϨ¹íÏint tam=cadena.length();
ÏϧÏϨ¹íÏchar arr[]=new char [tam];
ÏϧÏϨ¹¹Ïarr=cadena.toCharArray();
ÏϧÏϨ¹¹±for (int i=1; i<tam; i++)
ÏϧÏϧÏÏ7¹³´if (arr [i]=='b')
ÏϧÏϧÏϰ϶¾¹¹Ïc++;
ÏϧÏϨ¹³´if ((arr[0]=='a') && (c==tam-1))
ÏϧÏϧÏ6¾¹¹ÏJOptionPane.showMessageDialog(null, "Cadena
aceptada");
ÏϧÏϧÏ6Ï
ÏϧÏϧÏö´else
ÏϧÏϧÏȾ¹¹ÏJOptionPane.showMessageDialog(null, "Cadena no
aceptada");
ÏϧÏϧ
ÏϧÏϧÏϧÏϧ
ÏϧÏÏ©}
ÏÏ©}
Programa mostrado en pantalla con ayuda del programa JGRAPS
Fecha de Actualización 22/03/2011
Página 7
Metodos Numericos
Fecha de Actualización 22/03/2011
Página 8
Metodos Numericos
Fecha de Actualización 22/03/2011
Página 9
Metodos Numericos
Fecha de Actualización 22/03/2011
Página 10
Metodos Numericos
Al introducir esta cadena se observa que nos arrojara un mensaje que
dice cadena aceptada, porque la cadena no contiene “tres b” repetidas
Ahora si insertamos una cadena que contenga tres “B” nos mostrara un
mensaje de cadena no aceptada….
Cadena no aceptada
Fecha de Actualización 22/03/2011
Página 11
Metodos Numericos
Otra cadena insertada
Cadena no aceptada
Fecha de Actualización 22/03/2011
Página 12
Metodos Numericos
Un lenguaje formal es un lenguaje cuyos símbolos primitivos y reglas para unir esos símbolos están
formalmente especificados. Al conjunto de los símbolos primitivos se le llama el alfabeto (o vocabulario) del
lenguaje, y al conjunto de las reglas se lo llama la gramática formal (o sintaxis). A una cadena de símbolos
formada de acuerdo a la gramática se la llama una fórmula bien formada (o palabra) del lenguaje. Pero a la vez
muy dificultoso para reconocer este lenguaje con algún lenguaje de programación de alto nivel.
BIBLIOGRAFÍAS

es.wikipedia.org/wiki/Lenguaje_formal –

utpl.edu.ec/ecc/wiki/index.php/Teoría_de_Autómatas –
 www.buenastareas.com/.../expresiones-regulares-teoria-de-la-computacion
Fecha de Actualización 22/03/2011
Página 13
Descargar