Issuu on Google+

INSTITUTO TECNOLÓGICO SUPERIOR DE SAN MARTÍN TEXMELUCAN

INGENIERÍA EN SISTEMAS COMPUTACIONALES “EJERCICIOS – UNIDAD 3” ALUMNO: ANTONIO MORALES RAMÍREZ 4ºA I.S.C. MATERIA: TEORÍA DE LA COMPUTACIÓN

PROFESORA: YESENIA PÉREZ REYES


Ejercicios de Teoría de la Computación 1. Cada nombre y apellido debe comenzar por mayúscula. Gramática: nombre nom nom2 esp nom nom2 nom2 esp nom | nom nom min | may may A|B|C|D|…|Z min a | b | c | d | … | z esp “ ”. ¿Determinar cuáles son los elementos No Terminales? N= {nombre, nom, nom2, esp} ¿Determinar cuáles son los elementos Terminales? T= {A, B, C, … Z, a, b, c, … z} ¿Cuál es el símbolo inicial? S= {nombre} Derivar por la izquierda para obtener tu nombre con apellidos y el de otra persona que tenga dos nombres y sus apellidos. Realizar los arboles de Derivación. Generar mi nombre : Antonio Morales Ramírez nombre nom nom2 esp nom nom2 nombre nom min nom2 esp nom nom2 nombre nom min min nom2 esp nom nom2 nombre nom min min min nom2 esp nom nom2 nombre nom min min min min nom2 esp nom nom2 nombre nom min min min min min nom2 esp nom nom2 nombre nom min min min min min min nom2 esp nom nom2 nombre may min min min min min min nom2 esp nom nom2


nombre A min min min min min min nom2 esp nom nom2 nombre An min min min min min nom2 esp nom nom2 nombre Ant min min min min nom2 esp nom nom2 nombre Anto min min min nom2 esp nom nom2 nombre Anton min min nom2 esp nom nom2 nombre Antoni min nom2 esp nom nom2 nombre Antonio nom2 esp nom nom2 nombre Antonio esp nom nom2 nombre Antonio nom min nom2 nombre Antonio nom min min nom2 nombre Antonio nom min min min nom2 nombre Antonio nom min min min min nom2 nombre Antonio nom min min min min min nom2 nombre Antonio nom min min min min min min nom2 nombre Antonio may min min min min min min nom2 nombre Antonio M min min min min min min nom2 nombre Antonio Mo min min min min min nom2 nombre Antonio Mor min min min min nom2 nombre Antonio Mora min min min nom2 nombre Antonio Moral min min nom2 nombre Antonio Morale min nom2 nombre Antonio Morales nom2 nombre Antonio Morales esp nom nombre Antonio Morales nom min nombre Antonio Morales nom min min nombre Antonio Morales nom min min min nombre Antonio Morales nom min min min min nombre Antonio Morales nom min min min min min min nombre Antonio Morales may min min min min min min nombre Antonio Morales R min min min min min min nombre Antonio Morales Ra min min min min min nombre Antonio Morales Ram min min min min nombre Antonio Morales Ramí min min min nombre Antonio Morales Ramír min min


nombre Antonio Morales Ramíre min nombre Antonio Morales Ramírez Generar nombre: Juan Manuel Tlatoa Ordoñez nombre nom nom2 esp nom nom2 nombre nom min nom2 esp nom nom2 nombre nom min min nom2 esp nom nom2 nombre nom min min min nom2 esp nom nom2 nombre nom min min min min nom2 esp nom nom2 nombre nom min min min min min nom2 esp nom nom2 nombre may min min min min min nom2 esp nom nom2 nombre J min min min nom2 esp nom nom2 nombre Ju min min nom2 esp nom nom2 nombre Jua min nom2 esp nom nom2 nombre Juan esp nom esp nom nom2 nombre Juan nom esp nom nom2 nombre Juan nom min esp nom nom2 nombre Juan nom min min esp nom nom2 nombre Juan nom min min min esp nom nom2 nombre Juan nom min min min min esp nom nom2 nombre Juan nom min min min min min esp nom nom2 nombre Juan may min min min min min esp nom nom2 nombre Juan M min min min min min esp nom nom2 nombre Juan Ma min min min min esp nom nom2 nombre Juan Man min min min esp nom nom2 nombre Juan Manu min min esp nom nom2 nombre juan Manue min esp nom nom2 nombre Juan Manuel esp nom nom2 nombre Juan Manuel nom nom2 nombre Juan Manuel nom min nom2 nombre Juan Manuel nom min min nom2 nombre Juan Manuel nom min min min nom2 nombre Juan Manuel nom min min min min nom2


nombre Juan Manuel nom min min min min min nom2 nombre Juan Manuel may min min min min min nom2 nombre Juan Manuel T min min min min min nom2 nombre Juan Manuel Tl min min min min nom2 nombre Juan Manuel Tla min min min nom2 nombre Juan Manuel Tlat min min nom2 nombre Juan Manuel Tlato min nom2 nombre  Juan Manuel Tlatoa nom2 nombre Juan Manuel Tlatoa esp nom nombre Juan Manuel Tlatoa nom nombre Juan Manuel Tlatoa nom min nombre Juan Manuel Tlatoa nom min min nombre Juan Manuel Tlatoa nom min min min nombre Juan Manuel Tlatoa nom min min min min nombre Juan Manuel Tlatoa nom min min min min min nombre Juan Manuel Tlatoa nom min min min min min min nombre Juan Manuel Tlatoa may min min min min min min min nombre Juan Manuel Tlatoa O min min min min min min nombre Juan Manuel Tlatoa Or min min min min min nombre Juan Manuel Tlatoa Ord min min min min nombre Juan Manuel Tlatoa Ordo min min min nombre Juan Manuel Tlatoa Ordoñ min min nombre Juan Manuel Tlatoa Ordoñe min nombre Juan Manuel Tlatoa Ordoñez


2. Sea la Gramática. S  (L) | a L  L, S | S ¿Determinar cuáles son los elementos No Terminales? N= {S, L} ¿Determinar cuáles son los elementos Terminales? T= {a} ¿Cuál es el símbolo inicial? S= {(L)} Generar los siguientes lenguajes derivando por la izquierda y por la derecha. (a, a) (a, (a, a)) (a, ((a, a), (a, a))) Realizar los árboles de derivación Lenguaje Generado (a, a) S (L) S (L, S) S (S, S) S  (a, S) S (a, a)


Árbol

Lenguaje Generado (a, (a, a)) S (L) S (L, S) S  (S, S) S  (a, S) S  (a, (L)) S  (a, (L, S)) S  (a, (S, S)) S  (a, (a, S)) S(a, (a, a))


Árbol

Lenguaje Generado (a, ((a, a), (a, a))) S (L) S  (L, S) S  (S, S) S (a, S) S  (a, (L)) S  (a, (L, S)) S  (a, (S, S)) S  (a, ((L), S)) S  (a, ((L, S), S)) S  (a, ((S, S), S)) S (a, ((a, S), S)) S  (a, ((a, a), S)) S  (a, ((a, a), (L))) S  (a, ((a, a), (L, S))) S  (a, ((a, a), (S, S))) S  (a, ((a, a), (a, S))) S  (a, ((a, a), (a, a)))


Árbol

3. Sean las siguientes Gramáticas pasarlas a su forma normal de Chomsky: Gramática: S  zMz M N M  yMy Nx Eliminando los no generadores S  zMz M N M  yMy N x


Eliminando simbolos no alcanzables S  zMz M N M yMy N x Eliminando producciones Ԑ S zMz M N M yMy N x Eliminando producciones Unitarias SzMz M x M yMy N x Reemplazar terminales por variables S C1MC1 M A1 M B1MB1 NA1 A1x B1y C1z Reemplazar producciones con tres o más variables S C1Y1 M A1 M B1Y2 N A1 A1x B1y


C1z Y1M1C1 Y2MB1 Gramática: S  xSy S  wNz Ns Eliminando los no generadores S  xSy S wNz Ns Eliminando simbolos no alcanzables S  xSy S  wNz Ns Eliminando producciones E S  xSy S  wNz Ns Eliminando producciones Unitarias S  xSy S  wNz Ns Reemplazar terminales por variables SA1SB1 S  D1NC1 N  E1 A1  x


B1 y C1  z D1  w E1  s Reemplazar producciones con tres o más variables S  A1Y1 S  D1Y2 N  E1 A1  x B1  y C1  z D1 w E1  s Y1  SB1 Y2  NC1 Gramática: S  aNa NM N  bNb Mx Eliminando los no generadores S aNa NM N  bNb Mx Eliminando símbolos no alcanzables S  aNa NM N  bNb Mx


Eliminando producciones E S  aNa NM N  bNb Mx Eliminando producciones Unitarias S  aNa Nx N vbNb Mx Reemplazar terminales por variables S  X1NX1 N  Z1 N  Y1NY1 M  Z1 X1  a Y1  b Z1  x Reemplazar producciones con tres o más variables S  X1A1 N  Z1 N  Y1A2 M  Z1 X1 a Y1  b Z1x A1  NX1 A2 NY1


4. Hacer una gramática independiente del contexto (G. I. C.), que genere la sentencia condicional if con las siguientes restricciones: Siempre se va a comparar una variable con un número entero o una variable con otra variable. Los operadores relacionales son: < | > | ≤ | ≥ | == | != Las variables deben empezar en una letra y después de esa letra pueden haber cualquier cantidad de números o letras. Los números solamente van a ser enteros de cualquier cantidad de dígitos. Un número no debe empezar en cero, pero puede ser cero. Se pueden utilizar los operadores lógicos && (and) y || (or). Solamente se van a utilizar los paréntesis después de if y al final del if. 5. Dada la siguiente gramática, eliminar la ambigüedad, factor izando términos comunes izquierdos y recursividad izquierda. SE EE+F|E–F|F F F * L | F / L | L L ( E ) | num | id Eliminación por factorización de términos comunes izquierdos SE E  FE´ E´  +E|E-|E F  F´|L F´  *F| F/| E L  (E) |num|id


Eliminación de recursividad por la izquierda SE E  E´+F|E´-F|F E´  E F  F´*L|F´/L|L F´  F L  (E) |num |id


Ejercicios unidad 3