You are on page 1of 3

Estructuras de datos y algoritmos - 1° Cuatrimestre 2012

TRABAJO PRÁCTICO FINAL
MUY Importante: Definir las estructuras elegidas para representar la información planteada y consultarlas al equipo de cátedra "antes" de comenzar con la implementación del trabajo. Todos los métodos deben ser eficientes, es decir, recorrer de forma eficiente todas las estructuras utilizadas. Escriba código claro: indente y modularice apropiadamente. La comprensión de los enunciados forma parte de la evaluación Se desea sistematizar la información sobre una biblioteca virtual. La biblioteca mantiene información de artículos organizados por temas. De cada artículo se tiene un código único, su título, autores, año de publicación, un conjunto de palabras claves, tema y las referencias bibliográficas (código/s de artículo/s que referenciados por éste en forma directa). La información respecto a las referencias bibliográficas de un artículo se mantiene distinguiendo en que sección particular del artículo se hace la referencia, tener en cuenta que un mismo artículo puede ser referenciado más de una vez en un artículo. Suponer que todas las referencias de un artículo existen en la biblioteca. Ejemplo: A1 referencia a B7 en la sección Introducción y en la sección Análisis General. Cada artículo hace referencia a uno o más artículos por sección, es decir que contiene un conjunto de referencias bibliográficas. Por ejemplo: artículo A1, ref bibliog. ( S1, B7; S3, B7; S2 ,B1; S1, B2; S3,C3) artículo B1, ref bibliog. (S1, B7; S1, C1; S2, C5) artículo B2, ref bibliog. (S1, C5; S2, C6; S3, E9) artículo C5, ref bibliog. (S1,D1; S3, E2) artículo C3, ref bibliog. (S2, D1; S3, D1) ... entonces A1 tiene relación con los artículos que referencia en forma directa (B7, B1, B2, C3) y a su vez con los artículos que referencia indirectamente (referencias a los artículos referenciados por el artículo) (B7, C1, C5, C6, E9, D1), y así sucesivamente. Por otro lado la biblioteca está organizada por temas, los temas están subdivididos en subtemas. Los subtemas pueden estar subdivididos en más subtemas, y así sucesivamente. Cada subtema final (sin subdivisiones) contiene una lista con los artículos correspondientes a esa clasificación. La denominación de cada tema/subtema es única. Ejemplo: Mi Biblioteca Temas: Historia, Arte, Computación, … Subtemas de “Historia”: Europa Medieval, El Cristianismo, Imperios, … Subtemas de “Imperios”: El Antiguo Egipto, Imperio Romano, … Subtemas de “El Antiguo Egipto”: Imperio Antiguo, Imperio Nuevo, El Egipto de los Faraones … Artículos de “El Egipto de los Faraones”: El hijo de la Luz, El templo de Millones de años, … a) Elegir las estructuras más adecuadas para definir el TDA Biblioteca que permita almacenar la información descripta. Para ello debe considerar que no se repita información innecesariamente y que maximicen la eficiencia de las consultas para lo cual será necesario contar con estructuras para: • índice de artículos • mantener la relación entre los artículos. • índice secundario por temas • índice secundario por palabras claves Es obligatorio el uso de la estructura de árbol B, por lo que debe elegir su utilización en donde considere

1

Ingresar un Tema (puede ser tema o subtema de acuerdo si depende de otro tema o no) Ingresa un artículo nuevo Dado un código de artículo.Estructuras de datos y algoritmos . autor y año de publicación de todos los artículos que poseen palClave como palabra clave. 5. Imperios. 2 . 9. autor y año de publicación de los artículos referenciados por sección. Obtener la información de todos los artículos referenciados por un artículo dado (en forma directa o indirectamente). Por ejemplo. 7. 6. 3. 2. 4. Ej: Si el usuario ingresa: • Imperios. El antiguo Egipto.1° Cuatrimestre 2012 más apropiado. El templo de Millones de años. el listado deberá mostrar: o El Antiguo Egipto Imperio Antiguo: lista de artículos Imperio Nuevo: lista de artículos El Egipto de los Faraones: lista de artículos o Imperio Romano … • El Egipto de los Faraones: cómo el tema ingresado es un subtema final. Dado un tema/subtema listar todos los artículos que correspondan a esa clasificación detallando la tipificación completa en caso de no ser un subtema final. El egipto de los faraones. Modificar un artículo para agregar una referencia bibliográfica. Encontrar la clasificación de temas correspondiente a un artículo dado. Por ejemplo. el listado directamente muestra los artículos de ese tema: El hijo de la Luz. mostrar la información del mismo incluyendo el título. Para fines prácticos de la corrección y verificación de las estructuras es necesario contar con opciones del menú que permitan mostrar cada estructura utilizada. … Dada una palabra clave palClave mostrar el título. b) Realizar una clase TestBiblioteca que contenga un programa que permita: 1. Modificar un artículo para eliminar una palabra clave del artículo. 8. el mostrar estructura del árbol B debería ser: Pagina: C1 – C2 Hijos: C4 – C6 – C5 C3 – C9 – C10 – C11 C12 – C15 Pagina: C4 – C6 – C5 Hijos: “sin hijos” … Donde Cx son claves almacenadas en el árbol B. para el artículo “El hijo de la luz” debe devolver: Historia.

3 . Las operaciones deben ser eficientes y estar correctamente modularizadas. El archivo comprimido deberá subirse a la Plataforma de Educación a Distancia de la Universidad (http://pedco. Nota: El trabajo práctico es de carácter obligatorio y condición necesaria para rendir el examen final.Estructuras de datos y algoritmos .java). por lo que se recomienda verificar el archivo antes de ingresarlo a la plataforma.uncoma.1° Cuatrimestre 2012 Forma de entrega: Los trabajos deberán realizarse en forma individual Subir un archivo ZIP o RAR con todos los archivos correspondientes al código fuente (. llamarlo con Apellido+Nombre del alumno. por lo que. El link habilitado para subir la tarea no permitirá reentregas. deberá ser presentado antes de la fecha de examen en la cual se inscriban para rendir.edu.ar) en la tarea Trabajo Práctico Final.