# 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.*