You are on page 1of 7

Universidad De San Carlos De Guatemala

Facultad de Ingeniera
Escuela de Ciencias y Sistemas
Estructura de datos A
Ing. Luis Fernando Espino
Aux. Robinson Jonathan Perez Fuentes

Practica 1
Segundo semestre 2017 vacaciones diciembre
Contenido
Objetivos ............................................................................................................................................. 3
General ............................................................................................................................................ 3
Especficos ....................................................................................................................................... 3
Descripcin General ............................................................................................................................ 3
Implementacin .................................................................................................................................. 3
Pasajeros ......................................................................................................................................... 4
Escritorios de registro ..................................................................................................................... 4
Equipaje ........................................................................................................................................... 4
Mantenimiento ............................................................................................................................... 4
Aspecto visual.................................................................................................................................. 5
Entregables...................................................................................................................................... 7
Observaciones ................................................................................................................................. 7
Objetivos
General
Aplicar los conocimientos adquiridos en el curso de estructura de datos en la implementacin y
manejo de memoria dinmica

Especficos
Aplicar los conocimientos de memoria dinmica para la implementacin de listas
Entender el funcionamiento de estructuras especficas de pilas y colas.
Aprender a crear simulaciones a travs de la implementacin de estructuras

Descripcin General
La simulacin ha sido una parte fundamental en los negocios y en las empresas, de forma que se
puedan obtener datos a travs de este tipo de prcticas que puedan ayudar a la toma de decisiones
en el mejoramiento y correccin de fallas en los sistemas evitando as realizar pruebas en entornos
reales que pueden llevar a gastos mayores, es debido a ello que la demanda por software que pueda
llevar a cabo dichas simulaciones es cada vez mayor.

La prctica consiste en el desarrollo de una aplicacin que permitir la simulacin de distintos


procesos que se realizan en un aeropuerto; se utilizaran las estructuras de datos y algoritmos
explicados en el curso.

La aplicacin tendr la capacidad de mostrar en un aspecto visual las estructuras, esto por medio
del uso de libreras soportadas (Graphviz).

Implementacin
Un aeropuerto busca realizar la simulacin paso por paso de la llegada de los aviones y el
desabordaje de los pasajeros, los pasos se estarn realizando de forma aleatoria por cada estructura
de datos, solo se realizar un paso por vez.

Al inicio de la simulacin se establecer un numero n de aviones que estarn aterrizando en el


aeropuerto se dispondr de la llegada de un avin por turno, para lo cual se necesita generar de
forma aleatoria la informacin descrita en la tabla siguiente segn el caso.

Tipo Probabilidad Pasajeros Desabordaje(Turnos) Mantenimiento(Turnos)


Pequeo X Entre 5 y 10 1 Entre 1 y 3
Mediano X Entre 15 y 25 2 Entre 2 y 4
Grande X Entre 30 y 40 3 Entre 3 y 6

Estos se estarn agregando en una cola doblemente enlazada segn van llegando al aeropuerto

Al finalizar el desabordaje de los pasajeros los aviones deben dirigirse al rea de mantenimiento
donde cada avin debe esperar a que uno de los grupos de mantenimiento lo revise y lo deje listo
para un nuevo vuelo.
Pasajeros
Al bajar los pasajeros del avin a estos se les asigna un nmero de identificacin y se deben
generar 3 nmeros aleatorios

Cantidad de maletas 1 a 4
Cantidad de documentos 1 a 10
Numero de turnos para registro 1 a 3

Los pasajeros formaran una cola simple donde permanecern para poder dirigirse a una de las
colas de los escritorios donde les revisaran los documentos.

Escritorios de registro
Al inicio de la aplicacin se determinar una cantidad m de escritorios de registro con el que contara
el aeropuerto los escritorios se ordenaran en una lista doblemente enlazada y ordenada
identificados por una letra del abecedario, cada uno de estos escritorios contar con una cola
simple, cada uno con una capacidad mxima de 10 pasajeros, al ser atendidos los pasajeros los
documentos se agregaran en una pila que tendr cada escritorio, el pasajero estar all la cantidad
de turnos que se gener aleatoriamente, al finalizar sus turnos de atencin el pasajero se dirigir a
tomar sus maletas y saldr del sistema.

Los pasajeros que estn en la cola de espera se irn ubicando en los espacios disponibles en cada
una de las colas de los escritorios.

Equipaje
Al descender los pasajeros del avin como se mencion antes, se les genera una cantidad aleatoria
de maletas, estas maletas se estarn ubicando en una lista doblemente enlazada circular, al finalizar
uno de los pasajeros su proceso de registro, se estarn sacando de esta lista la cantidad de maletas
correspondientes al pasajero, y el mismo saldr del sistema.

Mantenimiento
Se debe indicar al inicio la cantidad de estaciones de servicio para el mantenimiento de los aviones,
la cual ser una cantidad k, estas estaciones estarn ubicadas en una lista simple, esta rea tendr
una sola cola simple, donde esperaran los aviones para ser revisados, estos estarn ubicndose en
el rea de mantenimiento que este disponible, y tardaran los turnos que fueron generados
anteriormente, al finalizar los turnos el avin saldr del sistema.

Nota:
Los escritorios de registro debern mostrar:
o Cliente que est siendo atendido
o Estado ocupado/libre
o Cantidad de documentos a revisar
o Turnos restantes

Las estaciones de servicio para el mantenimiento deben mostrar la informacin

o Avin que est siendo revisado


o Estado ocupado/libre
o Turnos restantes
A continuacin, se muestra un grafico del aspecto del sistema

Llegadas Desabordaje Escritorios


de aviones de registro

Escritorio Escritorio Escritorio


A B C

Mantenimiento
Equipaje

Estacin Estacin Estacion


Maleta 1 Maleta 2 Maleta 3 2 3
1

Maleta 6 Maleta 5 Maleta 4

Aspecto visual
Todo el sistema descrito anteriormente, deber ser visualizado dentro de una misma grafica que
muestre la informacin necesaria de lo que va ocurriendo cada turno, por lo tanto, la grfica se
estar generando cada vez que pase un turno. Adicional se debe realizar una consola dentro de la
interfaz que muestre informacin de lo que est sucediendo en el sistema, como las llegadas de los
aviones, el estado de los escritorios y las estaciones de servicio, la cantidad de maletas.
Consola sugerida (El estudiante deber mostrar la informacin que crea necesaria)

******Turno 1*******
arribo avin 1
Avin desabordando: ninguno
----Escritorios de registro----
Escritorio A: libre
Pasajero atendido: ninguno
Turnos restantes: 0
Cantidad de documentos: 0
Escritorio B: libre
Pasajero atendido: ninguno
Turnos restantes: 0
Cantidad de documentos: 0
Escritorio C: libre
Pasajero atendido: ninguno
Turnos restantes: 0
Cantidad de documentos: 0
-------------------------------------
+++++Estaciones de servicio+++++
Estacin 1: libre
Avin en mantenimiento: ninguno
Turnos restantes: 0
Estacin 2: libre
Avin en mantenimiento: ninguno
Turnos restantes: 0
Estacin 3: libre
Avin en mantenimiento: ninguno
Turnos restantes: 0
++++++++++++++++++++++++++++
Cantidad de maletas actualmente en el sistema: 0
Turnos restantes 3
******Fin de Turno 1********
******Turno 2*************
Entregables
Cdigo fuente
Ejecutable
Manual tcnico y usuario

Observaciones
Lenguaje de programacin a utilizar: C/C++
Sistema operativo: Linux
IDE: QT Creator
Las graficas deben mostrarse en un visor dentro de la aplicacin, no se debern buscar en
carpetas externas. Si la aplicacin no genera graficas no podr ser calificada.
Las estructuras debern ser desarrolladas e implementadas por los estudiantes, no se
permitir el uso de ninguna librera para ello.
Para el uso de las estructuras se deber utiliza struct. En caso de no utilizarlo se penalizar
sobre un 20% de la nota obtenida.
Si la aplicacin presenta un segmentation fault durante la calificacin, se dar una nota de
0 puntos.
Fecha y modo de entrega
o Viernes 15 de diciembre 11:59 p.m. va GitHub
o Si no se entrega a travs de GitHub, no se calificar la prctica.
Copias tendrn nota de 0 puntos y sern reportados al catedrtico y a la escuela de
ciencias y sistemas.