Calc/.doc/quick_start_readme.md

261 lines
6.2 KiB
Markdown

# Calculadora MAV - CAS Híbrido
## Estructura del Proyecto
```
📁 Calcv2/
├── main_calc.py # 🚀 Launcher principal
├── main_calc_app.py # 🖥️ Interfaz gráfica
├── main_evaluation.py # 🧮 Motor CAS
├── hybrid_base.py # 🏗️ Clase base
├── ip4_type.py # 🌐 Clase IP4
├── hex_type.py # 🔢 Clase Hex
├── bin_type.py # 🔢 Clase Bin
├── dec_type.py # 🔢 Clase Dec
├── chr_type.py # 🔤 Clase Chr
├── tl_bracket_parser.py # 📝 Parser sintaxis
└── tl_popup.py # 📊 Resultados clickeables
```
## Inicio Rápido
1. Instalar dependencias:
```bash
pip install sympy matplotlib numpy
```
2. Ejecutar la aplicación:
```bash
python main_calc.py
```
3. Ejemplos de uso:
```python
# Tipos especializados
Hex[FF] + 1
IP4[192.168.1.100/24].NetworkAddress[]
Bin[1010] * 2
# Matemáticas simbólicas
x + 2*y
diff(x**2 + sin(x), x)
integrate(x**2, x)
# Ecuaciones
x**2 + 2*x - 8 = 0
solve(x**2 + 2*x - 8, x)
```
## Características
- ✅ Motor algebraico completo (SymPy)
- ✅ Sintaxis simplificada con corchetes
- ✅ Detección automática de ecuaciones
- ✅ Resultados interactivos clickeables
- ✅ Tipos especializados (IP4, Hex, Bin, etc.)
- ✅ Variables SymPy puras
- ✅ Plotting integrado
## Comandos Útiles
- `python main_calc.py --help` - Muestra ayuda
- `python main_calc.py --test` - Ejecuta tests
- `python main_calc.py --setup` - Instala dependencias
- `python main_calc.py --debug` - Activa logging detallado
## 🚀 Inicio Rápido
### Instalación Automática
```bash
python launcher.py --setup
```
### Instalación Manual
```bash
pip install sympy matplotlib numpy
python launcher.py
```
### En Linux (para tkinter)
```bash
sudo apt-get install python3-tk
```
## ✨ Características Principales
- **🧮 Motor SymPy completo**: Cálculo simbólico avanzado
- **🔧 Sintaxis simplificada**: `IP4[192.168.1.1/24]` en lugar de `IP4("192.168.1.1/24")`
- **📐 Ecuaciones automáticas**: `x + 2 = 5` detectado automáticamente
- **📊 Resultados interactivos**: Plots y matrices clickeables
- **🌐 Clases especializadas**: IP4, Hex, Bin, Date, Dec, Chr
## 📝 Ejemplos Básicos
### Clases Especializadas
```python
# Redes
IP4[192.168.1.100/24].NetworkAddress[] # 192.168.1.0/24
IP4[10.0.0.1/8].Nodes() # 16777214 hosts
# Números
Hex[FF] + 1 # 0x100
Bin[1010] * 2 # 0b10100
# Caracteres
Chr[A] # 'A' (ASCII 65)
```
### Matemáticas Simbólicas
```python
# Variables automáticas
x + 2*y # Expresión simbólica
# Cálculo
diff(x**2 + sin(x), x) # 2*x + cos(x)
integrate(x**2, x) # x**3/3
# Ecuaciones (detección automática)
x**2 + 2*x - 8 = 0 # Agregada al sistema
solve(x**2 + 2*x - 8, x) # [-4, 2]
x=? # Atajo para solve(x)
```
### Plotting Interactivo
```python
plot(sin(x), (x, -2*pi, 2*pi)) # 📊 Ver Plot (clickeable)
Matrix([[1, 2], [3, 4]]) # 📋 Ver Matriz (clickeable)
```
## 🎯 Casos de Uso
### Networking
```python
# Análisis de red
network = IP4[192.168.0.0/24]
network.Nodes() # 254
network.BroadcastAddress[] # 192.168.0.255/24
# Cálculo con variables
base = IP4[10.0.x.0/24]
solve(base.Nodes() == 254, x) # Encuentra x
```
### Programación
```python
# Conversiones entre bases
Hex[255].toDecimal() # 255
Dec[66].toChr() # Chr('B')
# Análisis ASCII
Chr[Hello].value # [72, 101, 108, 108, 111]
```
### Matemáticas Avanzadas
```python
# Sistema de ecuaciones
x + y = 10
x - y = 2
solve([x + y - 10, x - y - 2], [x, y]) # {x: 6, y: 4}
# Análisis completo
f = sin(x) * exp(-x**2)
diff(f, x) # Derivada
integrate(f, (x, -oo, oo)) # Integral impropia
series(f, x, 0, 5) # Serie de Taylor
```
## 🖥️ Interfaz
### Paneles
- **Izquierda**: Editor de código con sintaxis nueva
- **Derecha**: Resultados coloreados e interactivos
### Menús
- **Archivo**: Nuevo, Cargar, Guardar
- **CAS**: Variables, Ecuaciones, Resolver sistema
- **Ayuda**: Guías y documentación completa
### Resultados Clickeables
- **📊 Ver Plot**: Abre ventana matplotlib
- **📋 Ver Matriz**: Vista expandida con operaciones
- **📋 Ver Lista**: Contenido completo de listas largas
## 🔧 Archivos del Proyecto
```
calculadora-mav-cas/
├── launcher.py # 🚀 Inicio principal
├── setup.py # 🛠️ Instalación
├── test_suite.py # 🧪 Tests
├── bracket_parser.py # 📝 Parser sintaxis
├── hybrid_base_types.py # 🏗️ Clases especializadas
├── hybrid_evaluation_engine.py # 🧮 Motor CAS
├── interactive_results.py # 📊 Resultados clickeables
├── hybrid_calc_app.py # 🖥️ Interfaz gráfica
└── requirements.txt # 📦 Dependencias
```
## 🆘 Resolución de Problemas
### Errores Comunes
```bash
# Dependencias faltantes
pip install sympy matplotlib numpy
# Linux: tkinter faltante
sudo apt-get install python3-tk
# Verificar instalación
python test_suite.py
```
### Sintaxis Correcta
```python
# ✅ Correcto (nueva sintaxis)
IP4[192.168.1.1/24]
Hex[FF]
# ❌ Incorrecto (sintaxis antigua)
IP4("192.168.1.1/24")
Hex("FF")
```
## 📚 Documentación Completa
Ver `comprehensive_documentation.md` para:
- Guía completa de sintaxis
- Casos de uso avanzados
- API de desarrollo
- Ejemplos detallados
## 🧪 Testing
```bash
# Tests básicos
python test_suite.py
# Tests con verbosidad
python test_suite.py --verbose
# Setup con tests
python launcher.py --test
```
## 🚀 Ejecutar
```bash
# Método recomendado
python launcher.py
# Sin splash screen
python launcher.py --no-splash
# Con verificación
python launcher.py --test
```
---
**¡Disfruta del poder del CAS híbrido!** 🎉
*Para soporte y documentación completa, consulta los archivos de documentación incluidos.*