8.2 Alumnos
y Curso
8.2.1 Defina las constantes y tipos de datos más adecuados para
cada uno de los tipos siguientes:
A. Tipo Alumno
· DNI de tipo Cadena
· Array de entero con los códigos
de todas las asignaturas en las que el alumno se ha matriculado alguna vez.
· Array de reales con las notas
obtenidas en las asignaturas del array anterior. Ocupan las mismas posiciones
que el array de asignaturas. Esto es, si la asignatura de código 345 ocupa la
posición 3 en el array anterior, su nota estará en la posición 3 del array de
notas.
· Número de asignaturas en las que
el alumno se ha matriculado: tamaño de los arrays anteriores. Máximo 50.
B. Tipo Curso
·
Código del curso de tipo Cadena
·
Array de tipo Alumno
·
Número de alumnos (tamaño del
array anterior). Máximo 100.
Ejemplo fichero 12345678A
6 234 7.4 321 4.3 456 7.5 342 6.3 213 3.2 348 2.3 //
el alumno 12345678A se ha matriculado de 6
asignaturas
Ejemplo fichero 87654321Z
8 233 3.4 311 6.2 454 9.2 342 8.1 232 4.2 349 5.3 754
7.5 456 3.4 // el alumno 87654321Z tiene 8
asignaturas
8.2.3 Implemente una función que reciba un Alumno y devuelva la nota mínima obtenida y el código de la asignatura donde se obtuvo (suponga que solo hay una). Por ejemplo para el alumno 12345678A la nota mínima es 2.3 en la asignatura 348.
8.2.4 Implemente una función que dado un Alumno y un valor de nota (vnota) devuelva un array con los códigos de las asignaturas con nota mayor o igual a vnota. Por ejemplo, para el alumno 12345678A y nota de corte 6.0 debería devolver un array con los códigos 234, 456, 342.
8.2.5
Implemente una función que reciba un Alumno
y un entero representando un código de asignatura y devuelva la nota de esa
asignatura ó -1 si no ha estado matriculado. Por ejemplo, para el alumno
12345678A y asignatura 234 debe devolver 7.4 y para la asignatura 349 -1.0.
8.2.6 Implemente una
función tal que dado un Alumno y un valor real
(vnota) devuelva si todas las
notas superan o no un valor mayor o igual a vnota.
Deberá devolver un valor booleano de verdad (true) o falso (false).
8.2.7 Un alumno habrá
terminado los estudios si se ha matriculado de al menos 40 asignaturas y las
tiene todas aprobadas (nota mayor o igual a 5). Escriba una función tal que
dado un Alumno devuelva si ha
terminado o no los estudios. Use la función 8.2.6.
8.2.8 Implemente una
función tal que dado un Alumno devuelva la
nota media de las asignaturas en las que se ha matriculado.
8.2.9 Implemente una
función tal que dada un Curso y un valor real
(vnota), devuelva cuántas asignaturas de
todos los alumnos del Curso tienen
notas mayores que vnota.
8.2.10 Implemente una
función para el mismo problema anterior pero usando la
función del apartado 8.2.4.
8.2.11 Dado un Curso y el código de una asignatura,
devuelva el dni del alumno de máxima nota en esa asignatura. Use la función del
apartado 8.2.5.
8.2.12 Implemente una
función que reciba un Curso c1 y un valor (vnota)
de nota y
devuelva otro Curso c2 con el mismo
código añadiéndole un “2” al final del código y con sólo aquellos alumnos del Curso c1 que tengan todas las notas
mayores o iguales que vnota. Use la
función del apartado 8.2.6.
8.2.13 Implemente una
función que reciba un Alumno y
muestre en la consola para cada asignatura en la que está matriculado su nota:
8.2.14 Implemente una
función que reciba una Cadena de caracteres nom y un Curso y guarde en un fichero de nombre nom, la información del
curso, con el código del curso, los alumnos matriculados identificados con su
DNI y para cada alumno las asignaturas en las que estaban matriculados y sus
notas.
No hay comentarios:
Publicar un comentario