Un profesor debe calcular el promedio de la nota de quices de sus estudiantes para subirla a la plataforma de notas finales. Sin embargo, el profesor acordó con sus estudiantes que los ayudará eliminando la peor de las 5 notas antes de calcular el promedio que finalmente reportará. La plataforma está diseñada para recibir el promedio únicamente en la escala estándar de la universidad: de 0 a 5, redondeado a dos decimales. Escriba una función qué reciba cómo parámetros: Una cadena con el código alfanumérico del estudiante y cinco números enteros (notal, nota2, nota3, nota4, nota5) que representan las notas de los quices del semestre y retorne una cadena de caracteres que le proporciona al profesor la información que desea obtener. La cadena debe tener la siguiente estructura: "El promedio ajustado del estudiante código) es: {promedio)" dónde, el promedio reportado debe cumplir con las especificaciones mencionadas anteriormente (redondeado a dos decimales, en escala de 0 a 5 y calculado eliminando la peor de las cinco notas del estudiante).
Respuestas a la pregunta
A continuación algoritmo en pseint con funciones para el cálculos del promedio de las mejores 4 calificaciones de los estudiantes.
Pseudocódigo en pseint para el cálculo del promedio de nota de 15 estudiantes
Algoritmo PromedioNota15estudiantes
- // Definir e inicializar variables
Definir calificaciones, promedios Como Caracter
Definir t,p, respuesta Como entero
t <- 15 // los quince estudiantes
p <- 6 // datos de los estudiantes (código y las 5 notas)
k <- 0
Dimension calificaciones[t,p]
Dimension promedios[t]
- // Seleccionar acción en en menú
Repetir
Escribir 'Ingrese Opción (1-3)'
Escribir '*************************'
Escribir '1.- Ingreso calificaciones'
Escribir '2.- Calcular promedios '
Escribir '3.- Mostrar promedios '
Escribir '4.- Salir'
Repetir
Leer respuesta
Hasta Que respuesta<>1 O respuesta<>2 O respuesta<>3
Segun respuesta Hacer
1:
registroNotas(calificaciones)
2:
calcularPromedios(calificaciones, promedios)
3:
mostrarPromedios(promedios)
FinSegun
Hasta Que respuesta=4
FinAlgoritmo
Funcion registroNotas(calificaciones Por Referencia)
- // definir variables
Definir t,p Como Entero
Definir continuar Como Caracter
- // Ingresar registro de calificaciones
Escribir '**** Registro de calificaciones ****'
Escribir '*************************'
Repetir
Escribir 'Ingrese Opción (1-3)'
Escribir '*************************'
Escribir '1.- registrar notas'
Escribir '2.- Mostrar registro '
Escribir '3.- Volver al menú principal '
Repetir
Leer respuesta
Hasta Que respuesta<>1 O respuesta<>2 O respuesta<>3
Segun respuesta Hacer
1:
k <- k+1
Escribir 'Código estudiante ', k, " : " Sin Saltar
repetir
Leer calificaciones[k,1]
si Longitud(calificaciones[k,1]) <> 9 Entonces
Imprimir "Código debe tener 9 digitos alfanuméricos"
FinSi
Mientras Que Longitud(calificaciones[k,1]) <> 9
para x <-2 Hasta 6 Hacer
repetir
Escribir ' Nota ', x-1, " : " Sin Saltar
Leer calificaciones[k,x]
Hasta Que ConvertirANumero(calificaciones[k,x])>=0 y ConvertirANumero(calificaciones[k,x])<=5
FinPara
2:
imprimir "Código nota1 nota2 nota3 nota4 nota5"
Para x<-1 Hasta 15 Hacer
Para p<-1 Hasta 6 Hacer
Imprimir calificaciones[x,p], " " Sin Saltar
FinPara
Imprimir " "
FinPara
3:
continuar='n'
FinSegun
Imprimir " "
Hasta Que continuar=='n'
FinFuncion
Funcion calcularPromedios(calificaciones Por Referencia, promedios Por Referencia)
// Definir variables
Definir p Como Entero
Definir prom Como real
prom <- 0
- // Calcular promedio de notas (se ordenan las 5 calificaciones de manera ascendente y luego para calcular el promedio se toman las últimas cuatro )
Para x<-1 Hasta 15 Hacer
Para p<-2 Hasta 6 Hacer
Para z<-p Hasta 6 Hacer
Si calificaciones[x,p]>calificaciones[x,z] Entonces
pivote <- calificaciones[x,p]
calificaciones[x,p] <- calificaciones[x,z]
calificaciones[x,z]<-pivote
FinSi
FinPara
FinPara
FinPara
Para x<-1 Hasta 15 Hacer
Para p<-3 Hasta 6 Hacer
prom <- prom + ConvertirANumero(calificaciones[x,p])
FinPara
si calificaciones[x,1] <> " " Entonces
prom <- prom / 4
promedios[x] <- "El promedio ajustado del estudiante"+" "+calificaciones[x,1]+" "+"es:" + " "+ConvertirATexto(prom)
SiNo
promedios[x] <- "no hay registro"
FinSi
prom <- 0
FinPara
Imprimir "H E C H O ....."
FinFuncion
Funcion mostrarPromedios(promedios Por Referencia)
- // Definir variables
Definir x Como Entero
- // Mostrar promedios
Imprimir "***Promedios de los estudiantes***"
Para x<-1 Hasta 15 Hacer
Imprimir promedios[x]
FinPara
FinFuncion
Para saber más acerca de algoritmo en pseint de cálculo de promedios de notas consulte: https://brainly.lat/tarea/3935024
#SPJ1