| | 1. El node ('BLOC' espai_vars espai_temporals) representa: |
| | espai_vars és l'espai necessari per guardar totes les variables del bloc i espai_temporals l'espai per les variables temporals del bloc corresponent |
| | espai_vars és l'espai necessari per guardar totes les variables del bloc corresponent i espai_temporals s'incrementa únicament quan creem una variable temporal en qualsevol lloc del programa principal, no de les fucions |
| | a), però únicament s'incrementa si les variables temporals pertanyen a una funció dins del programa |
| | b), però únicament s'incrementa si les variables temporals pertanyen a una funció dins del programa |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 2. Quan dividim en blocs bàsics i trobem ":=" "OUTPUT" o "RETURN", i hi ha una crida a funció "FUN", |
| | hem de crear un nou bloc bàsic a partir e la crida a una funció si els paràmetres són per referència |
| | hem de crear un nou bloc bàsic a partir de la crida a una funció si els paràmetres són variables globals |
| | Si la funció no té paràmetres per referència ni paràmetres que siguin varibles globals, mai s'ha de crear un nou bloc bàsic a partir de la crida a una funció |
| | a) i b) |
| | c) i d) |
| | No contesto... |
| |
| | 3. La condició d'un if: |
| | Pertany a un bloc bàsic nou |
| | Pertany a un bloc bàsic anterior |
| | No pertany a cap bloc bàsic |
| | No s'hi aplica cap optimització |
| | a) i d) |
| | No contesto... |
| |
| | 4. La conversió de restes a sumes i divisions a multiplicacions, quin sentit té? |
| | Simplifica els algorismes de propagació de constants i folding |
| | Simplifica l'algorisme de reducció de freqüència |
| | Permet trobar un nombre major de subexpressions comuns per reduir |
| | b) i c) |
| | a) i b) |
| | No contesto... |
| |
| | 5. L'ordre en què s'han d'ordenar els operands d'una expressió és: |
| | literals, variables globals, variables locals, arrais globals, arrais locals |
| | literals, variables globals, arrais globals, variables locals, arrais locals |
| | literals, variables locals, variables globals, arrais globals, arrais locals |
| | literals, variables locals, variables globals, arrais locals, arrais globals |
| | literals, variables globals, variables locals, arrais globals, arrais locals, subexpressions (funcions...) |
| | No contesto... |
| |
| | 6. En reordenació d'expressions, a l'expressió: b:= a+f(...)+a |
| | Si la instrucció anterior és a:=5, es pot propagar el valor de 5 a les dues a |
| | Si la segona a és local, però es passa per referència com a paràmetre de la funció, no es reordena |
| | Si la segona a és global, tampoc es pot passar a davant de la crida a funció |
| | a) i b) |
| | b) i c) |
| | No contesto... |
| |
| | 7. On no s'aplica la reordenació d'expressions: |
| | Al fill dret d'un node ':=' |
| | Al fill esquerre d'un node 'Adre' |
| | Al fill dret d'un node ',' |
| | a) i b) |
| | b) i c) |
| | No contesto... |
| |
| | 8. Quan realitzem reducció de subexpressió comuns, i processem una expressió, cal: |
| | Si la instrucció anterior era una assignació, esborrar les subexpressions de la taula d'expressions que continguin la variable abans assignada |
| | Esborrar totes les subexpressions de la taula d'expressions |
| | Si hem de crear una variable temporal nova amb una subexpressió associada, cal afegir dita subexpressió a la taula d'expressions |
| | a) i c) |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 9. En la reducció de freqüència, si hi ha dins d'un bucle una crida a funció |
| | Mirem si els paràmetres són per referència o per valor |
| | Esborrem la llista de variables modificades |
| | No fem la reducció |
| | a) i b) |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 10. Quan eliminem totes les instruccions d'un for, és a dir, el for queda buit, |
| | quan volem visualitzar el codi obtingut amb "vis -c" diu que l'arbre no es correcte |
| | el "vis -v" i l'interpret l'entenen perfectament... |
| | no compila correctament |
| | a) i b) |
| | a) i c) |
| | No contesto... |
| |