CASO: La Universidad es
una cosa de Locos
Como parte de un estudio sobre el desempeño de los
alumnos en determinado curso de la Facultad de Ingeniería de Sistemas, se
requiere hacer cierta simulación en el cálculo de promedios. Para ello se le
entrega un archivo de texto conteniendo
los datos de los alumnos de un curso así como las notas obtenidas (Descargalo aquí). Usted
debe desarrollar una aplicación que permita ingresar las ponderaciones de cada
nota para poder calcular el promedio final del curso.
PREGUNTA # 1 :
Desarrolle un menú de opciones que permita:
a) Opción 1: Ingresar las ponderaciones
(pesos).
b) Opción 2: Leer archivo de datos.
c) Opción 3: Calcular promedios.
d) Opción 4: Listar información estadística.
e) Opción 5: Salir
Recuerde que la suma de ponderaciones de Examen
Parcial (EP), examen final (EF) y tarea académica (TA) debe sumar 100. Tome en cuenta que la
tarea académica se divide en práctica 1 (PC1),
práctica 2 (PC2), Proyecto de curso (PROY) y otros (OTR),
cuya suma también debe dar como resultado 100.
Debe validar que se ingresen todos los datos, que
sean correctos, etc. Puede controlar el error
utilizando la excepción NumberFormatException por ejemplo.
PREGUNTA #2:
En esta pregunta debe desarrollar una Interface Java
y una clase DAO que implemente la
interface que:
a) Permita leer los datos desde un archivo. La
ruta y nombre del archivo debe ser ingresada por teclado.
b) Permita calcular los promedios finales en
base a las ponderaciones ingresadas. Para calcular el promedio debe eliminarse
(o no tomarse en cuenta) la menor nota
del rubro “otros”.
c) Permita calcular los promedios por cuartil
y sexo.
d) Permita buscar el mejor o peor promedio
Determine usted la mejor estructura para almacenar los datos obtenidos.
La estructura de cada línea del archivo es la
siguiente:
ID, nombre, ep, ef, pc1,
pc2, sexo, proyecto, otro1, otro2
La interface tiene los métodos siguientes:
public List<AlumnoBean> leerArchivo(String rutaArchivo);
public List<AlumnoBean> calculaPromedio(int pesoEP, int pesoEF, int pesoTA,
int pesoPC1, int pesoPC2, int pesoPRO,
int pesoOTR, List<AlumnoBean> ele );
public void calculaPromedioCuartil_x_Sexo(float rango1, float rango2,
String sexo, List<AlumnoBean> ele) ;
public void buscaPromedio(boolean mayor, List<AlumnoBean> ele) ;
En el caso del
método “buscarPromedio”, el parámetro “mayor” es TRUE cuando se desea buscar el
mejor promedio y FALSE cuando se desea el peor promedio.
PREGUNTA #3:
Ejecute su aplicación con las siguientes
ponderaciones:
EP = 30; EF = 40; TA = 30
PC1 = 20 ; PC2 = 20 ; PROY=50; OTR = 10;
En base a los resultados indique el promedio de nota para Hombres y
Mujeres en cada Cuartil:
CUARTIL
|
PROMEDIO
“H”
|
PROMEDIO
“M”
|
CUARTIL 1 : de 00.0 a 25.00
|
|
|
CUARTIL 2 : de 25.01 a 50.00
|
|
|
CUARTIL 3 : de 50.01 a 75.00
|
|
|
CUARTIL 4 : de 75.01 a 100.00
|
|
|
Indique el ID, nombre
y promedio del mejor alumno de la clase
ID
|
Nombre
|
PROMEDIO
|
|
|
|
Indique el ID,
nombre y promedio del último (peor) alumno de la clase
ID
|
Nombre
|
PROMEDIO
|
|
|
|
No hay comentarios:
Publicar un comentario