Universidad de Costa Rica
|
|
Utilice el archivo de encuestas generado a partir los nombres y apellidos del padrón nacional para determinar cuáles son las personas más compatibles. Cada pregunta en la encuesta tiene 6 posibles respuestas:
Al construir su programa Emparejador.java
use la
clase pregunta.java
para almacenar en una lista
vector las preguntas del cuestionario, las que están
grabadas en formato
CSV en el archivo "cuestionario.txt
". Las
respuestas al cuestionario están en el archivo
"encuesta.txt
", grabado también en formato
CSV.
La cantidad de respuestas grabadas en el archivo
"encuesta.txt
" es muy grande, más allá
de de varios miles. Para almacenar estos valores, usted debe
utilizar un objeto
contenedor que permita agregar valores eficientemente, como
es el caso de la clase
ArrayList
que tiene su método
add()
para agregar nuevos valores con buen eficiencia.
En la memoria del computador es posible almacenar objetos enormes,
pero es muy difícil manipular una matriz cuadrada que tiene
un millón de renglones. Por eso, en lugar de almacenar la
gran matriz, usted construirá su clase
losMejores.java
, en donde usted guardará los
índices de aquellas parejas que tengan mayor
compatibilidad.
Incluya al menos los siguientes métodos en su clase
losMejores.java
:
cmptbl
para
guardar aquellas parejas (i,j)
que tienen mayor
compatibilidad.i
de la
pareja (i,j)
que tiene la compatibilidad de en
posicipon n
. La pareja más compatible es
la que está en la posición 0
de
compatibilidad.j
de la
pareja (i,j)
que tiene la compatibilidad de en
posicipon n
.
Para calcular el índice de compatibilidad calcule la suma
de los cuadrados de las diferencias de las repuestas. Si alguna de
las 2 respuesta es la opción [0]
(no sabe o no
responde) use el valor 2
al calcular la
compatibilidad. Por ejemplo, la compatibilidad de estas 2
respuestas al cuestionario es 70:
1, 0, 0, 3, 1, 1, 5, 5, 1, 0, 4, 0 4, 1, 4, 5, 0, 1, 1, 1, 1, 0, 3, 1 --- --- --- --- --- --- --- --- --- --- --- --- -3 2 2 -2 2 0 4 4 0 2 1 2 9 4 4 4 4 0 16 16 0 4 1 4 ==> 66
Su programa debe procesar todos los cuestionarios y producir, al final, la lista de las 25 parejas que tienen mayor compatibilidad.
Vector
en lugar de ArrayList
?
ArrayList
. Pueden usar lo que más
les convenga
para implementar su objeto
losMejores.java
.
Entregue su tarea por correo electrónico, como lo hizo anteriormente.
|
Adolfo Di Mare <adolfo@di-mare.com>.
|