aclaraciones tp especial 2006 primera entrega enunciado del problema diseño sugerido interfaz...

12
Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para la implementación Requerimientos de la entrega Requisitos adicionales para el informe

Upload: tere-hinojos

Post on 29-Jan-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

AclaracionesTP Especial 2006Primera Entrega

Enunciado del problemaDiseño sugeridoInterfaz básica sugeridaInterfaz extendida sugeridaSugerencias para la implementaciónRequerimientos de la entregaRequisitos adicionales para el informe

Page 2: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 2

Enunciado del problema Entorno de desarrollo DEV C++

Implemente el Tipo de Dato Grafo. Implemente una función para cargar los datos del

grafo desde un archivo. Implemente los algoritmos para la exploración de

grafos: DFS_Forest y BFS_Forest. Para cada uno de ellos muestre por pantalla el bosque resultante.

Implemente los algoritmos de Dijkstra y Floyd para encontrar los caminos de mínimo costo. Muestre por pantalla el costo mínimo entre cada par de vértices.

Fecha de entrega: 26 de Septiembre.

Page 3: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 3

Diseño sugerido Implementar (al menos) dos clases:

Una clase GrafoBase, donde se implementa una interfaz mínima de creación y acceso a un grafo parametrizado.

Una clase GrafoExtendido, que hereda a GrafoBase, donde se proveen todos los algoritmos pedidos.

Page 4: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 4

Diseño sugerido Es muy importante que las interfaces de

las clases implementadas nos independicen lo más posible de la estructura interna.

La mismas deberían permitirnos cambiar la representación del grafo (por ejemplo entre lista de adyacencia y matriz de adyacencia) sin necesidad de cambiar la parte pública de las mismas.

Page 5: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 5

Interfaz básica sugerida GrafoBase<Dato, Costo>

agregar / eliminarVertice(Dato*) agregarArco(Dato*,Dato*,Costo*) eliminarArco(Dato*,Dato*) boolean existeVertice(Dato*) Dato* costoArco(Dato*,Dato*) list<Dato*> devolverVertices() list<Dato*> devolverAdjuntos(Dato*) cargarGrafo(FILE*) guardarGrafo(FILE*)

Page 6: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 6

Tener en cuenta que pueden incluirse más funciones en la interfaz básica. Por ejemplo, haría falta un método para devolver una lista de los arcos del grafo (incluyendo el peso).

Interfaz básica sugerida

Page 7: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 7

Interfaz extendida sugerida GrafoExtendido<Dato, Costo>

: hereda GrafoBase<Dato, Costo> list<Dato*> dfs(Dato*) list<Dato*> bfs(Dato*) <Estructura DFS> dfsForest() <Estructura BFS> bfsForest() <Estructura Dijkstra> dijkstra(Dato*) <Estructura Floyd> floyd()

Page 8: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 8

Sugerencias para la implementación Deberían definirse (y comentarse en el

código) las pre-condiciones bajo las cuales los métodos de las interfaces funcionarán correctamente.

Ninguno de los métodos de las clases del grafo implementadas debería imprimir mensajes por pantalla para el manejo de errores o visualización.

Page 9: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 9

Requerimientos para cada una de las entregas 1. Implementación

Un disquete o CD que contenga: etiqueta con la identificación de los

integrantes del grupo, código fuente completo archivo ejecutable del programa

(que corra en el laboratorio de exactas)

Page 10: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 10

Requerimientos para cada una de las entregas 2. Informe impreso

Carátula con el nombre de los integrantes del grupo y el nombre del trabajo

Introducción al problema Descripción de los tipos de datos utilizados Detalle de las estructuras de datos

utilizadas para la implementación de los mismos

Análisis de complejidad temporal de los algoritmos utilizados

Conclusiones NO IMPRIMIR CÓDIGO FUENTE

Page 11: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 11

Requisitos adicionales para el informe Incluir un resumen breve del trabajo realizado. Describir brevemente cada uno de los tipos de

datos correspondientes al grafo implementados.Describir la estructura interna de la clase grafo y cada uno de los tipos de datos adicionales implementados.Describir la interfaz pública de cada grafo, describiendo cada método con sus precondiciones, datos devueltos y parámetros. Si se definen tipos de datos auxiliares describirlos también.

Page 12: Aclaraciones TP Especial 2006 Primera Entrega Enunciado del problema Diseño sugerido Interfaz básica sugerida Interfaz extendida sugerida Sugerencias para

ADA II - Laboratorio 2006 12

Requisitos adicionales para el informe Como parte del informe incluir una discusión sobre

las ventajas/desventajas de la implementación de los algoritmos solicitados bajo las siguientes condiciones:

Accediendo directamente a la estructura interna del grafo (como se realizaría en los métodos de la clase GrafoExtendido).

Utilizando el grafo exclusivamente a través de la interfaz provista por la clase GrafoBase (como se realizaría si los algoritmos se implementaran en una clase independiente sin utilizar herencia).

Considerar aspectos de eficiencia, modificabilidad y abstracción de la estructura interna.