Está en la página 1de 20

 

 
Tarea Kinder 1
https://docs.google.com/document/d/1kGl6W8Tpq5gUECSPuAd1H
FzM53-qPiUXB0X5npLY4II/edit 

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija 
(RPN), ¿Qué hay que hacer con la declaración de precedencia? 
Tarea Kinder 3

https://docs.google.com/document/d/1j-hpUeLtmAqO4QYpO_7WI2aVy2OGFPdEZu_qE
0HABvA/edit 
 
 
Un arreglo de enteros A[i][j] se almacena como row-major, i va de 1 a 10 y j va de 1 a 20, 
cada entero ocupa 4 bytes, iniciando en el byte 0, ¿cúal es la posición en bytes de 
A[10][8]? 
Seleccione una: 
a. Ninguna es correcta ---- confirmen confirmo, no me da ningun resultado de los de la 
seleccion ​CONFIRMO, da 748 -> ((10-1)*20+(8-1))*4 
b. 256 
c. 804 
d. 224 
e. 748 creo xd, es 748!!! 
 

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija
(RPN), ¿cómo debería quedar la producción statement : NAME EQUALS expression?
Seleccione una:
a. statement : expression NAME EQUALS
b. expression NAME EQUALS : statement
c. NAME expression EQUALS : statement
d. Ninguna es correcta
e.​ statement : NAME expression EQUALS -- el signo va de ultimo por ser postfija
Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija (RPN)
con manejo de variables, ¿cuál es el resultado de la entrada 10 a = 10 b = a b +?
Seleccione una:
a. Ninguna es correcta
b. ​erro​r <- ? ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
c. 10
d. 0
e. 20

no es 20?
a=10
b=10
a+b ?
10+10=20 ?
Pero en la notación está como 10 a = en vez de a 10 =, no?

Si se traduce la expresión a+-(b+c) a un árbol sintáctico, ¿cuántos nodos tendría el AST?


Seleccione una:
a. 7
b. 5
c. 4
d. Ninguna es correcta
e. 6

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija (RPN)
con manejo de variables, ¿cuál es el resultado de la entrada 10 a = 10 b = a b + 80 + 2 * c =
c 2 *?

a =10
b = 10
c = (a+ b + 80) * 2
c = c*2

No es 204?
Seleccione una:
a. error
b. 400
c. 200
d. Ninguna es correcta
e. 100

En esta cual pusieron?


no le entiendo a la entrada :v
notacion postfija dice jaja, aja pero del 80 no se como sigue
a=10
b=10
c=(( a+b )+ 80)*2 ------>(10+10+80)*2=200
c*2==400
asi si :v
se va NAC?diria que 400
bueno 400 dejemos

Construya el DAG (grafo) para la expresión: ((x+y)-((x + y)*(x-y)))+((x+y)*(x-y)), ¿cuántas 


veces aparece x como nodo? . 

Seleccione una: 

a. 5 

b. 3 

c. 1 

d. Ninguna es correcta 

e. 0   
 

 
iuda :,c una creo….
seguro? queda asi el grafo? o no? confirmo zi x2 x3

no se :,c

¿Cuántos temporales generaría el código de tres direcciones para la asignación x=a[i]+b[j]?


Seleccione una:
a. 3 es esta x2, voy a verificar :v
b. 5
c. Ninguna es correcta
d. 4
e. 6
----------------------------------------------------------------------------------------------------------------
Construya el DAG (grafo) para la expresión: ((x+y)-((x + y)*(x-y)))+((x+y)*(x-y)),
¿cuántas veces aparece - como nodo?

Seleccione una:
a. 1

b. Ninguna es correcta

c. 2

d. 0
e. 3

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija
(RPN), ¿a qué debe igualarse t en la posición 0 según la acción semántica de la producción
expression : expression + expression?
[0] = [1] [2] [3]
Seleccione una:
a. Ninguna es correcta
b. t[1]+t[3]
c. t[1]+t[2] x2
d. t[2]+t[3]
e. t[0]+t[1]

Construya el DAG (grafo) para la expresión: ((x+y)-((x + y)*(x-y)))+((x+y)*(x-y)), ¿cuántas


veces aparece + como nodo?
Seleccione una:
a. Ninguna es correcta
b. 3
c. 1
d. 0
e. 2

Un arreglo de enteros A[i][j] se almacena como row-major, i va de 1 a 10 y j va de 1 a 20, 


cada entero ocupa 4 bytes, iniciando en el byte 0, ¿cúal es la posición en bytes de 
A[4][5]? 

Seleccione una: 

a. 256  

b. 748 

c. 224 

d.​ Ninguna es correcta​ -----------------------confirmen, esta no , C


​ ONFIRMO 

e. 96 

alguna idea? :( x2 256? o ninunga es correcta creo que esa 256 voy a poner esa no 
estoy seguro. Mejor me pongo a llorarx2 

es 256 
Suponga la figura 6.43 del libro de texto y la expresión a==b && (c==d||e==f), si empieza 
por la instrucción 100, ¿a qué instrucción llega la expresión cuando se forma el árbol 
anotado? 
Seleccione una: 
a. 104 
b. 105 ←- CREO, confirmen, Confirmo  
c. 107 
d. Ninguna es correcta 
e. 106 
ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
x2 
que sea lo que el bicho quiera 

Si se traduce la expresión a[i]=b*c-b*d a cuádruplos o tripletas, ¿cuántas filas tendría 


cada estructura? 

Seleccione una: 

a. 5 

b. 6 

c. 3 

d. Ninguna es correcta 

e. 4 

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija
(RPN), ¿cuál es el resultado de la entrada 2 4 / 5 6 - *?[
Seleccione una:
a. -1
b. error
c. -0.5 Creo Xd si confirmo x2
d. Ninguna es correcta
e. 0.5

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija
(RPN), ¿cómo debería quedar la producción expression : expression + expression?
Seleccione una:
a. expression expression : expression +
b. expression : expression expression +
c. Ninguna es correcta
d. expression : + expression expression
e. expression expression + : expression
Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija
(RPN), la entrada 10 a = a da error ¿qué producción hay que agregar al esquema de
traducción?
Seleccione una:
a. expression : statement
b. expression : expression expression el problema es el símbolo igual es notacion post
c. statement : statement statement
d. No hay que agregar nada
e​. Ninguna es correcta​ --- En otra pregunta aparece esta producción, por tanto es nac, me
parece un poco más lógico, confirman? cual produccion? xd Sera uste? Sera uste?x2x3
le voy a hacer caso uste!, le voy a hacer caso uste! x2

Considere la figura 5.1 del libro de texto, construya un árbol anotado para la expresión 
(3+4)*(5+6)n. ¿cuántas veces se heredó el valor 77? 

Seleccione una: 

a. 4 

b. 2 

c. 3 

d. 1 

e. N
​ inguna es correcta​ <- yo digo que es esta, no se heredan atributos x2 

Cabal jajajaaja es ninguna 

 
f
17?

Si se traduce la expresión a+-(b+c) a cuádruplos o tripletas, ¿cuántos filas tendría cada 


estructura? 

Seleccione una: 

a. 4  

b. 2 

c. 5 

d. 3, confirman? confirmo 
e. Ninguna es correcta 

Ayuda :c x2x3 Valio?


Considere la figura 5.27 del libro de texto pero con la producción S->if (c) S1 else S2, 
¿cómo deben quedar la reglas semánticas de dicha producción? 

Seleccione una: 

a. L1=new() C.true=L1 S1.next=S.next S.code=C.code||S1||label1||L1||S2.code 

b. Ninguna es correcta 

c. L1=new() C.false=L1 S1.next=S.next S.code=C.code||S1.code||label1||L1||S2.code  

yo puse esta 

d. L1=new() C.false=L1 S.code=label||L1.code||S1.code||C.code 

e. L1=new() C.true=L1 S.code=label||L1||S1.code||C.code 

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija 
(RPN), ¿cómo debe ser la acción semántica de la producción statement : NAME EQUALS 
expression? 

Seleccione una: 

NAME = expresion 

a = 10   

pasar a 

expresion name equals 


10(t1) a(t2) = sería t2 = t1 entonces si es B 

a. names[t[1]] = t[2] yo digo que es esta T1 es name y t2 es la expresión 

b. ​names[t[2]] = t[1] creo que es esta postfijo es EXPRESION NAME =  

c. names[t[3]] = t[1] 

d. Ninguna es correcta 

e. names[t[1]] = t[3] 

cual de las dos es? :/  

de las 3 * ?  

F, yo pondre e 
para mi es la 3 porque las otras dos no toman en cuenta la posicion del signo igual 

Considere la figura 5.1 del libro de texto, construya un árbol anotado para la expresión 
(3+4)*(5+6)n. ¿cuántas veces se heredó el valor 7? 

Seleccione una: 

a. Ninguna es correcta yo digo que es esta, no se heredan atributos x2 

b. 1 

c. 4 

d. 2 

e. 3 

 
Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija 
(RPN), ¿Qué hay que hacer con la declaración de precedencia? 

Seleccione una: 

a. Hay que definir una precedencia inversa 

b. Hay que dejarla de lo contrario no funciona 

c. Ninguna es correcta 

d. Hay que quitarla porque no es necesario -​---- confirmen, confirmo 

e. Hay que agregar más operadores en la precedencia por ser postfijo 

Si se traduce la expresión a+-(b+c) a tripletas indirectas, ¿cuántos filas tendría en total 


todas las estructuras? 
a. Ninguna es correcta 
b. 8 
c. 5 
d.​ 6 
e. 7 
 
6??? confirmen
??? diria 6 tambien
??????
entonces nac?

Si se traduce la expresión a=b[i]+c[j] a cuádruplos o tripletas, ¿cuántos filas tendría cada 


estructura? 

Seleccione una: 

a. 5 ----- confirmen Confirmo Reconfirmo 

b. 4 

c. Ninguna es correcta 

d. 3 

e. 2 

Considere la figura 7.9 del libro de texto, se desea calcular f(5), ¿cuántos nodos hoja tiene
el árbol de activación?
Seleccione una:
a. 9
b. Ninguna es correcta
c. 7 no son 7?
d. 8 <-
e. 10

Suponga la figura 6.36 del libro y la instrucción repeat S while B, ¿qué debe incluir el
atributo que genera código de tres direcciones?
Seleccione una:
a. label(B.false)||S1.code||label(S1.next)||B.true
b. Ninguna es correcta Para mi es esta, xD la otra su etiqueta de salida (S1.next) debería
estar después de B.code no antes
c. S1.code||label(S1.next)||B.code||S2.next||B.true
d. ​label(B.true)||S1.code||label(S1.next)||B.code .yo digo que esta xdxd​ Será uste? porque si
ven la figura, el s1.next es igual a una etiquetas y no contiene nada de s2 . Es esta?
e. S1.code||label(S1.next)||B.code||S2.next

Ayuda…
8.5

8.5.8 del libro


 
 
Suponga el ejercicio 8.5.8 del libro de texto, ¿cuántas líneas de código de tres 
direcciones son generadas? 

 
 
a. Ninguna es correcta 
b. 8 
c. 7 
d. 10 
e. 9 ? confirmo, x2x3 
¿​ 6.36​ generaría el código de tres direcciones para la asignación x=a[i][j]+b[i][j]? 

Seleccione una: 

a. Ninguna es correcta 

b. 10 

c. 7 

d. 8 x2  

e. 98.5 

Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija 
(RPN), ¿Qué hay que hacer con los paréntesis? 

Seleccione una: 

a. Ninguna es correcta 

b. No hay que quitar tokens, solamente la producción donde aparecen 

c. Quitar de los tokens solo el paréntesis izquierdo 

d. Quitar de los tokens tanto el izquierdo como el derecho -> Confirmen 

e. Quitar de los tokens solo el paréntesis derecho 

entre d y b pero si creo que es mas d que b,


creo que es la b porque si eliminamos los tokens, solo daria error ply diciendo que no
reconoce los lexemas que estan en la producción, mientras que si se quita la producción
que acepta los parentesis no importa que los tokens se reconozcan
Suponga el ejercicio 8.5.8 del libro de texto y que se optimizó el código de tres 
direcciones, ¿cuántas líneas quedaron en el código optmizado? 

Seleccione una: 

a. Ninguna es correcta 

b. 8 

c. 7 

d. 6 

e. 5 
si son 6 creo

Considere la figura 5.1 del libro de texto, construya un árbol anotado para la expresión 
(3+4)*(5+6)n. ¿cuántos nodos hojas tiene el árbol? 

Seleccione una: 

a.​ Ninguna es correcta 

b. 20 

c. 17 

d. 19 

e. 18 

quitando los nodos signos y el nodo dig.valex quedan 18, pasen la figura plox. 

en el doc anterior pusieron nac :V 


 

Suponga la figura 6.43 del libro de texto y la expresión a==b && (c==d||e==f), si empieza 
por la instrucción 100, ¿cuántos nodos hoja tiene el árbol anotado? 

Seleccione una: 

a. 13 -------- confirmado  

b. 12 

c. 14 

d. 15 son 15, los nodos hoja de epsilon tambien se cuentan 

e. Ninguna es correcta 

Considera la figura 8.10 de libro de texto, ¿cuál es bloque más grande de flujo, es decir, 
el que tiene más ​líneas de código de tres direcciones​? 

Seleccione una: 

a. El segundo for 

b. El quinto for 

c. La sentencia del segundo for 

d. La sentencia del quinto for, confirmo 

e. Ninguna es correcta 
 

NAC← ? , no se ya puse una NAC y no quiero poner otra :(  

es que bloques basicos seria solo asignacion no? osea sentencia y viendo el codigo la 
sentencia del 5to for es mas grande pero no se si estoy bien  
y si ponen la figura? xdx2x3x4x5 

F? x2 dejen la figura, ptm  

 
si es el quinto, porque en los demás unicamente hay asignación o etiquetas, confirmen;
yo digo que si​ la sentencia del 5to for confirmo​ for no ?x2
excelente
pero el quinto está dentro del 2do for, en teoria el 2do jejej bueno esa fue mi logica

Construya el DAG (grafo) para la expresión: ((x+y)-((x + y)*(x-y)))+((x+y)*(x-y)), ¿cuántas 


veces aparece y como nodo? 

Seleccione una: 

a. 1 

b. 0 

c. 3 

d. 5 

e. Ninguna es correcta 

Si se traduce la expresión a[i]=b*c-b*d a cuádruplos o tripletas, ¿cuántos filas tendría 


cada estructura?
Seleccione una: 
a. 6 
b. Ninguna es correcta 
c. 3 
d. 5 
e. 4 

suponga la figura 6.36 del libro y la instrucción repeat S while B, ¿qué debe incluir el atributo
que genera código de tres direcciones?
Seleccione una:
a. Ninguna es correcta
b. label(B.false)||S1.code||label(S1.next)||B.true
c. S1.code||label(S1.next)||B.code||S2.next||B.true
d. label(B.true)||S1.code||label(S1.next)||B.code
e. S1.code||label(S1.next)||B.code||S2.next

??? COnfirmen

Construya el DAG (grafo) para la expresión: ((x+y)-((x + 


y)*(x-y)))+((x+y)*(x-y)), ¿cuántas veces aparece * como nodo? 

Seleccione una: 

a. 0 

b. 1 si es uno 

c. 3 

d. 2 confirmen n
​ o, es 1 

e. Ninguna es correcta 

 
Considere el código ejemplo calc.py de PLY, si se desea utilizar una notación postfija 
(RPN), ¿a qué debe igualarse t en la posición 0 según la acción semántica de la 
producción expression : expression + expression? 

Seleccione una: 

a. t[2]+t[3] 

b. t[1]+t[3] 

c. t[1]+t[2] -- confirmen 

d. Ninguna es correcta 

e. t[0]+t[1] 

¿Cuántos temporales generaría el código de tres direcciones para la asignación 


x=a[i][j]+b[i][j]? 

Seleccione una: 

a. 9 

b. 7 

c. 8 

d. 10 

e. Ninguna es correcta 

También podría gustarte