https://github.com/danmadeira/calculadora-pascal
Calculadora em Pascal
https://github.com/danmadeira/calculadora-pascal
calc calculadora calculation calculator
Last synced: 4 months ago
JSON representation
Calculadora em Pascal
- Host: GitHub
- URL: https://github.com/danmadeira/calculadora-pascal
- Owner: danmadeira
- Created: 2020-05-15T23:11:57.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-15T23:18:53.000Z (about 6 years ago)
- Last Synced: 2025-02-25T22:46:09.584Z (over 1 year ago)
- Topics: calc, calculadora, calculation, calculator
- Language: Pascal
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Calculadora em linha de entrada de comando
### Descrição:
Uma calculadora que implementa funções aritméticas simples e também as funções SQRT, E^x, M+, M-, MC e MR. Aceita parênteses e números em notação científica. O programa implementa uma calculadora que efetua expressões matemáticas simples.
Este foi um trabalho de conclusão da disciplina MC101 (Laboratório de Introdução à Programação) que abordava desenvolvimento e implementação de programas com a linguagem Pascal.
### Operação do Programa:
O usuário deve fornecer uma expressão matemática, podendo usar os quatro operadores básicos como "+" (soma),"-" (subtração),"*" (multiplicação),e "/" (divisão), poderá usar também os cálculos de raiz quadrada e função exponencial de base "e", usando SQRT x (para raiz quadrada de x) e E^x (para a constante e elevada a potência x). Não é necessário digitar letras maiúsculas, já que o programa interpreta as duas situações possíveis.
É possível usar também os parêntesis, "(" e ")", em até seis níveis de aninhamento. Caso o nível seja ultrapassado, um aviso de erro será apresentado. Também será necessário, antes de abrir um parêntesis ou depois que fechar, colocar um dos quatro operadores básicos.
E no final, para efetuar os cálculos, será necessário digitar "=" (igual), e então a expressão matemática será resolvida, aparecendo o resultado na saída. Caso a expressão tenha algum erro de sintaxe, será retornado um aviso e a posição em que ocorreu o erro. Se não houver nenhuma expressão para ser efetuada será retornado um aviso de erro.
Além das teclas válidas para o cálculo da expressão, poderá ser digitados os seguintes símbolos sobre a linha de entrada de dados da calculadora:
C: este símbolo faz com que sejam ignorados todos os caracteres à esquerda deste ponto.
<: este símbolo faz com que seja ignorado apenas o primeiro caractere à esquerda deste ponto, se não houver nenhum caractere à esquerda será retornado uma mensagem de erro.
A calculadora possui também uma memória, que poderá ser utilizada da seguinte forma:
M+: soma o resultado da expressão à esquerda do símbolo ao conteúdo atual da memória. Caso não haja nenhuma expressão, um aviso de erro será apresentado.
M-: subtrai o resultado da expressão à esquerda do símbolo ao conteúdo atual da memória. Caso não haja nenhuma expressão, um aviso de erro será apresentado.
MR: mostra na saída o valor atual contido na memória. Caso possua alguma expressão digitada na entrada, o valor contido na memória será colocado junto na expressão, para poder ser utilizado em alguma operação.
MC: apaga o valor contido na memória, armazenando lá o número zero.
Lembrando novamente que nenhuma letra precisará ser maiúscula.
Os espaços em branco digitados na entrada serão ignorados, como também qualquer caractere que não seja válido. Caso o usuário tecle <enter>, o cursor será posicionado no início da próxima linha, mantendo a leitura dos dados da entrada atual. A calculadora possui também prioridades nas operações, onde "*" e "/" tem prioridade sobre "+" e "-", caso as prioridades sejam iguais , a operação mais à esquerda é efetuada primeiro.
Na divisão e na função exponencial caso o divisor e a potência forem negativos será necessário isolá-los com parêntesis. Se, após a divisão, vier um sinal de menos, será necessário isolar a divisão com parêntesis.
Se acontecer uma divisão por zero ou raiz de número negativo, um aviso de erro será retornado.
Lembre-se, sempre colocar o mesmo número de parêntesis abrindo e fechando, senão um aviso de erro será retornado.
Os números digitados na entrada poderão estar em notação científica (ex: 3E2 = 300 ; 2.1E-1 = 0.21), e a vírgula dos números decimais deverá ser um ponto. Os valores apresentados nas saídas são mostrados na forma de número decimal, com três casas após a vírgula.
E finalmente, para interromper a execução do programa, basta apertar a tecla <ESC>, a qualquer momento.
### Referências:
- Farrer, H. et al. Pascal estruturado. Rio de Janeiro. Guanabara Dois, 1985.
- Gottfried, B.S. Programação em Pascal. Coleção Schaum. São Paulo. McGraw-Hill, 1988.
- Schildt, H. Turbo Pascal Avançado. McGraw-Hill, 1989.