SóProvas


ID
1178041
Banca
CESGRANRIO
Órgão
Banco da Amazônia
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere uma máquina baseada em pilha com as seguintes operações:

• Push (n): empilha um valor n
• Pop (n): desempilha um valor colocando-o em n
• Sum(): é o mesmo que a sequência
         Pop(a)
         Pop(b)
         Push(a+b)
• Sub(): é o mesmo que a sequência
        Pop(a)
         Pop(b)
        Push(a – b)
• Mul(): é o mesmo que a sequência
        Pop(a)
         Pop(b)
        Push(a x b)
• Div(): é o mesmo que a sequência
        Pop(a)
        Pop(b)
        Push(a ÷ b)

A sequência de operações
         Push(3)
         Push(7)
         Sum()
         Push(2)
         Push(8)
         Push(3)
         Push(2)
         Sub()
         Mul()
         Sum()
         Div()
         Push(7)
         Push(6)
         Sub()
         Div()

deixará, no topo da pilha, o resultado do cálculo da expressão

Alternativas
Comentários
  • Olá a todos.

    Minhas manipulações deram valores invertidos aos da resposta. Vou citar os últimos dois valores para exemplificar: Push 7, Push 6 na minha visão resultaria em:
    6 (topo da pilha)
    7
    (resto da pilha para baixo)
    A operação seguinte Sub() resultaria em:
    Pop(a)=6; Pop(b)=7; Push(a-b)= 6 - 7 e não '7-6' como o gabarito indica. Outras operações em que a ordem dos número é importante tb deram invertidas. Alguém poderia confirmar onde errei ou onde a banca errou?
    Obrigado.
  • Tive o mesmo problema que você Jeaf. Comecei a trabalhar com números negativos e percebi que tinha algo errado.

  • Força Guerreiro!!!!!!