Mensajes: 4
Temas: 3
Registro en: Nov 2020
Reputación:
0
Hola buenas tardes mi consulta es porque no logro saber como plantear la resolucion a la siguiente consigna:
En un arreglo M(3, 4, 20) donde el primer índice señala el número de
centro, el segundo el número de curso y el tercero el número de alumno,
se almacenan en cada celda, las notas de los alumnos. Se solicita:
● La nota media por curso.
● La nota media por centro.
● La nota media general.
● Los dos mejores centros y sus notas.
● La posición del mejor alumno de cada curso con su correspondiente
nota.
Mensajes: 5
Temas: 1
Registro en: Nov 2020
Reputación:
0
08-11-2020, 02:53 PM
(Última modificación: 08-11-2020, 02:57 PM por esteban84.)
Según yo: es un arreglo tridimensional.
La escuela o universidad seria el arreglo. El arreglo tiene 3 centros. Cada uno de esos centros tiene 4 cursos (3 * 4 = 12 en total) y cada curso tiene 20 alumnos (o podría tener) así que serian un maximo de 240 alumnos (12 * 20 = 240).
Para crear un arreglo 3D hay varias formas, seguro acá en el foro hay ejemplos. Yo todavía tengo algunas dudas con python y no tengo mucho tiempo.
Una vez se tiene el arreglo de 3 dimensiones, si escribo: nota[2][3][9]= 7.5 estoy asignando una calificación de 7.5 al alumno numero 9 que esta en el curso 3 del centro 2.
Una media se calcula sumando todos los valores y a ese resultado dividirlo por la cantidad de valores que se sumaron. Por ejemplo la nota media por curso seria la suma de las notas de los alumnos (de ese curso) dividido por la cantidad de alumnos (de ese curso).
Podes usar un numero aleatorio para simular las notas, podes usar probabilidad para que las mayoría de las notas sean medias/altas, algo simple seria: generas un numero aleatorio entre 0 y 100, si el numero es mayor que 20 entonces generas una nota aleatoria entre 5 y 10, en caso contrario generas una nota aleatoria entre 1 y 5. Esto seria como decir que hay un 20% de probabilidad de que el alumno se saque menos de 5.
Comparando las notas medias de los centros, quien tenga la mas alta sera el mejor.
Parece fácil pero son varias cosas a tener en cuenta. La librería numpy es ideal para esto (Crear arreglos multidimesionales, una función para sacar la media, empezar los indices desde un numero distinto de cero, etc) pero con python estandar se puede hacer perfectamente.
Esto es lo que yo entiendo sobre la consigna del problema, espero sirva de algo.