You are on page 1of 19

Documentacin Proyecto Cola

Circular
Autor:
Figueroa Anchundia Kevin Steven
Estructura de Datos
2014

UNIVERSIDAD LAICA ELOY ALFARO DE


MANAB
FACULTAD DE CIENCIAS INFORMTICAS
TERCER NIVEL A

ESTRUCTURA DE DATOS

Estudiante:
Figueroa Anchundia Kevin Steven
Docente:
NG. JACINTO REYES

Lunes, 11 de diciembre del 2014

Contendo
TAD
Cola...............................................................................................
......................................................... 3
Objetivos.......................................................................................
.................................4
Documentacin de procesos realizados por el
software.6
Demostracin 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

Objetivos
Objetivo 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.

Colas
Cola
Normal
Cola
Circular
Cola
Auxiliar
Cola
Auxiliar
Circular

Longitud
mxima
30
5
30
5

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:

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
dellamado
los dems
El mtodo
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 AUXILIARES
Dentro 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.

You might also like