Uma calculadora científica desenvolvida com HTML, CSS e JavaScript
puro, utilizando arquitetura modular, parser matemático próprio (sem
eval) e interface moderna estilo aplicativo.
Projeto construído com foco em:
- 🧠 Engine matemática real
- 🏗 Arquitetura escalável
- 🎨 UI moderna e minimalista
- 📱 Progressive Web App (PWA)
- 💾 Persistência com LocalStorage
- Operações básicas:
+ - * / - Parênteses
( ) - Potência
xʸ - Fatorial
x! - Raiz quadrada
√ - Logaritmo base 10
log - Logaritmo natural
ln - Funções trigonométricas:
sin,cos,tan - Constantes:
πee - Alternância entre
DEGeRAD
js/
│
├── main.js
│
├── core/
│ ├── engine.js
│ ├── tokenizer.js
│ ├── parser.js
│ └── evaluator.js
│
└── ui/
├── controller.js
└── state.js
- Tokenização personalizada
- Conversão para notação pós-fixa (Shunting Yard)
- Avaliação via pilha
- Sem uso de
eval() - Tratamento de erros (divisão por zero, raiz negativa, etc.)
- Design moderno e minimalista
- Bordas suaves (24px)
- Sombras profundas e realistas
- Gradiente sutil no display
- Microinterações (efeito scale ao clicar)
- Tema claro / escuro
- Layout responsivo (mobile-friendly)
- Sistema de memória:
M+,M-,MR - Persistência de tema, modo e memória
- Suporte ao teclado físico
- Histórico do cálculo atual
- Animação ao atualizar resultado
- Instalável como aplicativo
- Funciona offline
- Manifest configurado
- Service Worker registrado
- HTML5
- CSS3 (Grid Layout)
- JavaScript ES6+
- ES Modules
- LocalStorage API
- Service Worker API
git clone https://github.com/Rodrigodvb/calculadora-cientifica.git
cd calculadora-cientificaAbra o arquivo:
index.html
Ou utilize um servidor local:
npx serveDemonstrar domínio de JavaScript sem frameworks, implementar um parser matemático real e aplicar arquitetura modular escalável com uma UI de nível profissional.
MIT License