.. -- coding: utf-8 -- .. Copyright (C) Coelho e Hitoshi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with Invariant Sections being Forward, Prefaces, and Contributor List, no Front-Cover Texts, and no Back-Cover Texts. .. shortname:: EP8 .. description:: calculadora parte C Exercício Programa 8: Calculadora - Parte C =========================================== O objetivo desse EP é possibilitar o treino dos conceitos vistos nas últimas aulas como `Programação Orientada a Objetos `__ e `Tipos Abstratos de Dados `__ e em especial `pilhas `__ e `dicionarios `__. Veja também as `notas de aula `__ além da seção `Infix, Prefix and Postfix Expression `__ do livro `Problem Solving with Algorithms and Data Structures Using Python `__. Introdução ---------- As seguintes leituras podem contribuir para resolver esse EP. . `O que é notação polonesa? `__ . `Como resolver uma expressão em notação posfixa? `__ **Parte C:** entrega até 14/10 ------------------------------ Na parte C, vamos utilizar as funções desenvolvidas nas partes anteriores para desenvolver uma calculadora que aceita expressões em notação polonesa. Você deve escrever a classe ``Calculadora`` do módulo ``calculadora.py`` (a partir do esqueleto no arquivo ``esqueleto_calculadora.py``) e depositar **apenas** o módulo ``calculadora.py`` na página da disciplina. O que você deve fazer --------------------- . Primeiro, estude esses `exemplos `__, que mostram a execução do programa completo (= função ``main()`` do módulo ``main.py``). Em particular, observe cada bloco que tem inicio em uma linha contendo ``calc >>>``, onde o usuário digita um comando ou expressão em notação polonesa, e o que a calculadora faz em cada caso. Procure responder as seguintes perguntas: . O que os comandos ``ver``, ``dic``, e ``fim`` fazem? . Como escrever uma expressão em notação polonesa na calculadora? . Quais são e como funcionam os operadores binários? . Quais são e como funcionam os operadores unários? . Como usar variáveis e o operador de atribuição? . Utilize esses `arquivos `__, conforme as instruções. . Siga esse `roteiro `__ para desenvolver a sua solução.