Programacion
Programacion
Programacion
Test Autoevaluación
Tema 4
Autores:
M. Paz Sesmero Lorente
Paula de Toledo Heras
Fco. Javier Ordoñez Morales
Juan Gómez Romero
José A. Iglesias Martínez
José Luis Mira Peidro
Programación. Tema 4. Estructuras de Control
SOLUCIONES
1. Dado el siguiente programa en lenguaje C, indique qué se imprimirá en pantalla:
#include <stdio.h>
int main(void) {
int i, j, r;
for(i=0; i<2; i++) {
for(j=0; j<3; j++) {
r = i+j;
if(r % 2 == 0)
printf("%i ", r);
}
}
printf("\n");
return 0;
}
i=0 i=1
j=0 j=0
r=0 r=1
j=1 j=1
r=1 r=2
j=2 j=2
r=2 r=3
a. No imprime nada.
b. 0, 2, 4, 6.
c. 0, 2, 2
d. 0, 2, 4
int main(void) {
int a = 10, b;
while(a > 0) {
b = a - 1;
printf("%i ", b);
a = a - 1;
}
return 0;
}
Solución: En la primera iteración, a=10 y por tanto b=9. Así pues, el primer valor
mostrado por pantalla es 9.
El bucle while se repite mientras a>0. Esto significa que el último valor que toma la
variable a es 1 y que el último valor que toma b es 0. Por tanto, la opción correcta
es la d.
2
Programación. Tema 4. Estructuras de Control
condición
true
false
instrucciones
Primera iteración:
Se ejecuta la expresión de inicialización.
Se evalúa la expresión_lógica y dependiendo del valor del resultado:
Si es cierto, se ejecuta el bloque_de_instrucciones y se vuelve al
inicio del bucle
Si es falso, finaliza la ejecución de la sentencia.
Segunda y sucesivas iteraciones:
Se ejecuta la expresión de actualización
3
Programación. Tema 4. Estructuras de Control
Por tanto, la instrucción de inicialización se ejecuta la primera vez que se llega al for
tanto si se entra al bloque como si no.
int main(void){
int a=4,b=3,mayor;
printf("%i %i",a,b);
}
Solución: Observando el código se puede comprobar que éste contiene una sentencia
if - else y un else "huérfano". Por tanto, el programa tiene un error de compilación y en
consecuencia, no muestra nada por pantalla.
a. 4 3
b. 20 144
c. 8 12
d. Ninguna de las respuestas anteriores es correcta @
4
Programación. Tema 4. Estructuras de Control
10. Indique cuál de las siguientes afirmaciones sobre estructuras de control anidadas
es cierta:
a. En el anidamiento de instrucciones de control repetitivas es recomendable
que un bucle interno modifique la expresión de control del bucle externo.
Falso.
b. Las sentencias if anidadas implementan decisiones que implican una o dos
alternativas. Falso. Las decisiones que implican una o dos alternativas se
implementan con las sentencias if o if-else respectivamente.
c. Un bucle interno que se controle mediante el decremento de una variable
debe repetirse sólo una vez en cada iteración del bucle externo. Falso
d. Ninguna de las respuestas anteriores es cierta. Cierto