📚 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

4.04 · Recursión

16 preguntas con respuesta en este tema.

🎯 Autoevaluación (3)

1
🎯 AE

¿Qué es la recursión?

  • A. Un bucle
  • B. Una función que se llama a sí misma ✓ CORRECTA
  • C. Un tipo de variable
  • D. Un error
💡 Por qué es correcta:

Recursión: función que se llama a sí misma con un caso base que termina la cadena.

2
🎯 AE

¿Cuáles son los 2 elementos esenciales de una función recursiva?

  • A. Variables y parámetros
  • B. Caso base y caso recursivo ✓ CORRECTA
  • C. Return y print
  • D. Loop y condición
💡 Por qué es correcta:

Caso base: condición de terminación. Caso recursivo: llamada a sí misma con un subproblema más pequeño.

3
🎯 AE

¿Cuándo puede causar stack overflow la recursión?

  • A. Nunca
  • B. Si la profundidad es excesiva y no hay caso base alcanzable ✓ CORRECTA
  • C. Solo en C++
  • D. Solo en Python
💡 Por qué es correcta:

Cada llamada usa espacio en la pila de llamadas. Si la recursión es muy profunda, se desborda el stack.

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

1
📝 MC

¿Qué es la recursión?

  • A. Un bucle
  • B. Función que se llama a sí misma ✓ CORRECTA
  • C. Una variable
  • D. Un compilador
💡 Por qué es correcta:

Recursión: función que se llama a sí misma con un caso más simple.

2
📝 MC

Los 2 elementos esenciales de recursión:

  • A. Variables y retorno
  • B. Caso base y caso recursivo ✓ CORRECTA
  • C. Loop y condición
  • D. Print y scan
💡 Por qué es correcta:

Caso base: condición de terminación. Caso recursivo: llamada con subproblema más pequeño.

3
📝 MC

¿Qué pasa sin caso base?

  • A. Error de compilación
  • B. Recursión infinita y stack overflow ✓ CORRECTA
  • C. Loop normal
  • D. No compila
💡 Por qué es correcta:

Sin caso base, la recursión nunca termina y desborda la pila.

4
📝 MC

¿Cuándo es útil la recursión?

  • A. Siempre
  • B. Problemas con estructura repetitiva: árboles, factorial, fibonacci, divide y vencerás ✓ CORRECTA
  • C. Solo en C++
  • D. Solo con strings
💡 Por qué es correcta:

Recursión es natural para problemas con subproblemas similares: árboles, factorial, backtracking.

5
📝 MC

Factorial recursivo: ¿cuál es el caso base?

  • A. 0
  • B. 0 o 1: factorial(0) = 1, factorial(1) = 1 ✓ CORRECTA
  • C. 2
  • D. 10
💡 Por qué es correcta:

Caso base: factorial(0) = 1, factorial(1) = 1. Caso recursivo: n * factorial(n-1).

6
📝 MC

Fibonacci recursivo sin memoization es:

  • A. O(n)
  • B. O(2^n) - exponencial ✓ CORRECTA
  • C. O(log n)
  • D. O(n²)
💡 Por qué es correcta:

Sin memo, fib(n) llama a fib(n-1) y fib(n-2), árbol exponencial. Con memo: O(n).

7
📝 MC

La pila de llamadas (call stack) almacena:

  • A. Variables globales
  • B. Información de cada llamada: parámetros, variables locales, retorno ✓ CORRECTA
  • C. Archivos
  • D. Comentarios
💡 Por qué es correcta:

Stack: cada llamada apila un "stack frame" con sus datos.

8
📝 MC

Recursión vs iteración: ¿cuál usa más memoria?

  • A. Iteración
  • B. Recursión (cada llamada usa stack) ✓ CORRECTA
  • C. Igual
  • D. Ninguna
💡 Por qué es correcta:

Recursión: O(profundidad) de stack. Iteración: O(1) de stack.

9
📝 MC

¿Qué es tail recursion?

  • A. Recursión al final
  • B. La llamada recursiva es la última operación de la función ✓ CORRECTA
  • C. Recursión infinita
  • D. Recursión condicional
💡 Por qué es correcta:

Tail recursion: la llamada recursiva es lo último. El compilador puede optimizarla a loop.

10
📝 MC

¿Para problemas con backtracking es útil la recursión?

  • A. No
  • B. Sí, es la herramienta natural ✓ CORRECTA
  • C. Solo con arrays
  • D. Solo en Java
💡 Por qué es correcta:

Backtracking: probar, recursar, deshacer. Natural con recursión. Ej: N-reinas, laberintos.

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

11
✍️ AB

Explica la recursión con un ejemplo diferente al factorial (puedes usar sumatoria, fibonacci, etc.).

💡 Por qué es correcta:

Sumatoria: sum(n) = n + sum(n-1), caso base sum(0) = 0. Cada llamada reduce el problema en 1. Pila: sum(3) → sum(2) → sum(1) → sum(0) → 0 → 1 → 3 → 6.

12
✍️ AB

¿Qué es backtracking? Da un ejemplo de problema que se resuelva con backtracking recursivo.

💡 Por qué es correcta:

Backtracking: probar opciones, recursar, deshacer si no funciona. Problema N-reinas: colocar N reinas en tablero NxN sin que se ataquen. Algoritmo: intentar columna por columna en cada fila, recursar, si choca con otra reina, backtrack.

13
✍️ AB

¿Cuándo es mejor iteración que recursión? Da 2 casos.

💡 Por qué es correcta:

Cuando el problema es naturalmente iterativo (sumar un array). Cuando la profundidad de recursión es muy grande (riesgo de stack overflow). Cuando la memoria es limitada (recursión usa stack).

📝 ¿Listo para evaluarte?

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