📚 DE LIBRE ACCESO · SIN LOGIN

Respuestas modelo

Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.

111
🎯 autoevaluación
355
📝 test · opción múltiple
111 / 111
✍️ test · abiertas con respuesta
37
temas cubiertos
✕ Limpiar

2.02 · Selectivas Anidadas y `switch`

16 preguntas con respuesta en este tema.

🎯 Autoevaluación (3)

1
🎯 AE

¿Para qué sirve `switch`?

  • A. Para bucles
  • B. Para seleccionar entre múltiples caminos según el valor de una variable ✓ CORRECTA
  • C. Para funciones
  • D. Para errores
💡 Por qué es correcta:

switch compara una variable contra múltiples valores (case) y ejecuta el bloque correspondiente.

2
🎯 AE

En C++, ¿qué hace `break` dentro de un switch?

  • A. Termina el programa
  • B. Sale del switch después de ejecutar un case ✓ CORRECTA
  • C. Salta al siguiente case
  • D. No tiene efecto
💡 Por qué es correcta:

break evita el "fall-through" (que se ejecuten los cases siguientes). Sin break, se ejecutan todos los cases debajo.

3
🎯 AE

¿Cuándo es preferible switch sobre if-else anidados?

  • A. Siempre
  • B. Cuando comparas una variable contra muchos valores discretos ✓ CORRECTA
  • C. Solo con strings
  • D. Solo con números decimales
💡 Por qué es correcta:

switch es más legible y eficiente cuando hay muchas comparaciones de igualdad contra valores discretos.

📝 Test · Sección A · Opción múltiple (10)

1
📝 MC

¿Para qué sirve switch?

  • A. Repetir
  • B. Seleccionar entre múltiples caminos según un valor ✓ CORRECTA
  • C. Definir función
  • D. Compilar
💡 Por qué es correcta:

switch compara una variable contra varios valores.

2
📝 MC

¿Qué hace break en un switch?

  • A. Termina el programa
  • B. Sale del switch después de un case ✓ CORRECTA
  • C. Salta al siguiente case
  • D. No tiene efecto
💡 Por qué es correcta:

break evita el "fall-through" entre cases.

3
📝 MC

¿Qué pasa si olvidas break en un case?

  • A. Error
  • B. Fall-through: ejecuta los cases siguientes ✓ CORRECTA
  • C. Termina el switch
  • D. El case se ignora
💡 Por qué es correcta:

Sin break, la ejecución continúa al siguiente case hasta encontrar break o fin.

4
📝 MC

switch se puede usar con:

  • A. Solo enteros
  • B. En C++: enteros, char, enum; en JS/PHP también string ✓ CORRECTA
  • C. Solo strings
  • D. Solo floats
💡 Por qué es correcta:

En C++ clásico: enteros, char, enum. En JS/PHP: cualquier tipo.

5
📝 MC

¿Cuál es la sintaxis correcta de switch?

  • A. switch (x) { case 1: ... break; } ✓ CORRECTA
  • B. switch x case 1: ...
  • C. switch { x case 1 }
  • D. switch (x) -> case 1
💡 Por qué es correcta:

switch (expresión) { case valor: ...; break; }.

6
📝 MC

¿Cuándo es mejor if-else que switch?

  • A. Siempre
  • B. Para rangos o condiciones complejas ✓ CORRECTA
  • C. Solo con strings
  • D. Nunca
💡 Por qué es correcta:

switch: comparaciones discretas. if-else: rangos, condiciones complejas.

7
📝 MC

¿switch puede tener un case default?

  • A. No
  • B. Sí, es el caso por defecto si no hay match ✓ CORRECTA
  • C. Solo en Java
  • D. Solo en C++
💡 Por qué es correcta:

default es opcional pero recomendado para casos no contemplados.

8
📝 MC

¿Qué pasa si ningún case coincide y no hay default?

  • A. Error
  • B. No se ejecuta ningún bloque ✓ CORRECTA
  • C. Se ejecuta el último case
  • D. Se repite el switch
💡 Por qué es correcta:

Sin default y sin match, simplemente no se ejecuta nada.

9
📝 MC

switch con float: ¿es válido en C++?

  • A. Sí
  • B. No (en C++ clásico) ✓ CORRECTA
  • C. Solo en C++20
  • D. Solo con double
💡 Por qué es correcta:

switch en C++ clásico no acepta float/double (solo enteros, char, enum).

10
📝 MC

¿Cuántos cases puede tener un switch?

  • A. Máximo 10
  • B. Sin límite práctico ✓ CORRECTA
  • C. Máximo 255
  • D. Solo 1
💡 Por qué es correcta:

No hay un límite práctico en el número de cases.

✍️ Test · Sección B · Preguntas abiertas (3)

11
✍️ AB

¿Cuándo es preferible switch sobre if-else? Da un ejemplo donde switch es claramente mejor.

💡 Por qué es correcta:

Switch: cuando comparas una variable contra muchos valores discretos (ej: menú con 5 opciones, días de la semana). Más legible, el compilador puede optimizar (jump table). If-else: rangos, condiciones complejas, comparaciones de strings.

12
✍️ AB

Explica qué es "fall-through" en switch y por qué a veces se usa intencionalmente.

💡 Por qué es correcta:

Fall-through: cuando un case no tiene break, la ejecución continúa al siguiente case. Intencional: cuando varios cases comparten el mismo código. Ej: case 1: case 2: case 3: "primer trimestre"; break;

13
✍️ AB

Diseña un switch que imprima el número de días de un mes (considerando año no bisiesto).

💡 Por qué es correcta:

switch(mes) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: 31; break; case 4: case 6: case 9: case 11: 30; break; case 2: 28; break; default: "mes inválido"; }

📝 ¿Listo para evaluarte?

Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.