Calc/quick_start_readme.md

4.7 KiB

Calculadora MAV - CAS Híbrido

Sistema de Álgebra Computacional híbrido que combina SymPy con clases especializadas.

🚀 Inicio Rápido

Instalación Automática

python launcher.py --setup

Instalación Manual

pip install sympy matplotlib numpy
python launcher.py

En Linux (para tkinter)

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

# 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

# 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

plot(sin(x), (x, -2*pi, 2*pi))         # 📊 Ver Plot (clickeable)
Matrix([[1, 2], [3, 4]])                # 📋 Ver Matriz (clickeable)

🎯 Casos de Uso

Networking

# 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

# 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

# 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

# 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

# ✅ 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

# Tests básicos
python test_suite.py

# Tests con verbosidad
python test_suite.py --verbose

# Setup con tests
python launcher.py --test

🚀 Ejecutar

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