Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SesionPL9-GramaticasR+LC - Soluciones
SesionPL9-GramaticasR+LC - Soluciones
SESIÓN PL9
1
Ejercicios
1. Determinar la gramática que genera el lenguaje reconocido
por el siguiente AF:
1 0 1
0 1 1 0
A B C D E
0 0
1
Solución:
G= ({A,B,C,D,E}, {0,1}, A, P) siendo
P ={ A à 0B | 1A
B à 0B | 1C
C à 0B | 1D
D à 0E | 1A | λ
E à 0D | 1C | λ }
Ejercicios
2. Construir el autómata que reconoce el lenguaje generado
por la siguiente gramática
G=(V, T, P, S) P: { S → 1B | 1C
V = {S, A, B, C} A → 1B | 1C
T = {0, 1} B → 0A
C→λ }
Ejercicios
2. Construir el autómata que reconoce el lenguaje generado
por la siguiente gramática
G=(V, T, P, S) P: { S → 1B | 1C
V = {S, A, B, C} A → 1B | 1C
T = {0, 1} B → 0A
C→λ }
Solución:
Ejercicios
3. Dada la expresión ac*(a+b)(ab+bb)*, indica cuál sería una
gramática regular equivalente:
a) G=({A,B,C,D,E}, {a,b,c}, P, A) b) G=({A,B,C,D,E,F}, {a,b,c}, P, A)
P: { A → aB P: { A → aB
B → cB | aC | bC B → cB | aC | bC
C → aD | bE | λ C → aD | bE
D → bC D → bF
E → bC } E → bF
F→λ }
V = {S, A, B} P: { S → AzB
T = {x, y, z} A → xA | λ
B → By | y }
V = {S, A, B} P: { S → AzB
T = {x, y, z} A → xA | λ
B → By | y }
El símbolo A generaría: xi , i ≥ 0
El símbolo B generaría: yj , j ≥ 1
El símbolo S generaría: xi z yj, i ≥ 0, j ≥ 1
V = {S, A, B} P: { S → AzB
T = {x, y, z} A → xA | λ
B → By | y }
V = {S, A, B} P: { S → AzB
T = {x, y, z} A → xA | λ
B → By | y }
λ y
Ejercicios
5. Sea la gramática G = (V, T, P, S) dada por:
V = {S, X, Y, Z} P: { S → XY
T = {a, b, 0, 1} X → 0X1 | λ
Y → Za | aY
Z → bZ | λ }
V = {S, X, Y, Z} P: { S → XY
T = {a, b, 0, 1} X → 0X1 | λ
Y → Za | aY
Z → bZ | λ }
V = {S, X, Y, Z} P: { S → XY
T = {a, b, 0, 1} X → 0X1 | λ
Y → Za | aY
Z → bZ | λ }
V = {S, X, Y, Z} P: { S → XY
T = {a, b, 0, 1} X → 0X1 | λ
Y → Za | aY
Z → bZ | λ } S
X Y
c) Dar una derivación más a la derecha, una derivación
más a la izquierda y un árbol de derivación para la
0 X 1 a Y
palabra ’01abba’
Más dcha.: S ⇒ XY ⇒ XaY ⇒ XaZa ⇒ XabZa ⇒ λ Z a
⇒ XabbZa ⇒ Xabba ⇒ 0X1abba ⇒ 01abba
b Z
Más izq.: S ⇒ XY ⇒ 0X1Y ⇒ 01Y ⇒ 01aY ⇒ b Z
⇒ 01aZa ⇒ 01abZa ⇒ 01abbZa ⇒ 01abba
λ
Ejercicios
6. Dada la siguiente gramática:
G = (V, T, P, S) P: { S → XY
V = {S, X, Y} X → aXb | Yb
T = {a, b} Y → aY | Λ }
A 1 A A 1 A
0 A 1 A A 1 A 0
0 0 0 0
Ejercicios
8. Construir una gramática que genere el lenguaje L y dar una
derivación más a la izquierda para la palabra ‘baab’.
𝐿 = {𝑏 G 𝑎 𝑏 I 𝑎J 𝑏 J ∶ 𝑚, 𝑛 ≥ 0, 𝑡 ≥ 1}
Ejercicios
8. Construir una gramática que genere el lenguaje L y dar una
derivación más a la izquierda para la palabra ‘baab’.
𝐿 = {𝑏 G 𝑎 𝑏 I 𝑎J 𝑏 J ∶ 𝑚, 𝑛 ≥ 0, 𝑡 ≥ 1}
A A B
P = { S ® AaAB
A ® bA | λ
S ⇒ AaAB ⇒ bAaAB ⇒ baAB ⇒ baB ⇒ baab
B ® aBb | ab }
Ejercicios
8. Construir una gramática que genere el lenguaje L y dar una
derivación más a la izquierda para la palabra ‘baab’.
𝐿 = {𝑏 G 𝑎 𝑏 I 𝑎J 𝑏 J ∶ 𝑚, 𝑛 ≥ 0, 𝑡 ≥ 1}
Solución:
Nótese que el lenguaje también se podría escribir como:
𝐿 = {2 0Q 1 1P 1 2 0P 0Q 2 ∶ 𝑖, 𝑗 ≥ 1}
Y nótese que los terminales con el mismo superíndice DEBEN
generarse con la misma producción. Una posible solución sería:
G= ({S,A,B}, {0,1,2}, S, P) siendo
P = { S à 2A2
A à 0A0 | 01B0
B à 1B0 | 1120 }
Ejercicios
12. Hallar una GLC que genere 𝐿 = {𝜔𝜔Y ∶ 𝜔 ∈ {0,1}}.
– Es decir, cadenas de longitud par de 0’s y 1’s que se lean igual del
derecho que del revés (palíndromos de longitud par).
– Hacer lo mismo para palíndromos de longitud impar.
Ejercicios
12. Hallar una GLC que genere 𝐿 = {𝜔𝜔Y ∶ 𝜔 ∈ {0,1}}.
– Es decir, cadenas de longitud par de 0’s y 1’s que se lean igual del
derecho que del revés (palíndromos de longitud par).
– Hacer lo mismo para palíndromos de longitud impar.
Solución:
Longitud par:
G= ({S}, {0,1}, S, P) siendo
P = { S à 0S0 | 1S1 | λ }
Longitud impar:
G= ({S}, {0,1}, S, P) siendo
P = { S à 0S0 | 1S1 | 0 | 1 }