Temas de clase
- Repaso de los esquemas vistos hasta el momento, miren la guía de recorridos de listas que está en la sección Material.
- Introdujimos el
foreachcomo una herramienta útil para realizar recorridos completos sobre listas. Básicamente resuelve por nosotros el problema de recorrer una lista de izquierda a derecha y en cada iteración podemos “mirar por dónde va” accediendo a la variable. - Vimos que los registros pueden tener campos que guardan listas y las listas pueden estar compuestas por registros. Para ejercitar esto, continuamos con la práctica de los estudiantes universitarios.
Deben terminar de resolver los primeros cuatro ejercicios de la segunda parte y enviarlos por mail - incluyan también las funciones que utilicen en su resolución.
Práctica Universidad - listas
Parte 3: registros con listas y listas con registros
Vamos a reemplazar el campo nroMateriasAprobadas por una lista de las notas obtenidas, y agregamos también otra lista para registrar los aplazos:
type Estudiante is record {
field fechaNacimiento // Fecha
field dni // número
field notasMateriasAprobadas // lista de números
field aplazos // lista de números
field esMujer // booleano
}
- Escribí funciones que sirvan para calcular la
longitud,sumatoriay elpromediode una lista de números y guardalas en tu Biblioteca. Tenelas muy en cuenta para programar los siguientes ejercicios. - Para que siga funcionando todo lo que ya escribimos hasta ahora, programá la función
nroMateriasAprobadasque indique cuántas materias aprobó un estudiante. Para pensar, cuando hayas terminado: al modificar la estructura de nuestro registro, la cantidad de materias aprobadas ya no está explícitamente en ningún campo pero aún así se puede calcular, reemplazando lo que antes era un proyector por una función que escribimos nosotros. Lo interesante es que ¡todo sigue funcionando! - después de todo, los proyectores también son funciones. - Para realizar distintos trámites dentro de la Universidad, el Departamento de Alumnos necesita poder determinar el
promedioSinAplazosy elpromedioConAplazosde un estudiante. Programá ambas funciones. - El Consejo Interuniversitario Nacional otorga becas de Estímulo a las Vocaciones Científicas para aquellos estudiantes que deseen iniciar su formación en la investigación. Como requisitos, piden que quien se presente esté avanzado en la carrera (ver parte anterior), tenga a lo sumo 30 años y un promedio con aplazos de al menos seis puntos. Escribí la función
aptoBecaEvcCinque determine si un estudiante podría postularse.
A partir de la lista de todos los estudiantes de TPI, queremos obtener una serie de estadísticas. Desarrollá una función para cada uno de los siguientes puntos:
- una lista con los
promediosConAplazosDetodos ellos; - el
promedioHistoricoConAplazos, un número que se calcula sacando el promedio de los promedios de todos los estudiantes; - la lista de
estudiantesMujeresque estudian la carrera; - el
porcentajeDeMujeresque estudian la carrera. Recordá que para calcular un porcentaje tenés que dividir la porción que te interesa (en este caso las mujeres) con el total de elementos (en este caso todos los estudiantes) y multiplicar eso por 100. - una lista con las
edadesde todos los estudiantes; - una lista con las
edadesMigrantesVarones; - la lista de los
estudiantesAvanzados; - la lista de los
estudiantesIngresantes; - la
cantidadEstudiantesEnGrupoVulnerable.