Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Desde CERO
CONTENIDO
Introducción .............................................................................................................................................2
Stack.........................................................................................................................................................2
Queue ......................................................................................................................................................2
Lo que se pide y debes entregar ...............................................................................................................3
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: