Está en la página 1de 3

A.

Trabajo sobre Pilas


1. Teniendo en cuenta que el vector (V) dibujado, corresponde al resultado del volcado de elementos
desde una Pila llamada P a dicho vector (de la lectura y carga de cada uno de los elementos de una
pila a un vector). Ambas estructuras de datos pueden almacenar hasta 10 elementos de tipo char y su
localidad base es 1. Se sabe además que el vector fue creado para dicho efecto. Asuma que tanto Tope
(P) guarda posición del elemento.
V= O I N E G S E
1 2 3 4 5 6 7 8 9 10
a. En el gráfico de abajo que representa a la pila. Se pide completar las posiciones que corresponden a cada
elemento en dicha pila, y luego ubicar convenientemente cada elemento en la posición almacenada. No
olvide demostrar los valores de las variables Numel (P) y Tope (P). (3 ptos)
P= O I N E G S E

P =[O] numel(P) = 1 tope(P) = 1


P =[OI] numel(P) = 2 tope(P) = 2
P =[OIN] numel(P) = 3 tope(P) = 3
P =[OINE] numel(P) = 4 tope(P) = 4
P =[OINEG] numel(P) = 5 tope(P) = 5
P =[OINEGS] numel(P) = 6 tope(P) = 6
P =[OINEGSE] numel(P) = 7 tope(P) = 7
b. Demuestre gráficamente como quedaría la cola anterior al eliminar dos elementos del mismo.
(2 ptos)
P =[OINEGSE] numel(P) = 7 tope(P) = 7 P= O I N E G
P =[OINEGS] numel(P) = 6 tope(P) = 6
P =[OINEG] numel(P) = 5 tope(P) = 5

c. ¿Cuál sería el resultado de Numel(C), y Tope (P) después de insertar los elementos M, J,
H y K. (3 ptos)
P =[OINEG] numel(P) = 5 tope(P) = 5
P =[OINEGM] numel(P) = 6 tope(P) = 6
P =[OINEGMJ] numel(P) = 7 tope(P) = 7
P =[OINEGMJH] numel(P) = 8 tope(P) = 8
P =[OINEGMJHK] numel(P) = 9 tope(P) = 9
d. Realizar el algoritmo en pseucódigo que realice el volcado de elementos válidos de la pila al vector.
(2 ptos)
INICIO
ENTERO pila[3], tope= 0, vec[4], c=1
FUNCION Apilar(ENTERO dato)
Si (NO (pila_llena()))) entonces
tope=tope+1
pila[tope]=dato
Sino
Imprimir “la pila está llena”
Fin si
Fin función
FUNCION ENTERO desapilar (CARACTER pila[])
ENTERO dato
Si (NO(pilaVacia())) entonces
dato=pila[tope]
tope=tope - 1
Sino
Imprimir “la pila está vacia”
dato=0
fin si
RETORNE dato
FIN FUNCION
FUNCION LOGICO pilaVacia()
RETORNE tope ==0
FIN FUNCION
FUNCION LOGICO pilaLLen()
RETORNE tope ==10
FIN FUNCION

pila.Apilar (8)
pila.Apilar(23)
pila.Apilar(3)
pila.Apilar(1)
Mientras (no (pilaVacia()))
VEC[C]= pila.Desapilar()
C++
FIN MIENTRAS
Imprimir “Datos de pila a vector”
FIN

B. Trabajo sobre Colas

1. Dada las siguientes proposiciones, para una cola lineal, responde con verdadero, falso, el
resultado de la operación o la excepción correspondiente. (5 ptos)

a. COLA_VACIA (CREAR_COLA ( ) ) = Verdadero


Cola[] Numel=0 Frente =0 Fondo=0
Numax=5

b. COLA_VACIA (INSERTAR ( M, COLA ) ) = Verdadero


Cola[] Numel=0 Frente =0 Fondo=0
Numax=5
Cola[M] Numel=1 Frente =1 Fondo=1
Numax=5
c. ELIMINAR (CREAR_COLA ( ) ) = Error
d. PRIMERO_COLA (CREAR_COLA ( ) ) = Error
e. PRIMERO_COLA (ELIMINAR ( M,COLA ) ) = Verdadero

2. Analiza los algoritmos de inserción y eliminación para para colas lineales, desarrollados en
clase y responde: (5 ptos)

a. ¿Qué excepción se controla al insertar un elemento en una cola?


Se controla el fondo y el numax
b. ¿Qué variables se utilizan para determinar si una cola está llena?
El frente y fondo
c. ¿Qué excepción se controla para eliminar el primer elemento de una la cola?
Se corrobora el frente
d. ¿Qué variables se utilizan para determinar si una cola está vacía?
Se verifica el frente, fondo y numel
e. ¿Puede darse desbordamiento en una cola lineal con celdas disponibles por baja lógica?
Si, puede darse, por ejemplo; una cola de 4 elementos, fondo apunta a 4, frente a 2 y numel 3, tiene
una celda disponible, pero fondo ya es igual a numax, entonces marca como cola llena

3. Sea COLA una cola lineal de 6 elementos. Inicialmente la cola está vacía (NUMEL = 0 FRENTE =
FONDO = 0). Grafique el estado de COLA e indique durante todas las operaciones siguientes el
valor de FRENTE, FONDO y NUMEL: (6 ptos)

a. Insertar los elementos AA, BB, CC


Cola[] Numel=0 Frente =0 Fondo=0
Numax=6
Cola[A] Numel=1 Frente =1 Fondo=1
Numax=6
Cola[AB] Numel=2 Frente =1 Fondo=2
Numax=6
Cola[ABC] Numel=3 Frente =1 Fondo=3
Numax=6
b. Insertar los elementos DD, EE, FF
Cola[ABC] Numel=3 Frente =1 Fondo=3
Numax=6
Cola[ABCD] Numel=4 Frente =1 Fondo=4
Numax=6
Cola[ABCDE] Numel=5 Frente =1 Fondo=5
Numax=6
Cola[ABCDEF] Numel=6 Frente =1 Fondo=6
Numax=6
c. Insertar el elemento GG
Error, cola llena
d. Eliminar un elemento de la cola. ¿Cuál fue el elemento eliminado?
Cola[ABCDEF] Numel=6 Frente =1 Fondo=6
Numax=6
Cola[ABCDEF] Numel=5 Frente =2 Fondo=6
Numax=6
El elemento eliminado fue A

e. Eliminar los elementos BB y CC


Cola[ABCDEF] Numel=5 Frente =2 Fondo=6
Numax=6
Cola[ABCDEF] Numel=4 Frente =3 Fondo=6
Numax=6
Cola[ABCDEF] Numel=3 Frente =4 Fondo=6
Numax=6
f. ¿Con cuántos elementos se quedó COLA?
Quedó con 3 elementos

También podría gustarte