MC 404 - 2010s2

Atividade 3 Obrigatória

Calculadora de Pilha utilizando RPN (Reverse Polish Notation)

Implementar uma calculadora de pilha (RPN) para realizar as quatro operações aritméticas..

Veja maiores informações sobre RPN: http://en.wikipedia.org/wiki/Reverse_Polish_notation#Example

A calculadora de pilha usa a notação pós-fixada, em que os operandos são carregados via operações de PUSH antes da definição da operação.  Na implementação deste exercício, a tecla Enter fará o papel de PUSH. Ao pressionar qualquer botão de operação, a calculadora faz internamente um POP das duas primeiras posições da pilha, executa a operação e faz um PUSH do resultado. O display é também o topo da pilha.

Veja exemplo e maiores informações RPN: http://en.wikipedia.org/wiki/Reverse_Polish_notation#Example

A implementação deve operar de forma semelhante à calculadora HP-12C (ver emulação em http://epx.com.br/ctb/hp12c.php)

 Requisitos da implementação (recomenda-se utilizar o código utilizado na atividade 2, onde aplicável)

  • Dispositivo de entrada: teclado (keypad) do Hapsim com a disposição de botões mostrado na figura
  • Dispositivo de saída: LCD (mostrar operandos e resultados em ASCII)
  • Operações implementadas (inteiros): soma, subtração, multiplicação, divisão. clear
  • Número máximo de dígitos dos operandos: 3
  • Número de dígitos do resultado: 6 dígitos (exceto divisão)
  • Número de dígitos do resultado da divisão: 3 dígitos para a parte inteira e 2 dígitos para a parte fracionária
  • Identificar as possíveis condições erro e criar notificações adequadas

calc..JPG (26816 bytes)