Está en la página 1de 3

Programación Profesional

Desde CERO

TAD STACK Y QUEUE

CONTENIDO

Introducción .............................................................................................................................................2
Stack.........................................................................................................................................................2
Queue ......................................................................................................................................................2
Lo que se pide y debes entregar ...............................................................................................................3

Vladimir Rodríguez www.kaedusoft.edu.uy 2018 – Página 1


Programación Profesional
Desde CERO

INTRODUCCIÓN

"Hay dos formas de escribir programas sin errores; sólo la tercera funciona."
Alan J. Perlis

Es momento de practicar y ENTENDER esto de Pilas y Colas, que es, en esencia, muy simple, pero sin
entrenamiento no hay resultados. Vamos a ello.

STACK

Crear una clase llamada PilaEnteros, la cual debe permitir realizar las siguientes operaciones:
✓ CrearPilaEnteros: una función que retorne una pila de tipo PilaEnteros vacía.
✓ ApilarEntero: un procedimiento que reciba un entero insertándolo al inicio de la pila.
✓ PrimerEntero: una función que retorna el primer valor de una pila no vacía, pero no lo quita.
✓ DesapilarEntero: una función que, dada una pila no vacía, retorne el entero que está en el
tope y lo quite de ella.
✓ EsPilaEnterosVacía: una función que indique si la pila es vacía o no.
✓ ImprimirPila: un procedimiento que imprima en la salida estándar todos los valores
contenidos en una pila no vacía, en el orden en que están. La pila no debe ser modificada.

Una vez implementadas todas estas operaciones, crear una nueva clase llamada PilaEnterosAcotada,
que será un TAD idéntico al anterior, es decir, una pila de enteros, pero siendo esta una pila acotada, o sea,
con una cantidad máxima de elementos que puede contener. El TAD contendrá las siguientes operaciones:
✓ CrearPilaEnterosAcotada: una función que recibirá un valor mayor que cero (1 o más), el
cual indicará la cantidad máxima de elementos que la pila podrá contener. Si se pasa un valor
menor que 1 se asumirá que 1 es el valor recibido.
✓ ApilarEnteroAcotada: una función booleana que insertará el entero pasado como
argumento si la pila no está llena. Si lo está, no se hará nada. Retornará TRUE si el valor fue
insertado, FALSE si no.
✓ PrimerEnteroAcotada: Funciona igual que PrimerEntero.
✓ MaxPilaEnteroAcotada: Indica la cantidad máxima de elementos que la pila puede contener.
✓ ConteoPilaEnterosAcotada: Indica la cantidad de elementos que la pila posee.
✓ ReAcotarPila: Recibe un entero positivo para cambiar el tamaño máximo de la pila a un nuevo
valor. Si el entero pasado es menor que la cantidad de elementos que ya posee entonces la pila se
acotará a dicha cantidad. En caso contrario se cambiará su cota por el nuevo valor, y ahora la pila
podrá contener como máximo dicha cantidad de elementos.
✓ DesapilarEnteroAcotada: Ídem al ejercicio anterior.
✓ EsPilaEnterosAcotadaVacía: Ídem al ejercicio anterior.
✓ EsPilaEnterosAcotadaLlena: Indica si la pila ya llegó al máximo de elementos posibles.

QUEUE

Crear una nueva clase llamada ColaEnteros en la que crearás un nuevo Tipos Abstractos de Datos que
será justamente una cola de enteros, con las siguientes operaciones:

Vladimir Rodríguez www.kaedusoft.edu.uy 2018 – Página 2


Programación Profesional
Desde CERO
✓ CrearCola: Crea una cola de enteros vacía.
✓ Encolar: Recibe un entero y lo inserta al final de la cola.
✓ Desencolar: Retorna y quita de una cola no vacía el primer elemento en ella.
✓ Elemento: Retorna el primer entero de la cola no vacía, pero no lo quita de ella.
✓ EsColaVacia: Indica si la cola es vacía o no.
✓ DestruirCola: Elimina todos los elementos de una cola y la deja en null.
Si quieres, puedes implementar una cola acotada, tal como se te pide con la pila.

LO QUE SE PIDE Y DEBES ENTREGAR


En este caso particular no se te pide que entregues nada, ya que es tu responsabilidad como estudiante
cumplir con estas prácticas. Más adelante en el curso necesitarás este conocimiento para cumplir con el
proyecto siguiente, el cual sí tendrá obligatoriedad.

Vladimir Rodríguez www.kaedusoft.edu.uy 2018 – Página 3

También podría gustarte