Professional Documents
Culture Documents
GRUPO DE TRABAJO
Profesor: Fecha de Entrega
Nº de Grupo: División:
Auxiliar: ___/___/___
Orden Apellido y Nombre de los Integrantes Nro. Legajo
1
2
3
4
1.1. Sea x = abbcb , y = ab, dos palabras sobre el alfabeto ∑ = {a,b,c}, obtener las operaciones indicadas y
señalar cuáles tienen un resultado palíndromo:
a) x.y g) x0
b) y.x h) (x2)-1
c) x2 i) (x-1)2 x2
d) y-1 j) long(x2)
e) (y -1)2 k) | (y 2)-1 |
f) x . y-1 l) | xn |b
1.2. Sean ∑ = { 0 , 1 , a , b } y dos lenguajes L1= { a , b } y L2= { λ , 0 , 1 }, resolver las operaciones indicadas.
a) L2 . L1 h) ( L1L2 )10
b) L22 i) L1* ∩ L2+
c) L1+ j) L1+ ∩ L2*
d) L2+ k) L1+ - (L12) *
e) L1* l) ( L2 . L1 ) +
f) L1 . L22 m) ~ ( L1L2 )10
g) (L1 . L22) -1
1.3. Definir los sub-lenguajes y operaciones que considere necesarios para obtener los siguientes lenguajes
a) Todos los números enteros del 0 al 9.999 con punto (unidad de mil) y sin ceros no significativos
b) Todos los nombres y apellidos de longitud máxima 40 (cada nombre o apellido comienza con
una mayúscula seguida de minúsculas, los componente se separan con espacios)
1.4. Sea el lenguaje L formado por todas las secuencias de cinco dígitos cualesquiera:
Página 1/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
a) S SXb S aXY / λ
b) c) S aS / bX / cZ / b / c / λ
X aX X aXB / b X bX / cZ / b / c
aaXb aab Y bYC / bC Z cZ / c
SX a Bb
Cc
d) S xBSz e) S XC f) S ASB
S xyz X AY / AB AAS CCBB
Bx xB Y XB A aa
By yy C CC / c Bb
Aa Cc
Bb
1.7. Obtener una GR en formato estándar para el siguiente conjunto de producciones:
P: S acS / X
X bbX / ccY
Y cZ / aZ
Z aZ / λ
L = { todas las palabras formadas por Σ ={a,b} tales que tengan al menos tres a consecutivas }
(dicho de otra forma, que contengan la subcadena aaa).
( a*.b.a*.b.a* ) *
b) P : S aX / bW ; W aY / bS ; X aZ / bS / λ , Y aX / bY / λ ; Z aZ / bZ
1.11. Diseñar una MEF que reciba como entrada una secuencia de dígitos binarios y produzca como salida el
módulo 4 de la de secuencia parcial leída (es decir, considerando la secuencia leída hasta ese momento).
1.12. Diseñar una MEF que modelice el funcionamiento de tres semáforos que actúan en forma conjunta en
un cruce de una avenida con una calle de una sola mano. Se dispone de 3 células fotoeléctricas, sobre cada
carril de la avenida y sobre la calle, que emiten una señal cuando existen vehículos frente al semáforo co-
rrespondiente. Por una cuestión de funcionalidad, el sistema chequea las células dos veces por minuto. Se
deben tener en cuenta las siguientes reglas:
1.13. Dado el AF, identificar estados generadores y sumideros, indicar si es completo y conexo, en caso nega-
tivo completarlo y hacerlo conexo. Obtener las secuencias de configuración de tres palabras de diferente
longitud aceptadas por el AF obtenido y de tres secuencias rechazadas.
AF = < Q , Σ , q0 , F , f >
Q = { q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 }
F = { q3 , q6 }
A F C
B F E
C E B
*D F G
E C A
*F G H
*G F C
H G E
I D A
1.15. Dados los siguientes AF indicar si son equivalentes y encontrar los AF mínimos para cada uno.
Página 3/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
a b a b a b
q0 q6 q4 q0 q3 q1 q0 q5 q4
q1 q2 q3 * q1 q1 q4 q1 q2 q4
* q2 q4 q8 q2 q3 q1 q2 q4 q0
q3 q8 q4 q3 q5 q1 * q3 q4 q5
* q4 q2 q0 q4 q6 q1 * q4 q3 q1
q5 q1 q3 q5 q1 q0 q5 q2 q3
q6 q4 q3 q6 q1 q2
* q7 q7 q6 q7 q1 q3
q8 q1 q2
1.16. Dados los siguientes conjuntos de producciones correspondientes a GR, obtener los AF para cada uno
de ellos. Identificar de qué modelo de AF se tratan y determinar sus componentes.
GR3 S aX / b
X bX / aY
Y aY / bZ
Z bX / a
1.17. Obtener GR que generen los lenguajes aceptados por los siguientes autómatas:
x y a b x y λ
*A B E E {F} {H} J ø ø {K, P}
*B D B F {H} ø K {L} ø ø
C C C *G ø {H,I} *L ø {K} {M}
D B C H {E,G} ø M {P} ø ø
E C B I {F} {I} N ø {M} ø
* P {N} {P} ø
1.18. Obtener AFD mínimos para los AFND .del ejercicio 1.14.
Página 4/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
1.19. Resolver las operaciones combinadas con autómatas que se indican (no es requisito que la solución sea
determinista).
A1. A2. A3.
a b a b a b
C C D *F H I * J J K
*D E D G I G K J L
*E E C *H F G L J K
I F H
a) ( A3 U A2)+
b) ( A2 . A1 )*
c) ( A1 ∩ A2 )-1
d) ( ~A3 ) ∩ A2
1.20. Para cada una de las ER dadas, obtener una AFD mínimo que acepte el lenguaje correspondiente.
( a ( a + b ) ) * a* b
a * b a * + ( a b* b a ) *
2.1. Sean x = 111 , y = 211, z = 10, palabras sobre el alfabeto ∑ = { 1,2,10}. Completar el siguiente cuadro:
2.2. Representando con Wk el conjunto de todas las palabras de longitud k sobre el alfabeto ∑ = { a , b }, ob-
tener:
a) W1 c) W5
b) W3 d) W0
e) ¿Cuántas palabras obtendría para Wn?
f) ¿Cuántas palabras obtendría para longitud n con m símbolos?
g) ¿Cuántas con la restricción de no repetir símbolos?
2.3. Dados los lenguajes L1 = {a , ba}, L2 = {a , b , ba} , L3 = {a, b}, L4 = {a , ab } y L5 = { b , λ } sobre el alfa-
beto ∑ = { a , b }, resolver las operaciones e indicar si el resultado es vacío, finito o infinito. Describir con
palabras los lenguajes infinitos.
LENGUAJES OPERACIONES
{ aa , baa , ab , bab } L3 • L1 L1 •.L3 L3-1 • L1 ( L1 •.L3 )-1
2.6. Sea L = { λ , x }. Obtener Ln para n = 0,1,2,3. ¿Cuántos elementos tiene Ln para un n arbitrario? ¿Cuáles
son las palabras de Ln para un n arbitrario?
Página 6/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
2.8. Dado el lenguaje base L = { a , b } , definir con expresiones de L los lenguajes cuyas palabras cumplen
con las siguientes condiciones
a) Longitud impar.
b) Longitud par que no sea múltiplo de 3.
c) Longitud múltiplo de 3 o múltiplo de 5.
d) Longitud que no sea múltiplo de 5 ni de 7.
2.9. Definir el alfabeto, los lenguajes bases y las operaciones de lenguajes correspondientes a cada uno de los
siguientes campos de datos de un formulario:
2.10. Encontrar gramáticas que generen los lenguajes que se indican para el alfabeto Σ = { a , b } excepto en
los casos que se indique otro alfabeto y derivar al menos cuatro palabras de diferente longitud, indicando
las formas sentenciales intermedias.
g) S wV / bX h) S ASB / y i) S 0QC/ xS
V wS / bZ/b Sy S cS / λ
X wZ/bS/w Ad yA QC 0xB/xQC/cQC
Z wX/ bV Ax xB 0S /xxB/cxB
By
a) P: S Sab b) P: S xxA / By
S Sb A xxA / λ
S Sbb B By / λ
Sλ C xA / yB
c) P: S Sab / Xb / λ d) P: S aS / aaS / X
X Xa / Z W abW / a
Y Sbb / Xaa X bbX / bcY / λ
Z Zaa / b Y cY / aaZ / λ
Z aaZ / bbZ
2.13. Encontrar ER que definan para Σ ={ x , y} los siguientes lenguajes expresado en palabras:
a) ( x + yx + yxx )*
b) ( x ( x + y ) )*
c) ( y + x y* x)* x.y*
a) P: S yS / xD b) P: S bX / ab
C xS / yD X aaX / Y
D xC / yE / λ Y aZ / bX
E aE / bE Z bY / a
c) P: S aW / bY / λ d) P: S aX / bY
W aZ / bW W aW / bW
X aX / bX X aZ / bW / λ
Y aX / bS Y aY / bS / λ
Z aY / bX Z aZ / bY
b) recibe como entrada una secuencia de dígitos decimales y genera como salida el módulo 5 de la suma
parcial de los dígitos recibidos.
Página 8/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
c) Una expendedora que ofrece 3 productos distintos cuyos precios son de $ 5, $ 7 y $ 8, respectivamente.
La máquina admite monedas de 1 y 2 pesos, y billetes de 2, de 5 y de 10 pesos y rechaza las monedas o
billetes cuando el monto supera los 10$. Tiene un botón para cada uno de los productos y otro para can-
celar o solicitar el vuelto después de una compra si no se desea seguir comprando.
2.17. Dado el AF, identificar estados generadores y sumideros, indicar si es completos y conexos, en los casos
negativo, completarlo, y hacerlo conexos. Encontrar cinco palabras de diferente longitud aceptadas por el
AF obtenido y de tres secuencias rechazadas de diferente longitud.
Q={A,B,C,D,E}
Σ={x,y,z}
qo=A
F={A,D}
f (A,x) = B
f (A,y) = C
f (B,x) = B
f (B,z) = D
f (C,y) = E
f (D,x) = D
f (D,y) = B
f (E,x) = C
f (E,z) = B
a) b)
x y x y
A I D A B C
B G A * B J D
* C D G C J G
D G F * D C A
* E A H * E E E
F C B F H D
* G C E * G I A
* H F E * H F H
* I B G I J G
* J J F J G J
c) d)
p q 0 1
* A D H A J F
B D H * B H G
* C D A C I B
D I F * D D C
E H C * E H E
F A B * F D A
G E I * G G H
* H D C H A B
I B A I E F
* J C J
2.19. Dados los siguientes pares de AF indicar si son equivalentes y encontrar los AF mínimos.
Página 9/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
a)
x y x y
* A E A K L M
* B G B L P M
C G A * M L M
D H C N N N
E D A P P K
F A J
G H B
H I C
I D C
J B F
b)
0 1 0 1
A D C G H L
B E B H H G
* C B C I I H
D F A * J I L
E B E K J G
F D A * L I J
2.20. Dados los siguientes AF, indicar y justificar si se trata de autómatas deterministas. En caso que sean no
deterministas, identificar si son AF-λ o AF-lazy, representarlos gráficamente e indicar sus componentes;
Encontrar 5 palabras de diferente longitud que pertenezcan al lenguaje aceptado y otras 5 secuencias (de
símbolos del alfabeto) que no pertenezcan.
A1. A2.
a b x y xy yy xxx
A {A} {C} J {K} ø ø {M} ø
B ø {F} *K ø {L} {K} ø ø
* C {B} {C} L {L} {K} ø ø ø
D {E} {C} M {K} {N} ø ø ø
* E ø ø *N ø ø ø ø {N}
F {A} {D}
A3. A4.
0 1 2 a b λ
*T {T,U} ø {X} G {H} {G} {I}
U ø {W} {Y} H ø {H} {M}
W ø {U,T} ø I ø {M} ø
X {T} {Z} ø *M {M} {H} ø
*Y {W} ø {U}
*Z ø {X} {Z}
2.21. Para cada uno de los autómatas del ejercicio anterior, obtener una GR que genere el lenguaje aceptado
por el autómata.
Página 10/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
2.22. Dados los siguientes conjuntos de producciones, obtener un AF que acepte el lenguaje generado por ca-
da gramática.
2.23. Resolver las operaciones con autómatas que se indican, indicar si el resultado es o no determinista.
a b a b a b λ
A B D *E ø {G} H {I} ø {J}
*B D B F {E} {F} I {K} {H} ø
*C B C G {F} {G} *J ø {K} ø
D D C *K {K} {I} ø
a) A3* U A1 d) ~ (A1 ∩ A2 )
b) (A2 . A1)+ e) (~A1) . A3
c) (A1 ∩ A2)-1
2.24. Obtener un AFD mínimo para cada uno de los siguientes AFND
A1. A2.
a b a b c λ
A {B,D} {A} P ø ø ø {Q,T}
B {D} {C} Q ø {R,S} ø {R,S}
*C {B} {C,D} R ø ø ø {Q-U}
D {D} {B} S {T,P} ø {U} ø
T ø {V} ø {Q}
U {S,Q} ø {V} {S}
*V ø ø ø {R}
2.25. Para cada una de las ER dadas, obtener un AF-λ que acepte el lenguaje correspondiente.
a ( b + a b )* a + ( aa + bb ) * ( bb + a ) + a
( a b * ( a + b ) + a *b b ) *
( a a)* b a* ( b a)* + (a a b* a + b* a a b)*
2.26. Para los siguientes AF - encontrar el lenguaje aceptado y obtener los AFD mínimos equivalentes.
Página 11/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
a)
b)
c)
2.27. Encontrar el AFD mínimo que acepte el lenguaje formado por todas las secuencias de Σ = { a , b } que
cumplan simultáneamente con las siguientes condiciones.
Página 12/13
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán
TRABAJO PRÁCTICO
Departamento: SISTEMAS
Nº 1
Cátedra: Sintaxis y Semántica de los Lenguajes
Ciclo 2018
3. Proyecto de Aplicación
3.1 Considerando los comandos de Unix adecuados y el empleo de tuberías, que posibilitan administrar archi-
vos de texto, resolver las siguientes situaciones con expresiones regulares:
3.1.2 Dado un archivo “plantilla.txt” con una plantilla de texto que incluye los siguientes patrones:
#DNI , #Nombre, #Email, #Domicilio y #FechaNacimiento:
Reemplazar los patrones por los respectivos datos personales almacenados en un archivo de texto con
formato csv: “datos.csv”.
Teniendo en cuenta la fecha actual, mostrar los registros que verifiquen la edad mayor a 18 años.
3.2 Dado el siguiente conjunto de componentes léxicos o tokens utilizados en expresiones algebraicas, cons-
truir un Analizador Léxico (Scanner). Cada token se representa con un par (lexema, token-type). Cada to-
ken-type se codifica con un identificador, de acuerdo a la siguiente descripción:
Construir el Scanner, utilizando como modelo para el diseño el AFD e implementarlo mediante un pro-
grama que utilice la tabla de transiciones. Suponer que las expresiones algebraicas a analizar están en un
archivo de texto. Leer línea por línea en una variable tipo String, eliminar los espacios en blanco y rea-
lizar el escaneo sobre la misma. Tener en cuenta que un token termina cuando se encuentra un final de
String o el primer símbolo del siguiente token. En este último caso se debe retroceder un símbolo en la
cadena que se está escaneando. El resultado del análisis debe guardarse en otro archivo de texto, que
contendrá los pares (lexema, token-type) de cada token encontrado, separado por espacio en blanco, uno
por línea. En caso de no encontrar un token válido, suponer como token-type “ERROR_LEXICO”.
Página 13/13