Lenguajes de Programación I
Ej. 3 – Recuperatorio 2024
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
Se tiene el siguiente programa en el cual si las variables no se declaran con modificador son globales, si tienen el modificador “local” se acceden por la secuencia de invocación y si tienen el modificador “my” son utilizadas por la función que las declara
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 789 789 789?
MOD1, MOD2, MOD3, MOD4, MOD5 Y MOD6 tienen que modificar las variables globales
h() debe poder acceder a las mismas variables siempre
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
4
5
6
7
8
9
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 789 456 123?
MOD1, MOD2, MOD3, MOD4, MOD5 Y MOD6 tienen que modificar las variables locales de cada ámbito
h() debe poder acceder a las variables de g(), f() y main()
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
x | local | f | 4 |
y | local | f | 5 |
z | local | f | 6 |
x | local | g | 7 |
y | local | g | 8 |
z | local | g | 9 |
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 123 123 123?
MOD1, MOD2, MOD3, MOD4, MOD5 Y MOD6 no tienen que modificar las variables globales (deben modificar variables my inaccesibles)
h() debe poder acceder a las variables globales originales
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
x | my | f | 4 |
y | my | f | 5 |
z | my | f | 6 |
x | my | g | 7 |
y | my | g | 8 |
z | my | g | 9 |
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 456 456 123?
MOD1, MOD2, MOD3 deben permitir modificar variables locales, MOD4, MOD5 Y MOD6 deben modificar variables inaccesibles
h() debe poder acceder a las variables de f y globales originales
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
x | local | f | 4 |
y | local | f | 5 |
z | local | f | 6 |
x | my | g | 7 |
y | my | g | 8 |
z | my | g | 9 |
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 189 159 129?
MOD1, MOD4 my
MOD2, MOD5 local
MOD3, MOD6: global
h() debe acceder a “x” global original, “y” local de cada ámbito y “z” global
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
x | my | f | 4 |
y | local | f | 5 |
x | my | g | 7 |
y | local | g | 8 |
6
9
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
v) 189 159 129
vi) 159 156 126
i) ¿Cómo hacer para que el programa imprima 159 156 126?
MOD1, MOD4 my
MOD2 local, MOD5 my
MOD3, MOD6: global
h() debe acceder a “x” global original, “y” de f y global original y a “z” global y de f
main
f
g
h
h
h
VAR | MODO | AMBITO | VALOR |
x | global | main | 1 |
y | global | main | 2 |
z | global | main | 3 |
x | my | f | 4 |
y | local | f | 5 |
x | my | g | 7 |
y | my | g | 8 |
6
9
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
i) ¿Cómo hacer para que el programa imprima 789 789 789?
h() debe acceder a “x” global original, “y” de f y global original y a “z” global y de f
Main
x, y, z
f
g
h
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
i) ¿Cómo hacer para que el programa imprima 789 456 123?
h() debe acceder a “x” global original, “y” de f y global original y a “z” global y de f
Main
x, y, z
f
x, y, z
g
x, y, z
h
h
h
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
i) ¿Cómo hacer para que el programa imprima 123 123 123?
h() debe acceder a “x” global original, “y” de f y global original y a “z” global y de f
Main
x, y, z
f
x, y, z
g
x, y, z
h
Código | |
x = 1 y = 2 z = 3 func h() { imprimir x imprimir y imprimir z } | func f() { MOD1 x = 4 MOD2 y = 5 MOD3 z = 6 func g() { MOD4 x = 7 MOD5 y = 8 MOD6 z = 9 h() } g() h() } f() h() |
i) 789 789 789
ii) 789 456 123
iii) 123 123 123
iv) 456 456 123
i) ¿Cómo hacer para que el programa imprima 456 456 123?
h() debe acceder a “x” global original, “y” de f y global original y a “z” global y de f
Main
x, y, z
f
x, y, z
g
x, y, z
h
h
Errores frecuentes