{"id":19508608,"url":"https://github.com/danmadeira/calculadora-pascal","last_synced_at":"2026-02-28T23:03:35.359Z","repository":{"id":202124132,"uuid":"264318117","full_name":"danmadeira/calculadora-pascal","owner":"danmadeira","description":"Calculadora em Pascal","archived":false,"fork":false,"pushed_at":"2020-05-15T23:18:53.000Z","size":17,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T22:46:09.584Z","etag":null,"topics":["calc","calculadora","calculation","calculator"],"latest_commit_sha":null,"homepage":null,"language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danmadeira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-05-15T23:11:57.000Z","updated_at":"2020-05-25T22:28:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7769712-b8f4-4715-9298-2a1aacdf9231","html_url":"https://github.com/danmadeira/calculadora-pascal","commit_stats":null,"previous_names":["danmadeira/calculadora-pascal"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danmadeira/calculadora-pascal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcalculadora-pascal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcalculadora-pascal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcalculadora-pascal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcalculadora-pascal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danmadeira","download_url":"https://codeload.github.com/danmadeira/calculadora-pascal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcalculadora-pascal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29954583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calc","calculadora","calculation","calculator"],"created_at":"2024-11-10T23:08:20.244Z","updated_at":"2026-02-28T23:03:35.332Z","avatar_url":"https://github.com/danmadeira.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Calculadora em linha de entrada de comando\n\n### Descrição:\n\nUma 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.\n\nEste 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.\n\n### Operação do Programa:\n\nO 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.\n\nÉ 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.\n\nE 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.\n\nAlé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:\n\nC: este símbolo faz com que sejam ignorados todos os caracteres à esquerda deste ponto.\n\n\u0026lt;: 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.\n\nA calculadora possui também uma memória, que poderá ser utilizada da seguinte forma:\n\nM+: 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.\n\nM-: 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.\n\nMR:  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.\n\nMC: apaga  o valor contido na memória, armazenando lá o número zero.\n\nLembrando novamente que nenhuma letra precisará ser maiúscula.\n\nOs 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 \u0026lt;enter\u0026gt;, 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.\n\nNa 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.\n\nSe acontecer uma divisão por zero ou raiz de número negativo, um aviso de erro será retornado.\n\nLembre-se, sempre colocar o mesmo número de parêntesis abrindo e fechando, senão um aviso de erro será retornado.\n\nOs 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.\n\nE finalmente, para interromper a execução do programa, basta apertar a tecla \u0026lt;ESC\u0026gt;, a qualquer momento.\n\n### Referências:\n\n- Farrer, H. et al. Pascal estruturado. Rio de Janeiro. Guanabara Dois, 1985.\n\n- Gottfried, B.S. Programação em Pascal. Coleção Schaum. São Paulo. McGraw-Hill, 1988.\n\n- Schildt, H. Turbo Pascal Avançado. McGraw-Hill, 1989.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmadeira%2Fcalculadora-pascal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanmadeira%2Fcalculadora-pascal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmadeira%2Fcalculadora-pascal/lists"}