📚 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.10 · Modularidad: Scope, Paso por Valor/Referencia y Multi-archivo

16 preguntas con respuesta en este tema.

🎯 Autoevaluación (3)

1
🎯 AE

¿Qué es el "scope" de una variable?

  • A. Su tipo de dato
  • B. La región del código donde la variable es visible/accesible ✓ CORRECTA
  • C. Su valor
  • D. Su nombre
💡 Por qué es correcta:

Scope: ámbito de visibilidad. Una variable local solo existe dentro de su función. Una global existe en todo el archivo.

2
🎯 AE

¿Qué significa "paso por valor"?

  • A. Se pasa la variable original
  • B. Se pasa una copia del valor; la original no se modifica ✓ CORRECTA
  • C. Se pasa un puntero
  • D. Se pasa la referencia
💡 Por qué es correcta:

Por valor: la función recibe una copia. Modificar el parámetro no afecta al original.

3
🎯 AE

¿Qué es "paso por referencia"?

  • A. Pasar una copia
  • B. Pasar la dirección de la variable original; los cambios SÍ afectan al original ✓ CORRECTA
  • C. Pasar un número
  • D. Pasar un string
💡 Por qué es correcta:

Por referencia: la función recibe la variable original. Modificar el parámetro modifica el original. En C++ se usa &.

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

1
📝 MC

¿Qué es el scope de una variable?

  • A. Su tipo
  • B. La región del código donde la variable es visible ✓ CORRECTA
  • C. Su valor
  • D. Su nombre
💡 Por qué es correcta:

Scope: ámbito. Local (dentro de función) vs global (todo el archivo).

2
📝 MC

Una variable local existe:

  • A. En todo el programa
  • B. Solo dentro de la función donde se declara ✓ CORRECTA
  • C. En otros archivos
  • D. Siempre
💡 Por qué es correcta:

Local: solo dentro de la función. Se destruye al salir.

3
📝 MC

Una variable global existe:

  • A. Solo en una función
  • B. En todo el archivo (o más si es extern) ✓ CORRECTA
  • C. Solo en main
  • D. Solo en clases
💡 Por qué es correcta:

Global: declarada fuera de funciones. Visible en todo el archivo.

4
📝 MC

Paso por valor significa:

  • A. Se pasa la variable original
  • B. Se pasa una copia; cambios no afectan al original ✓ CORRECTA
  • C. Se pasa un puntero
  • D. Se pasa la referencia
💡 Por qué es correcta:

Por valor: copia. Modificar el parámetro no afecta al original.

5
📝 MC

Paso por referencia significa:

  • A. Copia
  • B. Se pasa el original; cambios SÍ afectan al original ✓ CORRECTA
  • C. Constante
  • D. Puntero null
💡 Por qué es correcta:

Por referencia: la función opera sobre la variable original.

6
📝 MC

En C++, ¿cómo se declara paso por referencia?

  • A. tipo funcion(tipo x)
  • B. tipo funcion(tipo& x) ✓ CORRECTA
  • C. tipo funcion(tipo* x)
  • D. tipo funcion(const tipo x)
💡 Por qué es correcta:

tipo& x es referencia. La función puede modificar x.

7
📝 MC

¿Qué es multi-archivo en C++?

  • A. Un solo archivo
  • B. Dividir el código en varios .cpp/.h para mejor organización ✓ CORRECTA
  • C. Compilar varias veces
  • D. Comprimir archivos
💡 Por qué es correcta:

Multi-archivo: separar el código en varios archivos. .h para declaraciones, .cpp para implementaciones.

8
📝 MC

¿Para qué sirve un header (.h)?

  • A. Compilar
  • B. Declarar funciones/clases que otros archivos usarán ✓ CORRECTA
  • C. Ejecutar
  • D. Es un comentario
💡 Por qué es correcta:

Header: declaraciones compartidas. #include "mi_header.h".

9
📝 MC

¿Qué hace #ifndef X / #define X / #endif?

  • A. Compila
  • B. Evita que un header se incluya múltiples veces ✓ CORRECTA
  • C. Ejecuta
  • D. Renombra
💡 Por qué es correcta:

Include guards: previenen inclusión múltiple del mismo header.

10
📝 MC

En C++, ¿qué archivo implementa una función declarada en funciones.h?

  • A. funciones.h
  • B. funciones.cpp ✓ CORRECTA
  • C. main.cpp solamente
  • D. Cualquiera
💡 Por qué es correcta:

Header: declaración. .cpp: implementación. main.cpp: punto de entrada que llama.

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

11
✍️ AB

Explica la diferencia entre variable local, global y estática. Da un ejemplo de cada una.

💡 Por qué es correcta:

Local: dentro de función, solo visible ahí, se destruye al salir. Global: fuera de funciones, visible en todo el archivo, vive durante todo el programa. Estática: local al scope pero conserva valor entre llamadas.

12
✍️ AB

¿Por qué las variables globales son generalmente una mala práctica?

💡 Por qué es correcta:

Estado global: difícil de rastrear, fácil de modificar accidentalmente, rompe encapsulación, problemas en concurrencia, dificulta testing. Mejor: pasar como parámetros o usar clases.

13
✍️ AB

Diseña un sistema multi-archivo en C++ para una calculadora: calculadora.h (interfaz), calculadora.cpp (implementación), main.cpp (uso). Explica qué va en cada archivo.

💡 Por qué es correcta:

calculadora.h: declara funciones sumar, restar, multiplicar, dividir (con signaturas). calculadora.cpp: implementa esas funciones. main.cpp: #include "calculadora.h", incluye la lógica del programa principal que llama a las funciones.

📝 ¿Listo para evaluarte?

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