Universidad Rey Juan Carlos Curso 2009–2010 Teorı́a de Autómatas y Lenguajes Formales Ingenierı́a Técnica en Informática de Sistemas Hoja de Problemas 3 Gramáticas Regulares Nivel del ejercicio : (⋆) básico, (♣) medio, (♠) avanzado. 1. (⋆) Dada la gramática G = ({S, A}, {0, 1, 2}, S, {S ::= 0A | 2, A ::= 0S | 1}), obténgase una gramática lineal izquierda equivalente. 2. (⋆) Dada la gramática G = ({S, T1 , T2 }, {a, b, c}, S, P) con las producciones P := {S ::= aT1 | bT1 | cT2 , T1 ::= aT1 | bT1 | cT2 , T2 ::= aT2 | bT2 | λ}), obténgase una gramática lineal izquierda equivalente. 3. (⋆) Construye una gramática regular que genere el lenguaje L = {a(bc)n | n ≥ 1}. 4. (⋆) Dado el alfabeto Σ = {a, b, c, d}, construye una gramática regular que genere las cadenas en Σ∗ que no contengan la secuencia “abc”. 5. (♣) Dado el alfabeto Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, construye una gramática regular que genere los números múltiplos de 3. 6. (♣) Dado un alfabeto finito Σ, demuestra que cualquier lenguaje finito L ⊆ Σ∗ es regular. 7. (♣) Dado el alfabeto Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /}, construye una gramática regular que genere las fechas de este siglo (ej., 10/01/07). Un año es bisiesto si es divisible por 4 y no es divisible por 100, o si es divisible por 400. Es decir, los años que terminan en 04, 08, . . . , 96 son todos bisiestos, mientras que los que terminan en 00 son bisiestos si son divisibles por 400 (por lo tanto el 2000 es bisiesto). Página 1 de 1