Gestor de notas del curso
Registra tres notas por alumno y arma el reporte del curso.
- Nivel
- Avanzado
- Tema:
- Proyectos
- Conceptos:
- Entrada y salida
- Matrices
- Arreglos
- Funciones
- Para
- Si
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Una matriz guarda las notas y un arreglo los nombres de los alumnos. La Funcion PromedioAlumno recibe la matriz completa, y el reporte cuenta aprobados y busca el mejor promedio.
Código
Funcion promedio <- PromedioAlumno(notas, alumno) Definir promedio Como Real Definir k Como Entero promedio <- 0 Para k <- 1 Hasta 3 Hacer promedio <- promedio + notas[alumno, k] FinPara promedio <- promedio / 3FinFuncionAlgoritmo GestorNotas Definir nombres Como Caracter Definir notas, mejorPromedio, p Como Real Definir a, k, mejor, aprobados Como Entero Dimension nombres[4], notas[4, 3] Para a <- 1 Hasta 4 Hacer Escribir "Nombre del alumno ", a, ":" Leer nombres[a] Para k <- 1 Hasta 3 Hacer Escribir " Nota ", k, " de ", nombres[a], ":" Leer notas[a, k] FinPara FinPara Escribir "" Escribir "Alumno Promedio Estado" mejor <- 1 mejorPromedio <- -1 aprobados <- 0 Para a <- 1 Hasta 4 Hacer p <- PromedioAlumno(notas, a) Escribir Sin Saltar nombres[a], " ", Redon(p * 10) / 10, " " Si p >= 6 Entonces Escribir "Aprobado" aprobados <- aprobados + 1 SiNo Escribir "Recursa" FinSi Si p > mejorPromedio Entonces mejorPromedio <- p mejor <- a FinSi FinPara Escribir "" Escribir "Aprobaron ", aprobados, " de 4 alumnos." Escribir "Mejor promedio: ", nombres[mejor], " (", Redon(mejorPromedio * 10) / 10, ")"FinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
Nombre del alumno 1:Respuesta del usuario: Ana Nota 1 de Ana:Respuesta del usuario: 9 Nota 2 de Ana:Respuesta del usuario: 8 Nota 3 de Ana:Respuesta del usuario: 10Nombre del alumno 2:Respuesta del usuario: Bruno Nota 1 de Bruno:Respuesta del usuario: 5 Nota 2 de Bruno:Respuesta del usuario: 6 Nota 3 de Bruno:Respuesta del usuario: 4Nombre del alumno 3:Respuesta del usuario: Carla Nota 1 de Carla:Respuesta del usuario: 7 Nota 2 de Carla:Respuesta del usuario: 7 Nota 3 de Carla:Respuesta del usuario: 8Nombre del alumno 4:Respuesta del usuario: Diego Nota 1 de Diego:Respuesta del usuario: 6 Nota 2 de Diego:Respuesta del usuario: 5 Nota 3 de Diego:Respuesta del usuario: 7 Alumno Promedio EstadoAna 9 AprobadoBruno 5 RecursaCarla 7.3 AprobadoDiego 6 Aprobado Aprobaron 3 de 4 alumnos.Mejor promedio: Ana (9)
Desafío
Muestra también el promedio general de todo el curso.
Ver pista
Suma cada p en un acumulador y divide entre 4 al final.
Ejemplos relacionados
Búsqueda lineal contra binaria
Cuenta las comparaciones que necesita cada búsqueda en la misma lista ordenada.
IntermedioOrdenamiento Shell
Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.
AvanzadoOrdenamiento por mezcla
Parte el arreglo en mitades, ordena cada una con recursión y las mezcla.
Avanzado