Proyecto Programación
Una escuela primaria desea implementar un sistema estadístico de clasificación de notas
de los exámenes de sus estudiantes.
La escuela utiliza un sistema de notas basado en números que van desde el 0 hasta el
100, con diferentes rangos con labels que enfatizan el desempeño de los estudiantes.
El sistema debe generar datos estadísticos que puedan ayudar a los profesores a
identificar grupos o estudiantes con dificultades.
El sistema debe permitir el ingreso de 5 usuarios, por lo tanto, debe hacer validación de
los datos (usuario y contraseña) para el ingreso, solo serán permitidos 3 intentos; si son
erróneos el sistema cerrará. Actualmente se cuenta con la información de las
calificaciones de los exámenes para cada uno de los estudiantes del grupo N, el sistema
debe generar los datos estadísticos a partir de la siguiente información de ejemplo
(Struct):
Nombre Género Materia Nota
marcela f matematicas 84.6
nicolas m matematicas 98.3
marcela f idiomas 83.5
nicolas m idiomas 68.2
Las calificaciones en la escuela se asignan con la siguiente escala de rangos:
Rango de notas Calificación
(90 - 100] Excelente
(80 - 90] Sobresaliente
(60 - 80] Regular
(30 - 60] Insuficiente
[0 - 30] Deficiente
El algoritmo debe ser capaz de responder a las siguientes preguntas:
1. ¿Cuál es el porcentaje de aprobación para todos los exámenes presentados por
el grupo? (función que retorne decimal)
2. ¿Qué porcentaje de los exámenes fueron Excelentes? (función que retorne
decimal)
3. ¿Cuál es la materia con el mayor número de exámenes aprobados? (función que
retorne char)
4. ¿Cuál es el estudiante con el mejor desempeño para la materia informática?
Imprimir toda la información (función que retorne estudiante)
EJEMPLO
Para facilitar la escritura del ejemplo, los valores de tipo char se muestra con un
identificador numérico único por categorías:
Nombre Identificador
armando 1
nicolas 2
daniel 3
maria 4
marcela 5
alexandra 6
Materia Identificador
informatica 1
fisica 2
quimica 3
Género Identificador
m 0
f 1
Entrada del programa
18
1.0 0.0 1.0 62.9
1.0 0.0 2.0 62.4
1.0 0.0 3.0 95.7
2.0 0.0 1.0 38.7
2.0 0.0 2.0 53.9
2.0 0.0 3.0 75.7
3.0 0.0 1.0 71.0
3.0 0.0 2.0 71.4
3.0 0.0 3.0 24.2
4.0 1.0 1.0 48.3
4.0 1.0 2.0 14.7
4.0 1.0 3.0 30.0
5.0 1.0 1.0 100.0
5.0 1.0 2.0 0.8
5.0 1.0 3.0 3.7
6.0 1.0 1.0 80.5
6.0 1.0 2.0 75.3
6.0 1.0 3.0 55.2
Salida del programa
50 %
11 %
informática
marcela
Otro aspecto importante es el formato de entrada de los datos, la primera línea de la
entrada se trata del número de registros que se deben leer. El orden de las columnas es:
nombre, género, materia y calificación; se debe hacer un arreglo unidimensional de
registros. Se recomienda utilizar este ejemplo para realizar pruebas.
Notas:
● Es importante seleccionar los tipos adecuados para cada método, ya que esto
puede generar errores a la hora de calificar.
● Hacer validación para todos los datos.
● Prestar especial cuidado a las notaciones de los rangos.
● Se considera aprobado a una calificación igual o mayor a Regular.
● Los elementos con un identificador menor tienen prioridad, al ejecutar un proceso
y este arroja varios posibles resultados, se debe imprimir el que tenga menor
identificador.