TAD-Colas-EstructuraDeDatos

21
Documentación Proyecto Cola Circular Autor: Figueroa Anchundia Kevin Steven Estructura de Datos 2014

description

Características de un TAD Cola y Sus Respectivas Propiedades y funcionamiento de cada una.

Transcript of TAD-Colas-EstructuraDeDatos

Documentacin Proyecto Cola Circular

Autor:Figueroa Anchundia Kevin Steven

Estructura de Datos2014

UNIVERSIDAD LAICA ELOY ALFARO DE MANABFACULTAD DE CIENCIAS INFORMTICASTERCER NIVEL AESTRUCTURA DE DATOS

Estudiante:Figueroa Anchundia Kevin Steven

Docente:

NG. JACINTO REYES

Lunes, 11 de diciembre del 2014

ContendoTAD Cola........................................................................................................................................................3Objetivos........................................................................................................................4Documentacin de procesos realizados por el software.6Demostracin prctica del funcionamiento.....13 Conclusiones........16

TAD Cola Cola: conjunto dinmico de tipo FIFO (First Input First Output) : el primer elemento que entra al conjunto es el primero que sale. No es posible acceder a elementos intermedios. Slo es accesible (y eliminable) el primer elemento de la cola, y slo se pueden aadir nuevos elementos tras el ltimo elemento de la cola. Ejemplos: cola de un supermercado, cola para imprimir, colas de despegue y aterrizaje de un aeropuerto, etc.2 Pilas de control, el que llega ser el ltimo, crece hacia atrs y disminuye hacia adelante

FILA IDEAL

FIFO Primero que llega, primero en ser atendido.Operaciones permitidas en el TAD Cola Avanzar Buscar Vaca Llena Mostrar Insertar Contar

ObjetivosObjetivo Principal.

Mediante un ejercicio prctico estudiar, comprender y aplicar los conceptos y procedimientos del TAD Cola para su correcta implementacin dentro del lenguaje java.Objetivos Secundarios.

Aplicar los conocimientos del leguaje de java para detectar posibles errores en el cdigo inicial. Haciendo utilidad de estos conocimientos agregar cierta funcionabilidad al programa creando procesos adicionales y mens de seleccin de datos. Comprender y utilizar de una manera eficiente las operaciones bsicas de un TAD Cola.

Documentacin de procesos realizados por el software

Para iniciar a analizar nuestro proyecto lo primero en lo que debemos de fijarnos es de la cantidad de colas que vamos a utilizar, en este caso he utilizado 4 colas para obtener un funcionamiento ms organizado y eficaz.Como nos dicta el enunciado del ejercicio debemos tener una cola tipo normal y una cola tipo circular en la cual el buffer de entrada solo estuviese especificado para la cola de tipo normal.Se han definido tamaos mximos para cada cola como seran los siguientes:

ColasLongitud mxima

Cola Normal30

Cola Circular5

Cola Auxiliar 30

Cola Auxiliar Circular5

Mediante el uso de una bandera se crea una especie de men principal o de inicio, pero haciendo utilidad de la sentencia if con la cual comparamos la opcin ingresada por el usuario con una ya preestablecida y estas a su vez nos permitirn decidir si trabajaremos con los mtodos de la cola normal, la cola circular o Ingresar datos en la cola normal. Tambin nos da la opcin de salir del programa.Dentro de la primera opcin del men tenemos una particularidad como lo es un ciclo repetitivo el cual su funcin ser de mantener al usuario ingresando sus elementos en la cola hasta cando lo decida.

Este es el men secundario el cual es para seleccionar las operaciones que deseamos utilizar en cada cola, lo cual se logra porque obtenemos la variable bandera del men anterior como parmetro.

A continuacin nos encontramos con dos simples mens los cuales en cada uno de sus casos nos llama a un mtodo especfico q revisaremos ms adelante.

Mtodos de la cola normal

Como podemos fijarnos no encontramos con los mtodos mencionados en el primer men ms un par adicionales los cuales son procedimientos internos para el correcto funcionamiento de los demsEl mtodo llamado Completa() es de tipo boolean y sirve para retornar un valor de verdadero o falso dependiendo si se cumple o no la condicin establecida.Por su parte el mtodo de Ingresar() Como se mencion anteriormente nos sirve para que el usuario ingrese valores pero a la cola normal.

Analizando parte por parte el mtodo Ingresar() nos fijamos que:Primero se realiza una condicin la cual es para saber si la cola esta vaca, de ser este el caso tanto la posicin inicial como final se suman en 1 y el dato q ingresa pasa a ser el primero tanto como el ltimo de la cola, al no ser este el caso y que la cola ya tenga datos ingresados se llama al mtodo Completa() para comprobar si queda espacio en la pila.Si queda espacio se le suma 1 solo a la posicin final para que el dato q ingrese a la cola ocupe el espacio sucesivo que le corresponda, y se guarda el dato en esta posicin.AVANZAR ( )

Este es uno de los mtodos principales dentro de este ejercicio ya que es el q nos sirve para desplazarnos por las posiciones de nuestra cola ayudado claro de las variable que sirve como respaldo del dato actual para poder manejar su valor.Este mtodo est estructurado por una condicin donde se revisa que efectivamente existan datos en la cola, luego de confirmar su existencia se crea una copia del dato de la posicin actual en una variable interna luego se comprueba si en la cola solo queda un dato y si es el caso las variables de control se reinician a su valor original ya que el dato que queda sera utilizado y saldra de la cola, de no ser el caso y quedasen ms valores dentro de la cola solo se le suma en una a la variable de control para seguir recorriendo posiciones.VaciaColaN ( )

Este mtodo al igual que el de competa( ) son de tipo boolean, dentro del programa encontraremos algunos mtodos parecidos los cuales cumplen la misma funcin pero en diferentes colas ya que cada cola maneja posiciones diferentes.

Imprimir ( )

El mtodo de ingresar tambin se generaliza porque cumple la misma funcin en ambas colas.Este mtodo trabaja mediante la creacin de un dato de tipo objeto. Primero se revisa q la cola no este vaca de ser el caso se manda un mensaje de alerta. De lo contrario se crean dos ciclos, el primero seguir ejecutndose mientras la cola en la q estemos no est vaca. Aqu entra en funcionamiento nuestro dato estrella el cual sirve de almacenamiento temporal y este mismo dato se lo enva al mtodo Ingresar () de una de las colas auxiliares dependiendo de qu tipo de cola estemos manejando.Al terminar el ciclo anterior entramos en un nuevo ciclo el cual ya est orientado a la respectiva cola auxiliar con la cual hemos trabajado en el ciclo anterior a manera de almacn de datos, en este ciclo solo podremos salir una vez la cola auxiliar quede vaca y en este es en el cual mostramos por pantalla cada uno de los valores a medida que el ciclo de las respectiva pasadas y a su vez se devuelven los datos a la cola original. Contar ( )

El mtodo de contar es prcticamente igual al de imprimir ya que siguen la misma temtica en cuanto al almacenamiento de los datos y los bucles q se generan pero con la diferencia de q se le aade un contador interno el cual se inicializa en 0 y ocupa el puesto de la lnea de cdigo por la cual se imprima por pantalla ya q cada vez q se retorna un dato a su cola original es contabilizado y al finalizar ese procedimiento y salir del bucle se muestra por pantalla el valor final que ha obtenido el contador.

BUSCAR()METODOS DE LAS COLAS AUXILIARESDentro de estos mtodos se puede observar que son similares a los de las cola normales sino que con las variables de control respectivamente, este caso tambin se aplica en la otra cola auxiliar que tenemos.

Demostracin prctica del funcionamiento Pantalla inicial del funcionamiento

Si pulsamos el nmero 1 nos permite ingresar los datos que deseemos ingresar.

Despus de ingresar un valor nos pregunta si deseamos seguir ingresando

Si el usuario quisiera seguir ingresando no habra problemas y de darle al no regresamos al men principal.

Al escoger una de las pilas ya sea la circular o la normal nos aparecer el segundo men que es el de las operaciones.

Como ya hemos ingresado dos datos utilizaremos la opcin de mostrar primero.

Como podemos observar se encuentran alojados nuestros dos datos en la cola normal, ahora haremos avanzar el primero de ellos hacia la cola circular.

Ahora mediante la opcin 2 de la cola procedemos a contar el nmero de datos que tenemos en nuestra cola, como solo tenemos 1 dato en este momento solo nos mostrar que tenemos un dato.

Procederemos a pasar nuestro segundo dato a la cola circular y mediante la opcin 5 regresamos al men principal.

Ingresamos nuestra cola circular y mostramos los datos que tenemos.

Contamos en la cola circular y como tenemos 2 elementos nos muestra el siguiente resultado.

Si avanzamos en la cola circular el dato ya procede a salir de el sistema y da paso a los que estn en espera en la cola normal

Conclusiones

El TAD cola es una herramientas muy prcticas de utilizar adems de brindar una funcionabilidad perfecta al momento de manipular, buscar o ccontabilizar datos de manera ordenada.

Este proyecto tuvo un fin especifico que fue el de aplicar los conocimientos adquiridos sobre el lenguaje de programacin JAVA y sobre estructuras de datos.