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.
2.07 · Patrones: Contadores, Acumuladores y Centinelas
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
¿Qué es un contador?
- A. Una variable que cuenta ocurrencias incrementándose en 1 ✓ CORRECTA
- B. Un bucle
- C. Una función
- D. Un array
Contador: variable incrementada en 1 cada vez que ocurre un evento. Ej: ++contador.
¿Qué es un acumulador?
- A. Una batería
- B. Una variable que suma valores progresivamente ✓ CORRECTA
- C. Un tipo de bucle
- D. Una constante
Acumulador: variable que suma o concatena valores. Ej: suma += numero.
¿Qué es un centinela?
- A. Un valor especial que indica fin de datos ✓ CORRECTA
- B. Un bug
- C. Un tipo de variable
- D. Una función
Centinela: valor especial (ej: -1, 0, "FIN") que indica el fin de la entrada de datos en un bucle.
📝 Test · Sección A · Opción múltiple (10)
¿Qué es un contador?
- A. Una variable que cuenta ocurrencias ✓ CORRECTA
- B. Un bucle
- C. Una función
- D. Un array
Contador: variable que se incrementa (típicamente en 1) cada vez que ocurre algo.
Patrón clásico de contador en C++:
- A. ++x
- B. contador++ o contador = contador + 1 ✓ CORRECTA
- C. contador += 2
- D. contador = 0
contador++ o contador = contador + 1.
¿Qué es un acumulador?
- A. Una batería
- B. Variable que suma valores progresivamente ✓ CORRECTA
- C. Un bucle
- D. Una constante
Acumulador: suma o concatena valores. suma += valor.
Diferencia entre contador y acumulador:
- A. Son iguales
- B. Contador += 1; acumulador += valor variable ✓ CORRECTA
- C. Acumulador no existe
- D. Contador no existe
Contador: incremento fijo (1). Acumulador: suma variable.
¿Qué es un centinela (sentinel)?
- A. Un valor especial que marca fin de datos ✓ CORRECTA
- B. Un error
- C. Un tipo de variable
- D. Un bucle
Centinela: valor especial (ej: -1, 0, "FIN") que indica fin de la entrada.
¿Cómo se lee una serie de números hasta -1?
- A. for(;;)
- B. while (n != -1) { ... } ✓ CORRECTA
- C. if
- D. switch
while con centinela: lee número, procesa, hasta que sea -1.
Ejemplo de acumulador en suma:
- A. i++
- B. suma = suma + nota ✓ CORRECTA
- C. for
- D. if
suma += nota. Inicia en 0, suma cada nota.
Para calcular un promedio, ¿qué patrón se usa?
- A. Solo contador
- B. Acumulador + contador: promedio = suma / n ✓ CORRECTA
- C. Solo acumulador
- D. switch
Promedio = suma / cantidad. Necesitas ambos.
Una serie de números termina con 0. ¿Qué patrón es?
- A. Contador
- B. Centinela (0 marca fin) ✓ CORRECTA
- C. Acumulador
- D. for infinito
0 como centinela: el bucle se detiene cuando se lee 0.
Patrón max-min en una serie:
- A. Solo acumulador
- B. Actualizar max/min al leer cada número ✓ CORRECTA
- C. Centinela
- D. for
if (x > max) max = x; al leer cada número.
✍️ Test · Sección B · Preguntas abiertas (3)
Diseña un algoritmo que cuente cuántos números positivos, negativos y ceros hay en un arreglo de n elementos.
int pos=0, neg=0, cero=0; for (auto x : arr) { if (x > 0) pos++; else if (x < 0) neg++; else cero++; }.
¿Cómo calcularías el promedio de una serie de números usando contador y acumulador?
float suma=0, n=0, num; while(cin >> num) { suma += num; n++; } if (n > 0) promedio = suma / n.
Explica el patrón centinela con un ejemplo de validación de entrada de usuario.
Centinela: valor especial que marca fin de datos. Ej: pedir números al usuario hasta que escriba -1. while (cin >> n && n != -1) { procesar(n); }. -1 es el centinela.
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.