Professional Documents
Culture Documents
a b
a b
q1 a b q4
q0 q2 q3
Respuesta:
Ecuaciones caractersticas:
x0 = a x1
x1 = a x2
x2 = a x1 + b x3
x3 = b x 4
x4 = b x3 +
Transformaciones
x3 = b x 4
= b (b x3 + ) Se sustituye x4 en x3
= b b x3 + b Se aplica la regla de inferencia
= (bb)* b
x1 = a x2 Se sustituye x2 en x1
= a (a x1 + b x3) Se sustituye x3 en x1
= a (a x1 + b (bb)* b) Se aplica la propiedad distributiva
= a a x1 + a b (bb)* b Se aplica la regla de inferencia
= (a a)* a b (bb)* b
x0 = a x1 Se sustituye x1 en x0
= a (a a)* a b (bb)* b
= a a (aa)* bb (bb)*
Respuesta:
a b
a b
q1 a b q4
q0 q2 q3
b a
b
a
q5 a,b
25 puntos
3.- Disea una gramtica de contexto libre que permita generar las siguientes declaraciones
del lenguaje C:
float x, y[3][3];
int a[5];
Respuesta:
1) S Declaracin ; S
2) S
3) Declaracin Tipo Variable Lista_variables
4) Tipo float
5) Tipo int
6) Variable identificador Dimensiones
7) Lista_variables , Variable Lista_variables
8) Lista_variables
9) Dimensiones [nmero] Dimensiones
10) Dimensiones
Respuesta:
La regla 1) S Declaracin ; S
se aplica a S y a los elementos de
primero(Declaracin ; S )= primero(Declaracin)
= primero(Tipo Variable Lista_variables)
= primero(Tipo)=
= primero(float) primero(int)
={float} { int}
= {float,int}
La regla 2) S
se aplica a S y a los elementos de
siguiente (S )= {$}
La regla 8) Lista_variables
se aplica a Lista_variables y a los elementos de
siguiente(Lista_variables )= siguiente(Declaracin)={ ; }
Respuesta:
3 puntos
Respuesta:
Estrategia:
1. Se marca una a con A y se avanza hacia la derecha hasta que se
marquen dos b con B.
2. Se retrocede hasta que se encuentra la primera A por la derecha ,
se da un paso a la derecha y se repite el proceso.
3. Si al principio se encuentra una B entonces se comprueba que
slo hay B.
a/a,D
B/B,D
B/B,I
a/A,D b/B,D b/B,I a/a,I
q0 q1 q2 q3
B/D,D A/a,D
#/#,P
q4 q5
B/B,D
Transforma la mquina de Turing anterior para que compute la funcin
caracterstica de L.
Respuesta:
Estrategia:
1. Si la palabra es reconocida, se retrocede hasta el principio, se
borran todos los smbolos y se escribe un 1.
2. Si la palabra no es reconocida, se introducen las transiciones no
definidas previamente, las cuales permiten ir al principio de la
cadena, borrarla y escribir un 0.
B/B,I
a/a,I b/b,I
a/a,D A/A,I B/B,I A/A,I a/a,I
B/B,D #/#,P a/a,I #/#,P A/A,I
B/B,I A/A,I b/b,I
a/A,D b/B,D b/B,I a/a,I #/#,P B/B,I
q1 q6
q0 q2 q3
a/a,I
B/D,D A/a,D b/B,I
#/#,D A/A,I
#/#,P
b/b,I
#/#,I #/1,P
q4 q5 q8 q7
#,/0,P a/#,D
B/#,I A/#,D
B/B,D A/#,I b/#,D
B/#,D
Respuesta:
(q0,aabbbb) |- (q1,Aabbbb) |- (q1,Aabbbbb) |- (q2,AaBbbb) |- (q3,AaBBbb)
|-*(q3,AaBBbb) |- (q0,AaBBb) |- (q1,AABBbb) |-* (q1,AABBbb)
|- (q2, AABBBb) |- (q3,AABBBB) |-* (q3,AABBbb) |- (q0,AABBBB)
|- (q4,AABBBB) |-* (q4,AABBBB#) |- (q5,AABBBB#)
|-* (q5,#######) |-* (q8,1######)
25 puntos