Informática, pregunta formulada por natamartinez368, hace 1 mes

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

Contestado por megatokay
2

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

Adjuntos:
Otras preguntas