- Fundamentos de ProgramaçãoAlgoritmosAvaliação de Expressões
- Fundamentos de ProgramaçãoAlgoritmosConstrução de Algoritmos
- Fundamentos de ProgramaçãoEstruturas de DadosEstrutura de Dados: Pilha
- Fundamentos de ProgramaçãoLógica de Programação
A tabela abaixo mostra as operações para a manipulação de uma pilha.
|
PUSH |
Coloca um novo elemento no topo da pilha. |
|
POP |
Retira o elemento do topo da pilha. |
|
Operação unária |
Efetua a operação sobre o elemento do topo da pilha e substitui o elemento do topo pelo resultado. Operações disponíveis: DEC (subtrai o valor 1 do elemento). |
|
Operação binária |
Efetua a operação sobre os dois elementos no topo da pilha, retira os dois elementosdo topo da pilha e coloca o resultado da operação no topo da pilha. Operações disponíveis: ADD (adição, X + Y), SUB (subtração, X - Y), MPY (multiplicação, X * Y) e DIV (divisão, X / Y), onde Y é o elemento no topo da pilha e X o elemento abaixo de Y. |
Utilizando as definições acima, a seqüência de instruções a seguir foi implementada para avaliar o resultado de uma expressão, sendo A, B, C, D e E os operandos desta expressão. O resultado da avaliação é acumulado em F.
PUSH A
PUSH B
SUB
PUSH C
PUSH D
PUSH E
MPY
ADD
DEC
DIV
POP F
Com base no que foi exposto acima, se A, B, C, D e E apresentarem, respectivamente, os valores 9, 3, 2, 1 e 1, qual o valor armazenado em F após a execução da instrução POP F?