La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Realizado por: Ing. Mauricio Rivera1 Universidad Central II-35 Estructuras de Datos Profesor: Ing. Mauricio Rivera

Presentaciones similares


Presentación del tema: "Realizado por: Ing. Mauricio Rivera1 Universidad Central II-35 Estructuras de Datos Profesor: Ing. Mauricio Rivera"— Transcripción de la presentación:

1 Realizado por: Ing. Mauricio Rivera1 Universidad Central II-35 Estructuras de Datos Profesor: Ing. Mauricio Rivera Oficina: Cel:

2 Realizado por: Ing. Mauricio Rivera2 Evaluación del Curso Examen Parcial I 15 % Examen Parcial II 15 % Proyectos Programados24 % Quices y tareas16 % Examen Final30 % 100% Total

3 Realizado por: Ing. Mauricio Rivera3 Programa del Curso Pilas Colas Punteros Listas Recursividad Árboles

4 Realizado por: Ing. Mauricio Rivera4 Pilas

5 Realizado por: Ing. Mauricio Rivera5 ¿Qué es una Pila? A nivel lógico, una pila es un grupo ordenado de elementos homogéneos y por lo cual todos del mismo tipo. Por lo cual consiste en que la única manera de quitar un elemento de la pila es por el tope o cabeza de la pila misma.

6 Realizado por: Ing. Mauricio Rivera6 Pilas Es considerada la pila un grupo ordenados de elementos por el tiempo que conllevan en ella. Por este motivo el último elemento a ingresar será el primero también en salir. Osea también llamado LIFO. (Last In, First Out).

7 Realizado por: Ing. Mauricio Rivera7 Pilas Las operaciones básicas en una pila son: Inicializar Crear Añadir (Push) Borrar (Pop) Verificación de pila vacía Verificar Pila Llena

8 Realizado por: Ing. Mauricio Rivera8 Pilas Las pilas necesitan de sus elementos básicos para que sea una estructura dinámica, ya que cambia constantemente por la cabeza.

9 Realizado por: Ing. Mauricio Rivera9 Primero para comenzar a usar una pila debe estar Vacía por ende crear una pila vacía, una que no contenga elementos. Estas operaciones las comenzaremos llamando LimpiarPila, considerando también que debemos preguntar si ya hay un elemento que podamos sacar en la pila esto realizándolo con una operación booleana que llamaremos PilaVacia. Comienzo de una Pila

10 Realizado por: Ing. Mauricio Rivera10 Comienzo de una Pila Debemos de considerar también la operación PilaLlena. Con esto plasmamos una visión lógica de lo que queremos lograr, pero en un nivel oculto o encapsulado, ya que utilizaremos las operaciones de meter y sacar por los cuales entrarán los elementos a la pila.

11 Realizado por: Ing. Mauricio Rivera11 Paquete Pilas El paquete de pila se le conoce al tipo de datos abstracto pila 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 pila.

12 Realizado por: Ing. Mauricio Rivera12 Paquete Pila: Operaciones LimpiarPila (Pila) Función: Inicializa pila a un estado vacío Entrada: Pila a inicializar Precondiciones: Ninguna Salida: Pila (inicializada) Postcondiciones: Pila esta vacía. PilaVacía (Pila): Devuelve un valor Booleano Función: Indica si pila esta vacía Entrada: Pila a ser probada Precondiciones: Ninguna Salida: Pila Vacía (indicativo booleano) Postcondiciones: Pila vacía = (pila esta vacía)

13 Realizado por: Ing. Mauricio Rivera13 Paquete pila: Operaciones PilaLlena (Pila): Devuelve un valor Booleano Función: Indica si pila esta llena Entrada: Pila a ser probada Precondiciones: Ninguna Salida: Pila Llena (indicativo booleano) Postcondiciones: Pila llena = (pila esta llena) Push (Pila, Nuevo elemento) Función: Añade un nuevo elemento a la cabeza de la pila Entrada: Pila, nuevo elemento Precondiciones:Pila no esta llena Salida: Pila (cambiada) Postcondiciones: Pila = (pila original con nuevo elemento añadido a la cabeza)

14 Realizado por: Ing. Mauricio Rivera14 Paquete Pila: Operaciones Pop (Pila, ElemSacado) Función: Quita el elemento de la cabeza de pila y lo devuelve en ElemSacado. Entrada: Pila Precondiciones: Pila no esta vacía Salida: Pila (cambiada) ElemSacado Postcondiciones: Pila = pila original con elemento cabeza quitado. ElemSacado = elemento cabeza de pila original.

15 Realizado por: Ing. Mauricio Rivera15 Implementación de Pilas con arreglos Creación de un tipo de dato TipoPila Type TipoElemento = char; TipoPila = Record Elementos : Array[1..MaxPila] of TipoElemento; Cabeza : 0..MaxPila end;

16 Realizado por: Ing. Mauricio Rivera16 Implementación de Paquete de Pilas Procedure LimpiarPila (VAR Pila: TipoPila); Begin Pila.Cabeza: = 0; End; Function PilaVacia(Pila:TipoPila): Boolean; {Devuelve true si esta vacía} Begin PilaVacia : = Pila.Cabeza = 0; End;

17 Realizado por: Ing. Mauricio Rivera17 Implementación de paquetes de Pilas Function PilaLlena (Pila: TipoPila):boolean; {Devuelve true si pila esta llena} Begin PilaLlena: = Pila.Cabeza = MaxPila; End; Procedure push(VAR Pila : TipoPila; NuevoElemento: TipoElemento); Begin Pila.cabeza:=Pila.cabeza+1; pila.Elementos[pila.cabeza]:=NuevoElemento; End;

18 Realizado por: Ing. Mauricio Rivera18 Implementación de paquetes de Pila Procedure pop(VAR Pila: TipoPila;VAR extraido:TipoElemento); Begin extraido:=Pila.Elementos[Pila.cabeza]; Pila.Cabeza:=Pila.cabeza-1; End; {como función el pop } Function pop1(VAR Pila:TipoPila):TipoElemento; Var extraido:TipoElemento; Begin extraido:=Pila.Elementos[Pila.cabeza]; Pila.Cabeza:=Pila.cabeza-1; pop1:=extraido; End;

19 Realizado por: Ing. Mauricio Rivera19 Ejercicio con Pilas


Descargar ppt "Realizado por: Ing. Mauricio Rivera1 Universidad Central II-35 Estructuras de Datos Profesor: Ing. Mauricio Rivera"

Presentaciones similares


Anuncios Google