You are on page 1of 2

Programacin y Estructura de Datos

Asunto: Profesor: Fecha de entrega: NOTAS:

Examen Final Juan Matas Matas (jUaNIX) Semana 15

=========================================================================

Esta trabajo, tiene doble calificacin: Examen final + Tarea Grupal. Se puede hacer en grupos de mximo tres (03) alumnos. Cubre temas de diseo de clases y temas medianamente avanzados del lenguaje de programacin Java, y usa conocimientos en programacin Orientada a Objetos. Use nombres significativos para todas sus clases, atributos, mtodos y variables

========================================================================= IMPORTANTE: El grupo debe entregar las estructuras/diagramas de clases (formato .doc o similar), junto con el prototipo (esqueleto)de programa principal, antes de la ltima sesin e la semana 14, el mismo que ser considerado como punto de referencia para la revisin del cdigo final. El trabajo (incluye, cdigo funcional y la documentacin descriptiva de los mdulos) deber ser entregado en la semana 15 va correo electrnico

========================================================================= El problema: Se quiere sistematizar la indexacin de los documentos que tienen los buscadores de Internet como google, para esto se va a implementar el conjunto de documentos indexados como un rbol binario de bsqueda, como la clase Corpus. La clase Corpus o rbol binario contiene documentos. Cada documento o nodo del rbol (Clase Documento), contiene la siguiente informacin: nombre del documento, ISBN, nombre del autor, fecha de publicacin, y un indicador del peso o importancia de ese documento con respecto a la bsqueda que se est haciendo en ese momento. Es decir, si en el buscador google se est buscando programacin en Java, en el rbol estarn indexados todos los documentos relacionados con esta bsqueda. El rbol estar ordenado por el peso o importancia que tenga cada documento con respecto a la bsqueda, es decir, los documentos que estarn a la derecha de la raz tendrn un peso o importancia mayor o igual que la raz, y los documentos que estarn a la izquierda tendrn un
Juan Matas Matas (jUaNIX) Pg. 1/2

Programacin y Estructura de Datos

peso menor que la raz, y a su vez los sub-rboles izquierdo y derecho estarn ordenados. El peso de cada documento se calcula con la siguiente frmula: Peso = Ft * log10( N / Fd) Ft = nmero de veces que aparece la pregunta en el documento. En el ejemplo sera, el nmero de veces que aparece programacin en Java en el documento. Fd = nmero de documentos que contienen la pregunta por lo menos una vez. En el ejemplo sera, el nmero de documento que contienen por lo menos una vez programacin en Java. N = nmero de documentos totales del conjunto, es decir, los que contienen y no contienen a la pregunta. Los trminos Ft y Fd son dados por el usuario para cada documento, pero el trmino N debe ser calculado. Recuerde que cada documento es un nodo del rbol que tambin contiene un apuntador al hijo izquierdo y otro apuntador al hijo derecho. La aplicacin debe poder crear un Corpus vaco, adicionar documentos, buscar un documento por su peso e imprimir su informacin en pantalla, imprimir todo el Corpus de manera ordenada (por el peso de los documentos), calcular el nmero de documentos totales del corpus, y eliminar un documento. 1. (20%) Diseo de la clase Corpus siguiendo la metodologa vista en clase. El diseo de esta clase incluye el diseo de la clase Documento. Debe mencionar todas las operaciones y el manejo del error en ellas. Esta parte se entrega por correo como avance. 2. (40%) Implementacin de la clase Corpus y la clase Documento en Java, con toda la funcionalidad pedida. 3. (20%) Implementacin de las rutinas, buen manejo de parmetros (con apuntadores, referencias, constantes o no). 4. (20%) Men o alguna interfaz amigable para probar las clases orpus y Documento. jUaNIX 2013

Juan Matas Matas (jUaNIX)

Pg. 2/2

You might also like