📝 Descripción del Problema
Se tiene una tabla (matriz) con las calificaciones de N alumnos en 5 exámenes.
Dato: ALUM[N][5] (arreglo bidimensional de tipo real).
Se debe calcular:
- a) El promedio de calificaciones de cada uno de los N alumnos.
- b) El/los alumnos que obtuvieron la mejor calificación en el tercer examen.
- c) El/los alumnos que obtuvieron la mayor calificación en el primero y en el quinto examen.
- d) Dado un alumno, informar en qué examen logró la menor calificación.
- e) ¿En qué examen fue más alto el promedio de los N alumnos?
💡 Pistas y Fórmulas Clave
- La clase principal debe llamarse
AnalizadorCalificaciones.java. - El constructor de la clase debe recibir la matriz
double[][] alum. - La matriz se recorre como
ALUM[i][j], dondeies el alumno yjes el examen. - Recuerda que los índices de Java son 0-based: Alumno 1 es el índice 0. Examen 3 es el índice 2.
- (a) Promedio por alumno: Recorre por filas. Suma las 5 columnas de una fila
iy divide entre 5. - (b) Mejor del Examen 3: Recorre por columnas. Primero, recorre la columna 2 (
j=2) para encontrar elmax. Luego, vuelve a recorrerla para encontrar a todos los alumnosique igualen esemax. - (e) Mejor promedio de examen: Recorre por columnas. Calcula la suma de cada columna
j, divídela entre N (numAlumnos) y encuentra el promedio más alto.
📊 Diagrama de Flujo (Inciso E)
▶️ Prueba y Resultados
Resultado de ejecutar --select-class TestAnalizadorCalificaciones en la terminal.
PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestAnalizadorCalificaciones
Thanks for using JUnit! Support its development at https://junit.org/sponsoring
.
+-- JUnit Jupiter [OK]
| '-- TestAnalizadorCalificaciones [OK]
| +-- testIncisoD_PeorExamenAlumno() [OK]
| +-- testIncisoB_MejoresExamen3() [OK]
| +-- testIncisoE_ExamenMejorPromedio() [OK]
| +-- testIncisoA_PromediosAlumnos() [OK]
| '-- testIncisoC_MejoresExamen1y5() [OK]
'-- JUnit Platform Suite [OK]
Test run finished after 101 ms
[ 3 containers found ]
[ 0 containers skipped ]
[ 3 containers started ]
[ 0 containers aborted ]
[ 3 containers successful ]
[ 0 containers failed ]
[ 5 tests found ]
[ 0 tests skipped ]
[ 5 tests started ]
[ 0 tests aborted ]
[ 5 tests successful ]
[ 0 tests failed ]