Está en la página 1de 4

Universidad de Carabobo Facultad Experimental de Ciencias y Tecnologa Departamento de Computacin CAO303 Programacin I

Proyecto ( Valor: 20% ) Simulacin de un Metro


1.- Introduccin
Una de las aplicaciones ms tiles de las estructuras lineales ( listas, pilas y colas ) es en procesos de simulacin. Un programa de simulacin es aquel que intenta modelar una situacin del mundo real con el objetivo de aprender algo acerca de l. Cada objeto y accin en la situacin real tiene su representacin en el programa. Si la simulacin es correcta, es decir si el programa puede representar en forma exitosa el mundo real, entonces los resultados del programa deben mostrar los resultados de las acciones que han sido simuladas. En otras palabras, es posible entender qu ocurre en las situaciones del mundo real sin que stas ocurran realmente.

2.- Planteamiento
El Metro es uno de los sistemas de transporte ms utilizado en las grandes ciudades. Se requiere definir, disear y desarrollar un TDA Metro con el objetivo de modelar este sistema de transporte. Un Metro puede ser considerado como una red. Una red es un conjunto de lneas que quedan dentro de su permetro. Una lnea se distingue por su nombre, y tiene asociada una secuencia de estaciones que comunica. Una estacin est identificada por su nombre. Existen entonces elementos de tipo estacin, lnea y red, con una relacin jerrquica especfica entre ellos: Una estacin puede pertenecer a varias lneas. Una lnea slo puede pertenecer a una red. Una estacin slo puede estar una vez en una lnea. Una lnea slo puede estar una vez en una red. Las operaciones representativas del TDA Lnea, descritas informalmente, son las siguientes: lnea_vaca: Crea una nueva lnea vaca. es_vaca_lnea: Dada una lnea n, es_vaca_lnea( n ) informa si la lnea n es vaca. agregar_estacin: Dada una lnea n, una estacin e y un entero pos, agregar_estacin( n, e, pos ) agrega la estacin e a la lnea n en la posicin pos. eliminar_estacin: Dada una lnea n y una estacin e, eliminar_estacin( n, e ) elimina la estacin e de la lnea n.

CAO303: Programacin I

num_estaciones: Dada una lnea n, num_estaciones( n ) calcula el nmero de estaciones que existen en la lnea n. pertenece_estacin: Dada una lnea n y una estacin e, pertenece_estacin( n, e ) informa si la estacin e pertenece a la lnea n.

Las operaciones representativas del TDA Red, descritas informalmente, son las siguientes: red_vaca: Crea una nueva red vaca. es_vaca_red: Dada una red r, es_vaca_red( r ) informa si la red r es vaca. agregar_lnea_red: Dada una red r y una lnea n, agregar_lnea_red( r, n ) agrega la lnea n a la red r. eliminar_lnea_red: Dada una red r y una lnea n, eliminar_lnea_red( r, n ) elimina la lnea n de la red r. num_lneas_red: Dada una red r, num_lneas_red( r ) calcula el nmero de lneas que existen en la red r. cardinalidad_red: Dada una red r, cardinalidad_red( r ) calcula el nmero total de estaciones que existen en la red r. existe_camino: Dada una red r y dos estaciones e1 y e2, existe_camino( r, e1, e2 ) informa si existe un camino entre las estaciones e1 y e2 en la red r, tomando en cuenta que el camino puede involucrar varias lneas.

3.- Actividades a realizar


Elabore la especificacin operacional del TDA Lnea. Elabore la especificacin operacional del TDA Red. Elabore un diseo de estructuras de datos para representar los objetos del TDA, de manera tal que las operaciones de los TDA Lnea y Red sean lo ms eficientes posibles. Implemente cada operacin de los TDA Lnea y Red en trminos de las estructuras de datos seleccionadas. Utilice una representacin basada en memoria dinmica. Desarrolle un programa de prueba que presente un men con todas las operaciones posibles. Este programa ser utilizado para validar su implementacin. Utilice los TDA Lnea y Red para elaborar una rutina que, dado un Metro y dos estaciones, retorne una lista con el trayecto que debe seguir un usuario para ir de una estacin a la otra. Suponga que no existen ciclos en el interior del Metro.

4.- Entrega
El desarrollo del proyecto tiene una duracin total de 3 semanas (improrrogable), contadas a partir del da Viernes 18/ 01 / 2012. La fecha tope para la entrega del proyecto es el da Viernes 08 / 02 / 2012 hasta las 6:00 p.m. Se habilitar un enlace en el entorno virtual para quienes opten por subirlo por esta va. Esta entrega incluye un documento de especificacin (10 pgs. mximo) en el que exponga todos los detalles de su solucin segn el formato especificado en la asignatura Algoritmos I.

CAO303: Programacin I

El informe debe estar impreso en papel bond blanco base 20 tamao carta, escrito por una o ambas caras y utilizando caracteres de tamao 12 puntos estilo Arial, con un margen izquierdo de 3 cm. y los restantes de 2 cm. El informe debe ser entregado en un sobre manila tamao carta debidamente identificado con el nombre, apellido, cdula y seccin de cada uno de los integrantes del equipo, y debe contener las actividades especificadas en el apartado 3 de este documento: Especificacin operacional del TDA Lnea. Especificacin operacional del TDA Red. Documento de Especificacin: Diseo de las estructuras de datos que se utilizarn para representar los objetos del TDA, de manera tal que las operaciones de los TDA Lnea y Red sean lo ms eficientes posibles. Un CD que contenga en el directorio raz nicamente todos los archivos fuente de su solucin. Incluya tambin una copia del Documento de Especificacin, no debe contener otros archivos.

5.- Evaluacin
El porcentaje de cada uno de los componentes del proyecto se indica en la siguiente tabla: Item Documento de Especificacin Cdigo Corrida Defensa oral Total proyecto Porcentaje 25% 10% 30% 35% 100% Puntaje 5 puntos 2 puntos 6 puntos 7 puntos 20 puntos

6.- Observaciones
El proyecto debe ser realizado en equipos de entre dos y tres estudiantes, sin excepcin. No se aceptan trabajos individuales. Pueden combinarse libremente entre las distintas secciones. El CD debe tener una etiqueta indicando el nombre, apellido, cdula y seccin de cada uno de los integrantes del equipo. Verifique bien que el CD no est defectuoso y que contiene todos los archivos. La implementacin del proyecto debe ser realizada nicamente en lenguaje Ansi C (NO C). Los archivos que entreguen sern compilados utilizando software bajo licencia GNU. Los programas que entreguen deben estar debidamente presentados y documentados. Se evaluar estrictamente lo que est en el informe de especificacin y en el CD. Si por alguna razn (virus, CD vaco o defectuoso, archivos faltantes, Zip vaco o defectuoso, etc.) no es posible corregir su programa, ste se considerar no entregado.

CAO303: Programacin I

Verifique con detenimiento la redaccin y la ortografa, ya que ambos aspectos sern evaluados. Favor NO incluir el enunciado del proyecto en el documento de especificacin. Los equipos que entreguen sus proyectos despus de las fechas topes establecidas por la ctedra tendrn tres puntos de descalificacin (sobre la nota total obtenida) por cada da de retraso.

A.A.M., M.S.V. , A.J.G., M. M. G. / a.j.g. Enero, 2013

CAO303: Programacin I

También podría gustarte