Asignatura: Desarrollo Lógico y Algoritmo Profesora: Priscila Vélez
Algoritmo Complejo: Análisis de Calificaciones en una Matriz
Enunciado
Diseña un algoritmo que permita leer las calificaciones de 4 estudiantes en 5 materias, almacenadas en una
matriz de 4x5 (4 filas y 5 columnas). El algoritmo debe:
1. Leer y almacenar las calificaciones en la matriz.
2. Calcular y mostrar el promedio de cada estudiante (promedio por fila).
3. Calcular y mostrar el promedio de cada materia (promedio por columna).
4. Determinar y mostrar qué estudiante obtuvo el mayor promedio general.
5. Determinar y mostrar cuál materia tuvo el promedio más bajo.
Explicación Paso a Paso
Paso 1. Declarar la matriz y variables auxiliares
La matriz Calificaciones[4,5] almacenará las notas.
Arreglos auxiliares PromedioEst[4] y PromedioMat[5] guardarán los promedios.
Paso 2. Lectura de calificaciones
Usar dos bucles anidados para recorrer filas y columnas. Leer la calificación correspondiente y almacenarla.
Paso 3. Calcular promedio por estudiante
Recorrer cada fila, sumar sus 5 notas, y dividir entre 5 para el promedio.
Paso 4. Calcular promedio por materia
Recorrer cada columna, sumar las notas de los 4 estudiantes, y dividir entre 4.
Paso 5. Buscar mayor promedio de estudiantes
Comparar los promedios de cada estudiante para encontrar el mayor.
Paso 6. Buscar menor promedio de materias
Comparar los promedios de cada materia para encontrar el más bajo.
Solución en Pseudocódigo (PSeInt)
Proceso AnalisisCalificaciones
Definir Calificaciones[4,5] Como Real
Definir PromedioEst[4], PromedioMat[5] Como Real
Definir i, j Como Entero
Definir suma, mayorPromedio, menorPromedio Como Real
Definir estMayorProm, matMenorProm Como Entero
// Lectura de calificaciones
Para i <- 1 Hasta 4 Hacer
Para j <- 1 Hasta 5 Hacer
Escribir "Ingrese la calificación del estudiante ", i, " en materia ", j, ": "
Asignatura: Desarrollo Lógico y Algoritmo Profesora: Priscila Vélez
Leer Calificaciones[i,j]
FinPara
FinPara
// Calcular promedio por estudiante
Para i <- 1 Hasta 4 Hacer
suma <- 0
Para j <- 1 Hasta 5 Hacer
suma <- suma + Calificaciones[i,j]
FinPara
PromedioEst[i] <- suma / 5
Escribir "Promedio del estudiante ", i, ": ", PromedioEst[i]
FinPara
// Calcular promedio por materia
Para j <- 1 Hasta 5 Hacer
suma <- 0
Para i <- 1 Hasta 4 Hacer
suma <- suma + Calificaciones[i,j]
FinPara
PromedioMat[j] <- suma / 4
Escribir "Promedio de la materia ", j, ": ", PromedioMat[j]
FinPara
// Encontrar estudiante con mayor promedio
mayorPromedio <- PromedioEst[1]
estMayorProm <- 1
Para i <- 2 Hasta 4 Hacer
Si PromedioEst[i] > mayorPromedio Entonces
mayorPromedio <- PromedioEst[i]
estMayorProm <- i
FinSi
FinPara
Escribir "El estudiante con mayor promedio es el estudiante ", estMayorProm, " con ", mayorPromedio
// Encontrar materia con menor promedio
menorPromedio <- PromedioMat[1]
matMenorProm <- 1
Para j <- 2 Hasta 5 Hacer
Si PromedioMat[j] < menorPromedio Entonces
menorPromedio <- PromedioMat[j]
matMenorProm <- j
FinSi
Asignatura: Desarrollo Lógico y Algoritmo Profesora: Priscila Vélez
FinPara
Escribir "La materia con promedio más bajo es la materia ", matMenorProm, " con ", menorPromedio
FinProceso