You are on page 1of 21

1. EJERCICIOS TEMAS 1 Y 2.

1.1. Construir un analizador para direcciones web del tipo www.nombrededominio.extensin

donde nombrededominio es cualquier palabra escrita en caracteres latinos de longitud mxima cinco letras y longitud mnima de dos letras y extensin es cualquiera de las terminaciones {es, edu, net}. Se debe procurar que la tabla tenga el menor nmero de columnas posible. 1.2. Hallar el AFD mnimo y una gramtica para el lenguaje dado por la expresin regular r = (a*+bc)bc*+a(b+c) 1.3. Sea = {0 ,1} y sea L = {cadenas que contienen al menos tres unos}. Se pide: a) Encontrar un AFD cuyo lenguaje sea L b) Escribir las ecuaciones regulares que permiten obtener una expresin regular para ese lenguaje. c) Dar un analizador lxico para ese lenguaje (la tabla y un algoritmo).

1.4. Construir un analizador lxico de las matriculas canarias antiguas. Se permiten los formatos: TF-2400-A, GC-2430-GC para matriculas con dos letras finales como mucho se lleg a doblar la G, en ambas provincias. Ejemplo: TF1234-TH no es vlida porque le falta el guin despus del prefijo provincial TF y porque las dos ltimas letras son TH y hemos dicho que lo ms lejos que se lleg es hasta GZ. 1.5. Encontrar el AFD mnimo y una expresin regular para el lenguaje de la gramtica S:= xA / yA / x / zC / A:= yA / xB / zC / x B:= zB / zC / xS / y / z C:= x / y / z 1.6. Dada la gramtica regular A:= 0A/ 1C / B:= 0C /1D C:= 1A / 0B / 1 D:= 0B / 0 a) Construir el autmata determinista mnimo equivalente b) Obtener una expresin regular que describa su lenguaje.

1.7. Dada la expresin regular r = (ab+c)*(aa*+bb*)


Inmaculada Luengo U.L.P.G.C.

a) Construir un autmata finito sin -transiciones cuyo lenguaje sea el definido por la expresin regular r b) Dar todas las palabras de dicho lenguaje que tengan longitud menor o igual que cuatro. 1.8. Dada la expresin regular

r = ((1* 2) + 3) * + 3*1 + 2 + a) Hallar el autmata finito determinista mnimo cuyo lenguaje viene dado por la expresin regular r. b) Dar todas las palabras de longitud menor o igual que cuatro del lenguaje denotado por r.

1.9. Sobre el alfabeto = {0, 1} sea L = {cadenas que contengan la secuencia 101}. Construir a) Un autmata finito determinista que acepte dicho lenguaje. b) Una expresin regular de L. c) Un analizador lxico para L. 1.10. Sea = {0 ,1} y sea L ={cadenas que contienen un n de ceros mltiplo de 3} a) Encontrar un AFD cuyo lenguaje sea L b) Escribir las ecuaciones que permiten obtener una expresin regular para ese lenguaje. c) Dar un analizador lxico para ese lenguaje (la tabla y un algoritmo). 1.11. Dada la expresin regular r = (10 + 1) (0 + 01)01* . Encontrar el Autmata Finito Determinista mnimo que lo tiene como lenguaje.
*

1.12. Construir un analizador lxico para los nmeros de telfono canarios: empiezan siempre por 928 o 828 los de Las Palmas y 922 o 822 los de Tenerife, seguidos de 6 dgitos, el primero de los cuales no puede ser un cero. Ejemplo: 828091306 es un telfono incorrecto, porque a pesar de que el prefijo es uno de los admitidos de la provincia de Las Palmas, el primero de los seis dgitos es un cero; 923281422 es un telfono incorrecto, porque empieza por 923, que no es ninguno de los prefijos admitidos.

1.13. Hallar el autmata finito determinista mnimo equivalente al siguiente AF

Inmaculada Luengo

U.L.P.G.C.

a p b r a b a,b b s q a t a

1.14. Hallar un AFD para el lenguaje L= palabras con, como mucho, dos smbolos consecutivos iguales, sobre el alfabeto = {0,1}

1.15. Dar un analizador lxico para el lenguaje de los nmeros mltiplos de 4 escritos en forma decimal. 1.16. Construir un analizador lxico que acepte fechas de nacimiento en formato dd/mm/aaaa desde 01/01/1900 hasta 31/12/2007 (Consideramos que febrero siempre tiene 28 das). 1.17. Dada la expresin regular r = (0 + 00 + 01*)1 * +( + 01) * a) Construir el AFD mnimo b) Construir una gramtica para el lenguaje dado por la expresin regular.

1.18. Dada la expresin regular r = (a + b + c )(b * +c *) + ab * , construir el AFD mnimo para dicho lenguaje, as como una gramtica regular equivalente.

1.19. Construir un analizador lxico y una gramtica para los mltiplos de 8, escritos en forma binaria. (Algoritmo y datos de entrada). 1.20. Construir un analizador lxico para las cadenas sobre el alfabeto, = {0 ,1,2} que no contienen la secuencia 101. 1.21. Hallar un AFD mnimo equivalente al Autmata de la figura y encontrar una expresin regular para el lenguaje de dicho AFD mnimo.

Inmaculada Luengo

U.L.P.G.C.

0,1
p

0 1
u

0 1
s

,0 1

1.22. Construir una analizador lxico para las fechas del ao 2004, que fue bisiesto, en formato dd/mm/aaaa por ejemplo 29/03/2004. (Algoritmo, tabla, entradas). 1.23. Dada la expresin regular r = (a + bc )(ab + c ) + ca * c * . Hallar a) el AFD mnimo para dicho lenguaje b) una gramtica cuyo lenguaje sea r c) todas las palabras del lenguaje de longitud menor o igual a 4.
*

1.24. Construir el AFD mnimo para el lenguaje dado por r = (10 ) * 10 * +(10 + 01) *

1.25. Construir un analizador lxico y una gramtica para los mltiplos de 8, escritos en forma decimal.

1.26. Construir un analizador lxico para las matrculas europeas del tipo Prefijo nacional_DgitoDgitoDgitoDgito_letra1letra2letra3 donde admitimos los prefijos nacionales de Espaa(E), Alemania (D) y Blgica (B); letra1 slo puede ser B, C o D; y letra2, letra3 deben ser consonantes. Ejemplos: E_1234_CRJ es admitida por que cumple todas las condiciones exigidas P1234_HAR no es admitida por varios motivos: i) P no es de los prefijos nacionales admitidos ii) No respeta el guin bajo despus de la P iii) la primera letra despus de los cuatro dgitos (letra1) no puede ser una H. iv) la segunda letra (letra2) despus de los dgitos no puede ser una vocal.

1.27. Construir un analizador lxico para las palabras que tienen como mximo tres smbolos consecutivos iguales, sobre el alfabeto = {a. b}.

1.28. Construir un analizador lxico que acepta la hora en formato digital tal como se indica a continuacin: <Da de la semana> <hora>:<minuto> <AM,PM>, donde 4 Inmaculada Luengo
U.L.P.G.C.

<Da de la semana> puede ser: Mo, Tu, Wed, Th, Fr, Sa, Su. <hora> es un nmero entero que abarca el rango de 00 a 12. <minuto> es un nmero entero que abarca el rango de 00 a 59. <AM,PM> especifica si la hora antes (AM) o despus (PM) del medioda.

Veamos algunos ejemplos de horas aceptadas y NO aceptadas por el analizador . Cadenas aceptadas: Mo 00:00 AM, Tu 12:00 AM, Wed 00:00 PM, Sa 03:15 PM Cadenas NO aceptadas: Mo 19:10 AM, Tu 20:15 PM 1.29. Construir el AFD mnimo para el lenguaje dado por r = (aba + aa )* b + ba * +bb 1.30. Dada la expresin regular r = (01* 0) + (01) a) Escribir todas las palabras de longitud menor o igual que 5. b) Construir el AFD mnimo y dibujarlo. c) Hallar una gramtica equivalente.
* *

1.31. Construir el AFD mnimo para el lenguaje denotado por la expresin regular
r = (a + b + c )(a + b ) + (ab + bc ) a
*

1.32. Dado el Autmata de la figura: 1 0


p q

1 1 0,
s

0
u

1, 0

a) Encontrar el Autmata Finito Determinista mnimo equivalente (Dar un AFND equivalente, AFD equivalente y aplicar el algoritmo de Moore para encontrar el AFDmn). b) Encontrar una gramtica regular que genere el lenguaje descrito por el autmata.
10 ,12 ,012} y 1.33. Sea el alfabeto = {0,1, 2}. Sean los lenguajes L1 = { ,11,12}, L2 = {

L3 = { 1, 2} . Calcular (L1 L3 ) L2 .
2

1.34. Buscar una expresin regular para el lenguaje de la gramtica

Inmaculada Luengo

U.L.P.G.C.

A:= 0A / 0B / 0D / 0 B:= 1C / 1D /1 C:= 1B / 0D / 0 1.35. Una tarjeta permite la apertura de un centro, dependiendo del cdigo escrito en la banda magntica de la misma. El cdigo que abre la puerta ha de contener cadenas no vacas de 0s, 1s y 2s que no contengan los patrones 111, ni 010, ni 212. Disear un analizador que detecte y acepte un cdigo vlido de apertura de la puerta. (Dar un AFD, alfabeto, tabla y algoritmo). 1.36. Sea = {1,2,3}. Sea L = {*: = 4 y es capica}. Construir un analizador lxico para el lenguaje L. (Dar un AFD, alfabeto, tabla y algoritmo). 1.37. Construir un analizador lxico para la hora en formato digital es decir 23:14. la ltima hora es 23:59, y la siguiente es 00:00 1.38. Construir un analizador lxico para aceptar nmeros reales en todas las formas posibles. Ejemplos: 13.56, -2, 3.21E-3, 3.21E+3, +1.625E3. No son aceptados los nmeros que empiezan por ceros no significativos (ej. -012.56

1.39. Dada la expresin regular r = ab + bb * + a * (b + ab ) sobre el alfabeto ={a,b} a) Construir el AFD mnimo para el lenguaje denotado por r b) Construir una gramtica limpia para dicho lenguaje c) Dar todas las palabras de longitud menor o igual que 4 de dicho lenguaje.
*

1.40. Sea la expresin regular r = 011* 0 1 10 + 11* + 01 a) Construir el AFD mnimo para el lenguaje dado por la expresin regular r. b) Dar todas las palabras de dicho lenguaje tales que 5 8.

) [(
*

)]

1.41. Dado el autmata de la figura:

6 Inmaculada Luengo

U.L.P.G.C.

0
p

1,
q

0
t

1
s

0 0
u

0
r

1,

1 a) Hallar el AFD mnimo equivalente. (Dar un AFND equivalente, AFD equivalente, y aplicar el algoritmo de Moore para encontrar el AFDmn). b) Encontrar una expresin regular para el lenguaje del AFD mnimo aplicando el teorema de anlisis de Kleene.

1.42. Obtener un AF sin transiciones que acepte el lenguaje descrito por las expresiones regulares:
+ * + * a) r = a b a + c + cc b b) r = (0+1)*1+ 0 (210* + 1+)

1.43. En un laboratorio se analizan trozos de cdigos de ADN humanos. En dicho cdigo pueden aparecer 4 tipos distintos de bases nitrogenadas : Adenina (A), Timina (T), Citosina (C) y Guanina (G) En un experimento se busca si un determinado individuo tiene una determinada marca gentica. Se dice que un individuo tiene dicha marca si: i) en su muestra de ADN aparece el patrn CGGC y ii) en dicha muestra no hay un nmero impar de bases del tipo Timina (T). Disear un Autmata Finito Determinista (AFD) que detecte, dada la muestra de un individuo, si ste lleva la marca gentica citada. 1.44. Dada la expresin regular: r = (00* + 21+)+ (12+)+ + , se pide: a) Dar un AFD cuyo lenguaje sea L(r). NOTA: Dar primero un AFND- luego pasar a un AFND y a continuacin a un AFD equivalente. L(r) / | | 4}. b) Dar por extensin el conjunto L = {

1.45. Considrese el siguiente Autmata Finito (AF):

Inmaculada Luengo

U.L.P.G.C.

1 p 0 r 0,2 1 0

0 q 1 s

Se pide: a) Plantear las ecuaciones que resuelven el Teorema de Anlisis de Kleene. Asimismo, resolver dichas ecuaciones obteniendo as una expresin regular para el autmata de la figura. b) Encontrar un AFD mnimo, aplicando el Algoritmo de Moore, para el AFND de la figura. c) Para el AFD mnimo obtenido, dar un analizador lxico que reconozca su lenguaje.

1.46. Encontrar un Autmata Finito Determinista que acepte como lenguaje cadenas de 0, 1, 2, con las restricciones de que las cadenas: i) no contienen el patrn 002 y ii) no terminen ni comiencen por 1. 1.47. Encontrar un Autmata Finito Determinista que acepte como lenguaje cadenas de 0, 1, 2, con las restricciones de que las cadenas: i) no contienen el patrn 002, ii) no terminen ni comiencen por 1 y iii) si comienzan por 0, que no acaben en 0.

1.48. Para cada una de las siguientes expresiones regulares: r1 = (01*0 + 10*1) (01) 1
* *

r2 = (01 + 12 ) 2* (3 + 01)
*

r3 = + * + 10 + 02 + r4
* * * *

( ) (01 2) (202) = (10 ) (0 0) + (10 ) (0 + 1)


+ + + +

* +
*

Se pide: a) Encontrar un AFND- que acepte el lenguaje que denotan. b) Dar el conjunto Li={L(ri) / 0 || < 4}.

1.49. Encontrar un analizador lxico que detecte palabras, que representan nmeros en hexadecimal, de forma que i) cada tercer smbolo no haya una letra y ii) si comienza por una letra, no acabe en otra. Ejemplo: A013A2, 1A3 (son aceptadas) y 12AB y B68932160F (no son aceptadas)

8 Inmaculada Luengo

U.L.P.G.C.

1.50. Encontrar un analizador lxico que detecte palabras, de como mucho 9 smbolos que representan nmeros en hexadecimal, de forma que cada tercer smbolo no haya una letra y que si comienza por una letra, no acabe en otra. Ejemplo: A013A2, 1A3 (son aceptadas) y 12AB y B68932160F (no son aceptadas)

1.51. Dado el siguiente autmata finito: A C B 0 D 1 E H 1 Se pide: a) Minimizar, mediante el algoritmo de Moore, dicho autmata. b) Dar una gramtica regular que genere el lenguaje aceptado por dicho autmata finito. c) Resolver las ecuaciones regulares asociadas al AF por el teorema de anlisis de Kleene. 0 F 1 G

1.52. Dado el alfabeto ={0,1,2} encontrar un Autmata Finito Determinista que acepte cadenas de * de forma que si el cdigo comienza y termina por el mismo smbolo, no debe contener el patrn 1001. En caso contrario, las cadenas sern aceptadas.
* 1.53. Dada la expresin regular r = (ab ) (ab * +b * a ) , se pide dar el Autmata Finito Determinista mnimo que acepte el lenguaje L(r). (Dar un AFND-, AFND equivalente, AFD equivalente, y aplicar el algoritmo de Moore para encontrar el AFD mnimo).

1.54. Construir un Analizador Lxico que reconozca cadenas de longitud no nula con smbolos que representan un nmero en octal, de forma que la paridad de los smbolos nmeros impares coincida con la paridad de los smbolos nmeros pares, y que no acaben en smbolos de nmeros pares. Ejemplos: 031465: tiene 3 smbolos nmeros pares y 3 smbolos nmeros impares, con lo cual como la paridad es la misma (impar de pares, impar de impares) y no acaba en un smbolo nmero par debera ser aceptada. 3357: paridad de smbolos nmeros pares es PAR (cero), e dem con la de los smbolos nmeros impares (cuatro) y no acaba en smbolo nmero par. 7436: no es aceptada porque termina en dgito par

Inmaculada Luengo

U.L.P.G.C.

17467: no es aceptada porque tiene 3 dgitos impares (impar) y dos dgitos pares (par). 1.55. Para la siguiente gramtica regular G =({0,1}, {A, B, C, D}, A, P), siendo P las reglas A := 0B | 1C | B := 0B | C ::= 1C | 0D D ::= 0A | 0B | Se pide: a) Encontrar una expresin regular mediante la aplicacin de la resolucin del Teorema de Anlisis de Kleene. b) Dar el conjunto de cadenas de longitud menor que 4 generadas por G.

1.56. Dado ={0,1,2}, construir un AFD que acepte los siguientes lenguajes: a) L1 = { cadenas de longitud par que tenga un n impar de 1} b) L2 = {cualquier cadena excepto aquellas que tengan el patrn "10" si la cadena contiene un nmero impar de 2} 1.57. Dada la expresin regular: r = (0*(0+0) + 1)*0+ + se pide: a) Dar el AFD mnimo cuyo lenguaje sea L(r). NOTA: Construir primero un AFND- luego pasar a un AFND y a continuacin a un AFD. Por ltimo, utilizar el Algoritmo de Moore para minimizar el AFD obtenido. b) Dar por extensin el conjunto L = {L(r) / ||3}.

1.58. Sea el siguiente Sistemas de Ecuaciones Lineales utilizado por el Teorema de Anlisis de Kleene en la bsqueda de una expresin regular de un autmata finito M: xA = 1xA + 0(xC + xB) + xB = 0xB + 1(xA + xC) xC = (0 + 2)xC Se pide: a) Dar una expresin regular para L(M). b) Podra considerarse r = 0*1+ como expresin regular? Por qu? c) Analizando el sistema de ecuaciones anterior, de qu tipo de autmata finito se trata? Justificar la respuesta.Podramos reconstruir el autmata M original a partir del sistema de ecuaciones del enunciado? Justificar la respuesta.

1.59. Obtener un autmata finito sin transiciones que acepte el lenguaje descrito por las expresiones regulares siguientas. (Recordemos que L+ = L* { } ) a) r = ( a + b* a + c ) + cc* b*
+

10 Inmaculada Luengo

U.L.P.G.C.

b) r = (0+1)*1+ 0 (210* + 1+)

1.60. Construir un analizador lxico (autmata, tabla, entradas y algoritmo), para las palabras que tienen como mximo tres smbolos consecutivos iguales, sobre el alfabeto = {a,b} .

1.61. Sea el siguiente Sistemas de Ecuaciones Lineales utilizado por el Teorema de Anlisis de Kleene en la bsqueda de una expresin regular de un autmata finito M: x0 = bx0 + a(x3 + x1) + x1 = ax1 + b(x0 + x3) x2 = (a + c)x2 + bx3 x3 = x4 = (a + c)x4 + bx3 + Se pide: a) Dar una Expresin Regular que acepte L(M) sabiendo que x0 = L(M). b) Dar el Autmata Finito Determinista Mnimo (AFDmn) que acepte L(M) a partir del Sistema dado, utilizando el Algoritmo de Moore.

1.62. Dar un AFD que acepte como lenguaje: a) L = {cadenas de ceros y unos tal que no contengan un nmero de par de ceros si acaban en 11}. b) L = {cadenas de a y b tal que la longitud de la cadena sea par y adems no acaben en b}

1.63. Dado el alfabeto ={a,b,c}, encontrar un Autmata Finito Determinista (AFD) que acepte cadenas de excepto aquellas que contengan el patrn "bcc" si hay ms de 2 a-es seguidas 1.64. Dado ={0,1,2} se considera el lenguaje L = {cadenas de * tal que si aparece el patrn 200 entonces el nmero de veces en que aparece el 0 en la cadena ha de ser par}. Se pide: a) Dar un Autmata Finito Determinista (AFD) cuyo lenguaje aceptado sea L. b) Dar un analizador lxico para dicho lenguaje (tabla y algoritmo).

1.65. Dada la expresin regular: r = 00+ + 2+1

) ( 2* + 0+ )
*

+ , se pide:

a) Dar el AFD mnimo cuyo lenguaje sea L(r). (Construir un AFND- luego pasar a un AFND y a continuacin a un AFD; por ltimo, utilizar el Algoritmo de Moore para minimizar el AFD obtenido). b) Dar por extensin el conjunto L = {L(r) / || 3}.

Inmaculada Luengo

U.L.P.G.C.

11

2. EJERCICIOS TEMAS 3 Y 4.
2.1. Hallar una mquina con salida que, leyendo nmeros en forma binaria, d como salida el resto (en el sistema decimal) de la divisin por 6 del nmero ledo hasta ese momento. Ejemplo: Si la entrada fuera 11111, la salida deber ser 13131; si la entrada fuera 10110, la salida deber ser 12542.

2.2. Construir un Autmata, que vace su pila antes de aceptar cualquier palabra y cuyo lenguaje sea:
L = x r y 2 r + k z k : r > 0, k 0

2.3. Construir una mquina con salida tal que en cada momento d el resto modulo 4 del nmero ledo hasta el momento en el sistema decimal.(Ejemplo si el numero de entrada fuera 15658 la salida de una mquina de Moore sera 013012) 2.4. Construir un Autmata de Pila con el menor nmero posible de transiciones no deterministas y que vace la pila antes de aceptar cualquier cadena, para el lenguaje, sobre el alfabeto = {a,b}, siguiente L = a n b m c mn : m n 0

2.5. Dada la gramtica siguiente N = {S, A, B} , S es el axioma y P es: S : = xAy / yBx A: = xAy / xy B: = yBx / yx

G = ( T , N , S , P )

donde

T = {x , y} ,

2.6. Obtener un Autmata de Pila equivalente a la gramtica. a) Describir el lenguaje de la gramtica. b) Describir los estados de la pila al procesar la palabra xxxyyy. c) Dar la tabla para un analizador sintctico para el lenguaje de la gramtica.

2.7. Dada la gramtica: S:=MN M:=aMc / ac N.=bNc /M / a) Obtener una equivalente bien formada b) Obtener una equivalente en forma normal de Chomsky

Inmaculada Luengo

U.L.P.G.C.

2.8. Disear una mquina de Moore con alfabeto de entrada = {0,1} que devuelva como salida: I si la cadena de entrada tiene un nmero impar de unos, P si la cadena tiene un nmero par de unos y no acaba en cero y N en los dems casos. 2.9. Hallar un Autmata de pila, que vace su pila antes de aceptar ninguna palabra, para el lenguaje L = x n y m z r : m = 2n + r ; m, n > 0, r 0 (Recordamos que en la pila se puede insertar ms de un smbolo de una vez, pero slo se pueden extraer de uno en uno).

2.10. Dado el autmata de la figura x,;x p y,x;y y,x;x q

y,y;

a) Localizar los puntos de no determinismo (si los hay) y explicar en que situaciones se dara el no determinismo. b) Construir un AP equivalente al de la figura que vace su pila antes de aceptar cualquier palabra. c) Estudiar su lenguaje con el mayor detalle posible d) Escribir todas las reglas de la gramtica equivalente asociadas a la transicin ( p , y; x ) = ( q , y )

2.11. Dada la gramtica G dar un autmata de pila equivalente, estudiar su lenguaje y construir un analizador sintctico para dicho lenguaje. G = ( T , N , P, A) siendo T = {x, y} , N = {A, M , N } y las reglas A:= xMy / Nx / x M:= xxM/x N:= yN / y 2.12. Describir el lenguaje de la gramtica siguiente y dar un analizador sintctico. G ( T = {0,1}, N = {A, B, C , D}, A, P ) , siendo las producciones de P A:= 0B0 / 1C1 B:= 1B1 / 0C0 C:= 0C0 / 1 2.13. Construir un AP, que vace su pila antes de aceptar cualquier palabra, para el lenguaje con el menor nmero posible de estados y de transiciones no deterministas.

Inmaculada Luengo

U.L.P.G.C.

13

L = a n b m : n m 2n

2.14. Construir un analizador sintctico para la gramtica (cuyo axioma es S): S:= xxA / xyB A:= yA / y B:= xBy / y Especificar los datos de entrada del algoritmo correspondiente. 2.15. Depurar la siguiente gramtica obtener una equivalente bien formada, obtener otra equivalente en forma normal de Chomsky y dar un analizador sintctico LL(k), con k mnimo, para su lenguaje. S:= xAz / yBz/ A:= xAz / B / B:= yBz 2.16. Dada la gramtica cuyo axioma es A y sus reglas A:= xyByz / xAx / z B=: yBy /z a) Construir un analizador sintctico LL(k), con k lo menor posible b) Escribir el lenguaje de dicha gramtica c) dar otra equivalente en forma normal de Chomsky.

2.17. Construir un autmata de pila determinista que slo acepte palabras con la pila vaca, para el lenguaje
L = x m y n z r : m = 2n + r , m > 0

2.18. Dada la gramtica G = ( T = {0,1}, N = {A, B ,C , D , E , F }, A, P ) con las reglas A:= 01B / 1C1 / E B:= 1B1 / 1F / 0 / 00 C:= D /1F0 D:= 0D / 1C. E:= 11 / 10 / F:= 1D / 1C / 1F0 1.1. Construir una equivalente en forma normal de Chomsky (FNC). 1.2. Construir un analizador sintctico para el lenguaje de G.

2.19. Construir un Autmata de Pila determinista que slo acepte palabras con la pila vaca, para el lenguaje
L = {a m b m + n c n : m 0, n 1}

14 Inmaculada Luengo

U.L.P.G.C.

2.20. Construir un AP con el menor nmero posible de transiciones no deterministas y que slo acepte palabras con la pila vaca, para el lenguaje L = {w :#a ( w) =#b ( w)} donde w (a + b ) * y #a ( w) = nmero de veces que el smbolo a aparece en la palabra w. 2.21. Dada la gramtica G = ( T = {0,1}, N = {A, B, C , D, E , F }, A, P ) con las reglas A:= 0EF / 1A / 1 B:= BF / 1B / 1 C:= 0C /1C D:= 1A1 / 1B1 / 0D. E:= 0 F:= 1B / 01 / 00 a) Construir una gramtica equivalente bien formada. b) Construir un analizador sintctico para el lenguaje de G.

2.22. Hallar una gramtica en forma normal de Chomsky equivalente a la siguiente. S:= 0BC1 / 0B / 1A1 A:= 0C1 / A / B / B:= 0BB / 1B C:= A1 / B0 / 11 / 0 2.23. Construir una autmata de pila determinista para el lenguaje L = {a n b n : n no es mltiplo de 5} 2.24. Construir un analizador para el lenguaje de la gramtica G = ( T , N , S , P ) siendo T = {x , y}, N = {S ,A, B} , S el axioma, con las reglas S:= xyAyx / yBx A:= xAx / yBx B:= yBx / 2.25. Construir un analizador LL(k) con k mnimo, para el lenguaje
L = x n y m x n : n 0, m > 0

2.26. Construir una mquina de Moore que tenga como alfabeto de entrada el conjunto de los dgitos {0,1,...9} y que en cada momento d cmo salida el resto mdulo 3 de la suma de los dgitos ledos hasta ese momento. Ejemplo: si en la cinta de entrada ponemos 1234567, las sumas sucesivas son 1-3-6-1015-21-28, y por tanto la secuencia de salida debe ser 0-1-0-0-1-0-0-1 (donde el primer cero es el smbolo que se escribe al comienzo, sin entrada)

Inmaculada Luengo

U.L.P.G.C.

15

2.27. Construir una autmata de pila que vace su pila antes de aceptar cualquier palabra, cuyo lenguaje aceptado sea L = 1c2 :1 , 2 a + b)*, 2 11

)}

2.28. Construir un autmata de pila con alfabeto de entrada = {x,y}, con el menor nmero posible de transiciones no deterministas, con el menor nmero de estados posible y que vace la pila antes de aceptar cualquier palabra, cuyo lenguaje sea
L(M ) = x r y 2 r + k z k : r , k 0

2.29. Construir un analizador LL(k) (tabla y algoritmo) con k mnimo, para el lenguaje de la gramtica cuyo axioma es A y el conjunto de reglas A:= xxB / yCx, B:= xBy / x; C:= yCx / y. (Escribir paso a paso la construccin de la tabla, cada casilla debe estar justificada). 2.30. Construir un autmata de pila con alfabeto de entrada = {a,b}, con el menor nmero posible de transiciones no deterministas y con el menor nmero de estados posible, cuyo lenguaje sea L(M ) = { * : # a ( ) = # b ( ) + 1} (Recordemos que #a() = n de veces que el smbolo a aparece en ). 2.31. Dada la gramtica G con axioma A, T={0,1}, N={A,B,C,D,E}y las reglas A:= BD / C01 / A1 /0D1 B.= B0 / 0E1 / C:= 0D1 / 11C / 1 / D:= 0D / 1C E:= 1E / 0E1 a) Construir una gramtica equivalente bien formada. b) Construir una gramtica equivalente en Forma Normal de Chomsky. c) Derivar desde el axioma 5 palabras del lenguaje de G.

2.32. Construir un analizador para L(G), siendo G la gramtica con axioma S y reglas S:= MN M:= aMc/ac N:= bNc/M/ 2.33. Construir una autmata de pila que vace su pila antes de aceptar cualquier palabra y cuyo lenguaje aceptado sea L = {a n b n : n 3 (mdulo 4), n > 0}

2.34. Dada la siguiente gramtica, con T = {0,1,2,3} y N = {S(ax.), M,N,P,Q,R,T,V}, obtener una equivalente que est bien formada: 16 Inmaculada Luengo
U.L.P.G.C.

S := 1Q | V | RS2 | NT T := 0P P := N1 | | P | 1T M := 0MS | | M1 | T | M Q := Q1 | P N := N1 | 0 V := 3 | S1 2.35. Disear una Mquina de Mealy que tomando como cadena de entrada una secuencia de smbolos que representan un nmero en base 4, proporcione como salida el resto mdulo 5 de dicho entero. Construir una Mquina de Moore equivalente a la de Mealy construida. 2.36. Sea una cadena de dgitos que representa un nmero en decimal. Se pide disear una Mquina de Moore que, ante la entrada produzca como ltimo smbolo de salida S si el decimal representado por es mltiplo de 3. En caso contrario, deber dar como ltimo smbolo de salida N. Adems, el primer smbolo de salida que deber dar la mquina deber ser . Ejemplos: Entrada 3 4 2 Salida S N S Entrada 9 0 2 0 Salida S S N N Entrada 1 5 Salida N S

2.37. Dado el siguiente Lenguaje : L = {anb2manb2k/ m,n,k > 0}, se pide: a) Encontrar un Autmata de Pila determinista que acepte L. b) Dar adems aquellas cadenas de L para n {1,2}. c) Si se aade la restriccin: m > n, cmo cambiaran las respuestas de los apartados anteriores?

2.38. Sea G una gramtica independiente del contexto cuyo analizador mnimo del tipo LL necesario para reconocerla es un LL(3). Sabiendo que la matriz que utiliza dicho analizador se llama tabla y que la gramtica G no genera cadenas de orden menor que 3 excepto la cadena vaca, se pide dar un Analizador Sintctico del tipo LL(3) que reconozca dicha gramtica. 2.39. Se pretende encontrar un traductor de cdigos que funciona de la siguiente forma: La salida ante una entrada determinada en binario deber ser siempre el nmero decimal que representan los tres primeros bits del binario de entrada, y como resto de smbolos de salida el valor : las veces que sea necesario. Ejemplo: entrada : 101001 -> salida -> :::5::: 11111110 -> salida -> :::7:::::

Inmaculada Luengo

U.L.P.G.C.

17

2.40. Encontrar un Autmata de Pila que, dado el alfabeto ={a,b} acepte el lenguaje: L = {cadenas de * tal que el nmero de a y de b coincidan, que no acaben ni empiecen por el mismo smbolo, y que la longitud de las cadenas aceptadas sea par}. Dar adems la traza que sigue la pila ante una cadena abbaabb de L. 2.41. Escribir un algoritmo para un reconocedor sintctico del tipo LL(4) que reconoce una gramtica G que genera la palabra vaca, y que no genera otras palabras de longitud menor que 4. Se supone que la tabla de traduccin de reglas est en una matriz de nombre TABLA. 2.42. Definir la Forma Normal de Chomsky (FNC) de una gramtica. Como aplicacin, encontrar la FNC para la gramtica siguiente ={A,B,C}, ={,,}, axioma C: C::= ABz / A::= Aa / a / / AB B::= Bb / A / 2.43. Dado el alfabeto ={a,b} y el lenguaje L= {palndromos (capicas) de * de longitud impar}. Se pide: a) Dar una gramtica para L. b) Dar un autmata de Pila para la gramtica anterior. (No se aceptan inserciones de ms de un smbolo al mismo tiempo en la pila). c) Qu tipo de analizador LL(k) podra usarse para implementar un programa que detecte este lenguaje (decir el valor del k mnimo)?

2.44. Disear una Mquina de Mealy sobre el alfabeto de entrada ={a,b} de forma que para una entrada w produzca una salida v, en la que el smbolo i-simo ser 1 si los smbolos i-simos e (i-1)-simos de w son iguales, y ser 0 en caso contrario. Una vez encontrada la mquina pedida, encontrar una Mquina de Moore equivalente a ella. 2.45. Gramticas : 1.3. Dada la siguiente gramtica, con T = {a,b} y N = {S(ax.), A,B}, obtener una equivalente en la FNC (Forma Normal de Chomsky) : S := abAB A := bAB | B := BAa | A | 1.4. Dada la siguiente gramtica, con T = {0,1,2,3} y N = {S,M,N,P,Q,R,T}, axioma S, obtener una equivalente que est bien formada: S : = M | 0Q | RS1 | MN T := 0P P:= N1 | | 1T M := 0MS | | M0 | R

18 Inmaculada Luengo

U.L.P.G.C.

Q:= Q1 N := N1 | 1 2.46. Determinar el analizador sintctico ms simple del tipo LL (tabla y algoritmo) que reconozca el lenguaje generado por la gramtica siguiente con T = {a,b,c} y N = {S(ax.), A} y las reglas: S := Sa | aAc | c A := Ab | ba 2.47. Construir un Autmata de Pila, con el menor nmero posible de transiciones no deterministas, que acepte las cadenas sobre el alfabeto = {a, b}, de forma que el nmero de smbolos a sea el doble de smbolos b (Recordamos que est permitido insertar ms de un smbolo de una vez en la pila, pero slo se pueden extraer de uno en uno). L = * : # a ( ) = 2# b ( )

2.48. Construir una gramtica bien formada equivalente a la gramtica G , con axioma S y las reglas S := A / B A:= aCA B := aCB / aDE C := aCC D := aCD / aDF / b E := F := b / 2.49. Construir el analizador LL(k) ms simple, justificando la eleccin de k, para la gramtica de axioma S y las reglas S := AB A := aA / a B := bBc / bc 2.50. Dado el alfabeto = {0,1} y el lenguaje L= {palndromos (capicas) de * de longitud impar}. Se pide: a) Dar una gramtica para L. b) Dar un autmata de Pila para la gramtica anterior. (No se aceptan inserciones de ms de un smbolo al mismo tiempo en la pila. c) Qu tipo de analizador LL(k) podra usarse para implementar un programa que detecte este lenguaje (decir el valor del k mnimo)? 2.51. Dado el alfabeto = {0,1} , se pide a) Dar una gramtica para el lenguaje de los capicas de longitud par.

Inmaculada Luengo

U.L.P.G.C.

19

b) Construir un Autmata de Pila para dicho lenguaje.

2.52. Dado el alfabeto ={0,1} disear una Mquina de Moore que devuelva como salida: P: si la cadena de entrada tiene un nmero par de unos, I: si la cadena tiene un nmero impar de unos pero no acaba en cero, N: el resto de los casos. Dar adems, un modelo de Mquina de Mealy equivalente. 2.53. Encontrar una Mquina de Moore que para una entrada w(x+y) , produzca como salida: A si la cadena acaba en yxy, B si la cadena tiene un nmero impar de y, y C en cualquier otro caso. (En caso de ambigedad, prevalecer la prioridad del orden de la salida segn la secuencia de A a C). 2.54. Dada la gramtica: S: = xSy | xyTyz T: = Z: = xSy | T Se pide: a) Estudiar, y en su caso encontrar, si la gramtica admite la Forma Normal de Chomsky (FNC), justificando la respuesta. Se trata de una gramtica limpia? Est bien formada? En caso de que no lo sea, encontrar otra gramtica equivalente bien formada. b) Encontrar el analizador sintctico LL ms simple que reconozca el lenguaje generado por dicha gramtica.
*

2.55. Dado el alfabeto ={x,y,z}, se considera el lenguaje L = {xm yn zt / m = 2(n + t), n,m>0, t0} Se pide: a) Encontrar un Autmata de Pila cuyo lenguaje sea L y que vace su pila antes de aceptar cualquier cadena. b) Dar el conjunto de cadenas de L de longitud inferior a 5.

2.56. Dar un analizador sintctico del tipo LL(k) (tabla y algoritmo), con k por determinar y mnimo, para la siguiente gramtica con axioma S: S := xMz | yNz | M := xMz | N | N := yNz | yz. 2.57. Determinar el analizador sintctico ms simple del tipo LL (tabla y algoritmo) que reconozca el lenguaje generado por la gramtica siguiente con T = {a,b,c} y N = {S, A}, axioma S y las reglas 20 Inmaculada Luengo
U.L.P.G.C.

S := Sa | aAc | c A := Ab | ba 2.58. Se considera el lenguaje L = {xnymzt / m n + t, m,n,t 0 } sobre el alfabeto ={x,y,z}. Se pide construir un Autmata de Pila cuyo lenguaje sea L y que vace su pila antes de aceptar cualquier cadena.

Inmaculada Luengo

U.L.P.G.C.

21

You might also like