pilha
Turma J.Batel
Data de Entrega: 30/10
1. Mostre a situação da pilha P, inicialmente vazia, após a execução de cada uma das operações a seguir: (Competência: Compreender o desenvolvimento de algoritmos de pilha.)
R.
a. Push(P, a): a b
b. Push(P, b); a c b c
c. Push(P, c); a c b c
d. Push(P, Top(P)); a c c b b
e. Push (P, pop(P)); a a c b e
f. Pop(P); a c b
g. Push(P, e); a c b
h. Pop(P); a
2. Considerando a ilustração a seguir, mostre a seqüência de operações Push e Pop que devem ser realizadas sobre as pilhas X, Y e Z para que, partindo do estado inicial, possamos chegar ao estado final.
A
D
B
C
C A
D B X Y Z X Y Z
Estado Inicial Estado Final
R.
Push (Y, pop (X));
Push (Z, pop (X));
Push(Z, pop (Y));
Push (Z, pop (X));
Push (Z, pop (X)).
3. Esquematize a situação da pilha de controle do programa em cada momento durante a execução, para o programa a seguir:
Programa Principal Rotina B Rotina C Rotina D
1 imprima “A” 4 chame C 7 chame D 10 imprima “A*B”
2 chame B 5 chame D 8 imprima “C” 11 retorne
3 retorne 6 retorne 9 retorne
R. 8 5 5 5
3 3 3 3 3
4. Escreva um algoritmo que converta um número de decimal para binário utilizando a estrutura pilha.
R.
Algoritmo decimal_binario;
Utilizar pilha;
Variáveis
P: pilha; X,n: inteiro;
Inicio
Escreva (“Numero Inteiro Decimal Positivo: ”); Leia (n); Init (p); Repita X