Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorios de computación
salas A y B
EDGAR TISTA GARCÍA
Profesor:
3
Grupo:
6
No de Práctica(s):
2019-1
Semestre:
02/Oct/2018
Fecha de entrega:
Observaciones:
CALIFICACIÓN:
Guía práctica de estudio 06. Estructuras de datos lineales:
Cola circular y cola doble.
Objetivo:
Revisarás las definiciones, características, procedimientos y ejemplos de las estructuras
lineales Cola circular y Cola doble, con la finalidad de que comprendas sus estructuras y
puedas implementarlas.
Practica:
Ejercicio 1:
En este programa se crea una cola la cual tendrá tamaño suficiente para almacenar 9
elementos, de los cuales en el main se encolan 7 (15, 25, 35, 45, 55, 65 y 75), para
después desencolar 3, agregar un valor más (85) y finalmente desencolar otro elemento, a
pesar de haber vaciado y dejado disponibles 3 posiciones, el programa continúo
agregándolo después del último valor (75), con esto se demuestra como tal la definición de
una cola.
2.b. - Cuestionario (Caso de cola circular con 5 elementos)
1.- ¿Cuál es el contenido de la estructura?
Una cola de 5 elementos con la primera posición con un valor, seguida de 3 con
valores vacíos para finalizar con otra con valor.
En este caso se crea una cola con capacidad para 5 elementos, para agregar los 7
elementos, pero al momento de llegar a la última posición y querer agregar otro elemento,
el programa lanza el error declarado desde la función encolar (“ya está a su máxima
capacidad”), al enviar el error, estos valores agregados (65 y 75) se ignoran, para seguir
con las instrucciones del programa, lo siguiente que ocurre es que se desencolan 3
elementos, en este caso 15, 25 y 35. Lo que continua declarado en la función main para
su ejecución es encolar un último valor (85), el programa lo agrega en la siguiente
posición, que al ser una cola circular, se envía a la posición 1; finalmente se desencola un
último valor (45) y se imprime en pantalla.
Ejercicio 3:
En este ejercicio teníamos que declarar las instrucciones en el main para que la cola
resultara de la misma manera que los 3 estados mostrados anteriormente, suponiendo a la
posición 1 como la señalada y utilizando las operaciones para una cola doble.
Estado 1:
Para este estado encolamos al inicio el valor 101 utilizando la función “encolarInicio” (este
se agregó a la posición 1), para proseguir encolando al final los otros 4 elementos con la
función “encolarFinal” (valores 102, 103, 104 y 105 respectivamente) y finalmente
desencolar al inicio el valor 101 (uso de la función “desencolarInicio”) e imprimir.
Estado 2:
Para el segundo estado lo primero que se hace es desencolar el primer valor (el cual era
102) para proseguir encolando al inicio 3 valores, estos son 97, 98 y 99, pero al encolarlos
en ese orden, por la definición de la función “encolarInicio”, estos se agregarán de manera
“inversa”, así que se declaran de manera descendente para que se impriman de manera
correcta a como se desea, cabe destacar que el 98 y 99 entran en las primeras 2
posiciones de la cola, y al no quedar espacio arriba de ellos y por definición de una cola
circular, el valor 97 paso a la posición 8, siendo este de igual manera el índice primero; se
continuó desencolando al final para eliminar al último elemento de la cola (valor 105) y
encolando al final 2 elementos (valores 120 y 121 respectivamente), se imprime el
resultado en pantalla.
Estado 3:
Para este estado, lo primero que se hace es desencolar al Inicio los 3 valores agregados
en la función utilizando la función desencolarInicio, como se pudo observar en el ejemplo
anterior, el valor 97 tenía asignado el índice primero, siendo este el primero en borrarse,
para proseguir con el 98 y el 99 respectivamente, finalmente se agregó un elemento con
valor 122 al final de la cola, finalmente se imprimió para mostrar la cola en pantalla.
Conclusiones:
Aprendimos como se utilizan y se aplican las estructuras de cola circular y cola doble, la
diferencia que hay entre ambas y lo que se puede realizar con cada una, ya que tienen
funciones específicas las cuales se pueden usar en conjunto. Se comprende de manera
eficiente como se tiene que usar y aplicar cada una de las funciones de la estructura; los
ejercicios propuestos fueron buenos y claros para aplicar las definiciones básicas de
estos, casi no se tuvo acceso a la biblioteca “colaDoble.h”, ya que está estaba declarada
de manera completa para no requerir de más elementos que con los que ya contábamos.
La guía de nueva cuenta no contaba con ejemplos para aplicarlos en el compilador, pero
con la teoría vista en clase fue suficiente para entender el funcionamiento de estas,
además de que no diferían demasiado a lo que fue las colas simples.