Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.

Slides:



Advertisements
Presentaciones similares
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Advertisements

Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
PILA.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
ESTRUCTURA DE DATOS Unidad 03 COLAS.
Pilas y Colas Fundamentos Estructuras de Datos (Programación 2)
ADA: lenguaje de programación concurrente
Tema 3: La estructura de datos Lista
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Diseño y análisis de algoritmos
Programación modular Procedimientos y Funciones
Universidad Central II-35 Estructuras de Datos
Curso de Programación 1 Plan 97
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
PROGRAMACION DE Pilas o Stacks y Colas
Preguntas tipo test (I)
Preguntas tipo test (Tema I)
Estructuras de Datos Especificación formal de Listas.
M.I.A Daniel Alejandro García López
Estructuras de datos M.I.A Daniel Alejandro García López.
Programación II Colas Igor Santos Grueiro.
Colas y Listas Enlazadas
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
Tema 2. Abstracciones y Especificaciones.
Teoría de lenguajes y compiladores
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Arboles Binarios de expresiones
PRÁCTICA INVENTADA TOP MANTA Matías Blanco – Sergio Pérez.
PROCEDIMIENTOS FUNCIONES
Coloración de Grafos Planos
POR: Meza Guevara Sandra Fabiola Contreras Meléndez Damariz Figueroa Cisneros Ricardo UNIVERSIDAD TECNOLÓGICA DE DURANGO TECNOLÓGIAS DE LA INFORMACIÓN.
AED I. Estructuras de Datos.
UNITA - IBARRA TRIGGERS
Programación en Pascal
AED3: Algoritmos y Estructuras de Datos 3.  Uno de los conceptos mas utiles en computacion es la pila o stack  Es un conjunto de elementos, en la que:
Programación I Arreglos II- Matrices.
Pilas y Colas Estructuras de Datos.
Sincronización de Procesos
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
Estructuras de Datos y Algoritmos TDA Cola. TDA Una Cola es una arreglo lineal de elementos con las siguientes operaciones: –Crear una cola vacía –determinar.
Son estructuras de datos que almacenan y recuperan sus elementos atendiendo a un estricto orden (LIFO Last – in, first –out Ultimo en entrar – primero.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
UNIDAD IV. PILAS, COLAS, RECURSION APLICADAS A LENGUAJE C.
Teoría de lenguajes y compiladores
Lic. En C.C. Ann Margareth Meza Rodríguez
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
M.C. Meliza Contreras González
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
ESTRUCTURAS LINEALES “LA PILA”
OPERACIONES CON PILAS DECLARACIÓN O INICIALIZACIÓN DE LA PILA. Stack NombrePila=newStack (max);
Pilas Grupo 4. 1 Stack o Pila Definición: Una pila es una estructura de datos, a la cual se le puede ingresar o sacar elementos por un sólo lado. También.
PROGRAMACION DE Pilas o Stacks y Colas
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
Listas Dinámicas.
Dado que una colección esta gestionada por una clase dentro del lenguaje que estamos utilizando, y en cierta forma no se tiene un control total.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Lección 5 Estructura de Caso (Case) y de Secuencia (Sequence)
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

Realizado por: Ing. Mauricio Rivera1 Colas

Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos en el que los nuevos elementos se añaden por un extremo (el final) y se quitan por el otro extremo (el frente). FIFO (Fisrt In, Fisrt Out) Nos preguntamos entonces cual es la función de la cola FIFO?, Para añadir un elemento accesamos el frente.

Realizado por: Ing. Mauricio Rivera3 Colas Con esto estaríamos diciendo que los elementos del medio son inaccesibles, siempre y cuando no usemos una estructura como un arreglo con el cual físicamente sería accesible. Ejemplo: Cola de un banco

Realizado por: Ing. Mauricio Rivera4 Colas Las operaciones básicas en una cola son parecidas a la de una pila las cuales son: Inicializar una cola Añadir una cola Quitar de una cola Verificar estado de la cola (vacía o llena).

Realizado por: Ing. Mauricio Rivera5 Comienzo de una Cola Como en el ejemplo de la librería pueden añadirse nuevos elementos a la cola, con una operación llamada InsCola (Cola,NuevoElemento). También podemos quitar elementos del frente de la cola la cual llamaremos a la operación SupCola (Cola, Elemento), que sería quitar el dato del principio de la cola y devolver su contenido en elemento.

Realizado por: Ing. Mauricio Rivera6 Comienzo de una Cola A diferencia de las pilas los nombres de las operaciones meter y sacar no tienen nombres Estándar. Llamándose así InsCola = Añadir o insertar, y SupCola = Quitar o Extraer Una operación útil sobre la cola es ver si esta Vacía. ColaVacia (Cola) devuelve true si cola esta vacía y false en los demás casos.

Realizado por: Ing. Mauricio Rivera7 Comienzo de una Cola También necesitaremos una operación para inicializar una cola a un estado vacío la cual se llamará LimpiarCola.

Realizado por: Ing. Mauricio Rivera8 Paquete de Colas El paquete de cola se le conoce a la estructura de datos abstracta cola y a sus funciones de acceso y Operaciones. Con esto se dará un conocimiento acerca de la implementación con las interfaces a utilizar para la creación de una cola.

Realizado por: Ing. Mauricio Rivera9 Paquete de Cola :Operaciones LimpiarCola (Cola) Función: Inicializa cola a un estado vacío Entrada: Cola a inicializar Precondiciones: Ninguna Salida: Cola (inicializada) Postcondiciones: Cola esta vacía. ColaVacía (Cola): Devuelve un valor Booleano Función: Indica si cola esta vacía Entrada: Cola a ser comprobada Precondiciones: Ninguna Salida: Cola Vacía (indicativo booleano) Postcondiciones: Cola vacía = (Cola esta vacía)

Realizado por: Ing. Mauricio Rivera10 ColaLlena (Cola): Devuelve un valor Booleano Función: Indica si cola esta llena Entrada: Cola a ser comprobada Precondiciones: Ninguna Salida: ColaLlena (indicativo booleano) Postcondiciones: Colallena = (cola esta llena) InsCola (Cola, NuevoElemento) Función: Añade un nuevo elemento al final de la cola Entrada: Cola, NuevoElemento a ser añadido Precondiciones: Hay espacio en la cola Salida: Cola (cambiada) Postcondiciones: Cola = (Cola original con NuevoElemento añadido al final) Paquete de Cola :Operaciones

Realizado por: Ing. Mauricio Rivera11 SupCola(Cola,ElemSuprimido) Función: Quita el elemento del frente de Cola y devuelve su valor como ElemSuprimido Entrada: Cola Precondiciones: Cola no esta vacía Salida: Cola(cmabiada) Postcondiciones: Cola = cola original con el elemento frente quitado ElemSuprimido = elemento frente de la cola original Paquete de Cola :Operaciones

Realizado por: Ing. Mauricio Rivera12 Implementación de Colas con arreglos Creación de un tipo de dato Cola. Const maxcola=100; Type TipoElemento = integer; TipoIndice = 1..maxCola; TipoCola = Record Elementos: array[TipoIndice] of TipoElemento; Frente: TipoIndice; Final: TipoIndice; End;

Realizado por: Ing. Mauricio Rivera13 Implementación paquete Colas Procedure LimpiarCola(VAR Cola: TipoCola); Begin Cola.frente:= MaxCola; Cola.final:=MaxCola; End; {Inicializa cola a estado vacío} Function ColaVacía(Cola : TipoCola):Boolean; Begin ColaVacia:=Cola.final = Cola.frente; End; {Devuelve true si la cola esta vacía}

Realizado por: Ing. Mauricio Rivera14 Implementación paquete Colas Function ColaLlena(Cola: TipoCola):boolean; Var sigFinal : TipoIndice; Begin if Cola.final = maxCola then SigFinal:=1; else sigFinal:=Cola.final + 1; ColaLlena := SigFinal = Cola.Frente; End; {Devuelve true si la cola esta llena} {Cola esta llena si la siguiente posición disponible del final es igual al frente de la cola}

Realizado por: Ing. Mauricio Rivera15 Implementación paquetes Colas Procedure InsCola(Var Cola:TipoCola;valor:TipoElemento); Begin if Cola.Final = MaxCola then Cola.Final:=1; else Cola.Final:= Cola.Final + 1; Cola.Elementos[Cola.Final]:=valor; End;

Realizado por: Ing. Mauricio Rivera16 Implementación Paquetes Colas Procedure SupCola(VAR Cola: TipoCola;VAR extraido: TipoElemento); Begin {Actualiza Cola.frente para acceder al frente de la cola. Cola.frente es el índice que la posición del array que precede al elemento frente de la cola, la cola puede continuar después del final del array} if Cola.Frente = MaxCola then Cola.frente:=1; else Cola.frente:=Cola.frente+1; {Asigna el elemento frente de la cola al extraido} extraido:=Cola.Elementos[Cola.Frente]; End;

Realizado por: Ing. Mauricio Rivera17 Ejercicio con Cola