Este programa implementa uma calculadora que segue as regras da notação EBNF para avaliar expressões matemáticas simples. As regras EBNF definidas para a gramática da calculadora são:
<expr> ::= <term> ('+' <term>)*
<term> ::= <factor> ('' <factor>)
<factor> ::= <number> | '(' <expr> ')'
<number> ::= [0-9]+
A expressão de entrada é avaliada seguindo as seguintes etapas:
- Os dígitos que compõem o número são lidos um a um e concatenados para formar o número inteiro correspondente.
- Se a expressão contiver parênteses, a expressão dentro dos parênteses é avaliada primeiro.
- A expressão é avaliada seguindo a ordem de precedência dos operadores: primeiro as multiplicação e divisão e depois as adição e subtração.
- O resultado da expressão é retornado como um número de ponto flutuante.
A calculadora solicita ao usuário que insira uma expressão matemática para avaliar. A expressão pode conter os operadores de adição, subtração, multiplicação e divisão, além de parênteses para definir a precedência das operações. O usuário pode sair do programa a qualquer momento digitando "q" ou "Q" em vez de uma expressão matemática.
- Certifique-se de que o Python esteja instalado em seu computador.
- Faça o download do arquivo
calculadora.py
. - Abra um terminal ou prompt de comando e navegue até o diretório onde o arquivo
calculadora.py
está localizado. - Execute o arquivo
calculadora.py
digitandopython calculadora.py
. - Digite uma expressão matemática quando solicitado.
- Observe o resultado da expressão na saída do programa.
- Repita os passos 5-6 para avaliar outras expressões ou digite "q" ou "Q" para sair do programa.
Este projeto foi baseado nas seguintes referências: