📚 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

3.01 · Arreglos Unidimensionales (Vectores)

16 preguntas con respuesta en este tema.

🎯 Autoevaluación (3)

1
🎯 AE

¿Cómo se declara un arreglo de 10 enteros en C++?

  • A. int arr[10]; ✓ CORRECTA
  • B. int arr(10);
  • C. array<int> arr;
  • D. int arr = 10;
💡 Por qué es correcta:

int arr[10] reserva espacio para 10 enteros con índices 0-9.

2
🎯 AE

¿Cuál es el índice del primer elemento de un arreglo en C++?

  • A. 1
  • B. 0 ✓ CORRECTA
  • C. -1
  • D. Depende
💡 Por qué es correcta:

En C/C++/Java/JS los arreglos empiezan en índice 0. arr[0] es el primer elemento.

3
🎯 AE

¿Cómo accedes al tercer elemento de un arreglo `arr`?

  • A. arr[3]
  • B. arr[2] ✓ CORRECTA
  • C. arr(3)
  • D. arr->3
💡 Por qué es correcta:

Tercer elemento = índice 2 (porque 0=primero, 1=segundo, 2=tercero).

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

1
📝 MC

¿Cómo se declara un arreglo de 10 enteros en C++?

  • A. int arr(10);
  • B. int arr[10]; ✓ CORRECTA
  • C. array<int> arr;
  • D. int arr = 10;
💡 Por qué es correcta:

int arr[10]; reserva 10 enteros con índices 0-9.

2
📝 MC

¿Cuál es el primer índice de un arreglo en C++?

  • A. 1
  • B. 0 ✓ CORRECTA
  • C. -1
  • D. Depende
💡 Por qué es correcta:

C/C++/Java/JS: índices desde 0. arr[0] es el primero.

3
📝 MC

Para acceder al 5to elemento de arr:

  • A. arr[5]
  • B. arr[4] ✓ CORRECTA
  • C. arr(5)
  • D. arr->5
💡 Por qué es correcta:

5to = índice 4 (porque 0=1°, 1=2°, 2=3°, 3=4°, 4=5°).

4
📝 MC

¿Qué pasa si accedes a arr[10] en un arreglo de tamaño 10?

  • A. Devuelve 0
  • B. Comportamiento indefinido (puede crashear) ✓ CORRECTA
  • C. Error de compilación
  • D. Devuelve null
💡 Por qué es correcta:

Acceso fuera de límites: undefined behavior. En debug, suele abortar.

5
📝 MC

¿Cómo se inicializa un arreglo en C++?

  • A. int arr[5] = {1,2,3,4,5}; ✓ CORRECTA
  • B. int arr = [1,2,3,4,5];
  • C. int arr(5) = 1,2,3;
  • D. Solo en tiempo de compilación
💡 Por qué es correcta:

Inicialización con llaves: int arr[] = {1,2,3}; o tamaño fijo.

6
📝 MC

¿Qué pasa con elementos no inicializados en un arreglo global?

  • A. Son null
  • B. Son 0 ✓ CORRECTA
  • C. Son aleatorios
  • D. Causan error
💡 Por qué es correcta:

Globales y static se inicializan a 0. Locales tienen valor indefinido.

7
📝 MC

Un arreglo de 5 doubles ocupa:

  • A. 5 bytes
  • B. 40 bytes ✓ CORRECTA
  • C. 20 bytes
  • D. 10 bytes
💡 Por qué es correcta:

double = 8 bytes. 5 * 8 = 40 bytes.

8
📝 MC

¿Cómo se recorre un arreglo en C++?

  • A. for (auto x : arr)
  • B. for (int i=0; i<n; i++)
  • C. while
  • D. Todas las anteriores ✓ CORRECTA
💡 Por qué es correcta:

C++ moderno: range-based for. Clásico: for con índice.

9
📝 MC

¿Cuál es la diferencia entre un arreglo y un vector?

  • A. Son iguales
  • B. Vector es dinámico, arreglo es tamaño fijo ✓ CORRECTA
  • C. Vector es más lento siempre
  • D. Arreglo tiene métodos
💡 Por qué es correcta:

std::vector crece dinámicamente. Arreglo: tamaño fijo en compilación.

10
📝 MC

¿Cómo se pasa un arreglo a una función en C++?

  • A. Por valor (copia completa)
  • B. Por puntero o por referencia (evita copia) ✓ CORRECTA
  • C. No se puede
  • D. Por valor es lo único
💡 Por qué es correcta:

Por defecto decae a puntero. Para preservar tamaño: pasar tamaño adicional.

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

11
✍️ AB

Diseña una función en pseudocódigo que encuentre el máximo de un arreglo. ¿Complejidad?

💡 Por qué es correcta:

int max = arr[0]; for (int i=1; i<n; i++) if (arr[i] > max) max = arr[i]; return max;. Complejidad: O(n) lineal.

12
✍️ AB

Explica la diferencia entre pasar un arreglo por valor y por puntero a una función. ¿Por qué es importante?

💡 Por qué es correcta:

Por valor: copia el arreglo completo (caro para n grande). Por puntero: solo pasa la dirección (O(1)), la función accede a la memoria original. Por defecto en C++: decae a puntero. Importante: eficiencia y evitar copias innecesarias.

13
✍️ AB

¿Cómo se inicializa un arreglo de 100 elementos con todos en 0? ¿Y uno de 10 elementos con valores específicos?

💡 Por qué es correcta:

int arr[100] = {}; // todos en 0. int arr[10] = {1,2,3,4,5,6,7,8,9,10}; // valores específicos. Si especificas menos, el resto son 0.

📝 ¿Listo para evaluarte?

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