You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# NumKit - Sistema de Métodos Numéricos
## 📱 Aplicación Android Completa
Aplicación de Android para cálculos numéricos que incluye:
- **Sistemas de Ecuaciones**: Gauss, Jacobi, Gauss-Seidel
- **Búsqueda de Raíces**: Bisección, Newton-Raphson (Analítica y Numérica), Búsqueda Directa
- **Interpolación**: Lagrange, Newton con diferencias divididas
- **Integración**: Regla de Simpson 1/3
## 🚀 Instalación Rápida
### Requisitos
- **Android Studio** (Arctic Fox o superior)
- **JDK 11** o superior
- **SDK de Android** (API 24 o superior)
### Pasos para Ejecutar
1. **Abrir el Proyecto**
```
File → Open → Seleccionar la carpeta GestionDeudas
```
2. **Sincronizar Gradle**
- Android Studio sincronizará automáticamente
- Si no sincroniza, haz clic en "Sync Project with Gradle Files"
3. **Configurar Gradle Wrapper** (Solo si es necesario)
```bash
# En Windows (PowerShell)
Invoke-WebRequest -Uri https://services.gradle.org/distributions/gradle-8.13-bin.zip -OutFile gradle.zip
Expand-Archive gradle.zip -DestinationPath .
Move-Item gradle-8.13/lib/plugins/gradle-wrapper-*.jar gradle/wrapper/gradle-wrapper.jar
# O simplemente ejecuta en Android Studio:
./gradlew wrapper
```
4. **Compilar el Proyecto**
```bash
./gradlew assembleDebug
```
5. **Ejecutar en Emulador o Dispositivo**
- Presiona el botón "Run" (▶️) en Android Studio
- O usa: `./gradlew installDebug`
## 📦 Estructura del Proyecto
```
app/
├── src/main/java/com/mathinterpol/app/
│ ├── data/ # Capa de datos
│ │ ├── local/ # Base de datos Room
│ │ └── repository/ # Repositorios
│ ├── domain/ # Lógica de negocio
│ │ └── math/ # Algoritmos numéricos
│ │ ├── equations/ # Sistemas de ecuaciones
│ │ ├── interpolation/ # Interpolación
│ │ └── rootfinding/ # Búsqueda de raíces
│ └── ui/ # Interfaz de usuario
│ ├── screens/ # Pantallas de la app
│ └── components/ # Componentes reutilizables
└── src/main/res/ # Recursos (layouts, strings, etc.)
```
## 🔧 Correcciones Realizadas
Se han corregido todos los errores de compilación:
### Sistemas de Ecuaciones
✅ `GaussSeidelScreen.kt` - Corregido uso de `IterativeMethodIteration`
✅ `JacobiScreen.kt` - Añadidos parámetros `finalErrors`
✅ `GaussScreen.kt` - Corregido parámetro `stage` en lugar de `stepIndex`
### Interpolación
✅ `LagrangeScreen.kt` - Corregido `interpolateAt` en lugar de `targetX`
✅ `NewtonInterpolationScreen.kt` - Corregido parámetro `index`
### Búsqueda de Raíces
✅ `BisectionScreen.kt` - Corregidos parámetros `c` y `fc`
✅ `NewtonAnalyticScreen.kt` - Eliminadas anotaciones duplicadas
✅ `NewtonNumericScreen.kt` - Corregidas referencias a clases
✅ `DirectSearchScreen.kt` - Corregidos contextos no-composable
### Historial
✅ `HistoryViewModel.kt` - Corregido uso de `String` para `methodType`
✅ `HistoryScreen.kt` - Corregido `createdAt` en lugar de `timestamp`
## 🎨 Características
- **Interfaz Material Design 3** con tema oscuro/claro
- **Persistencia local** usando Room Database
- **Historial de cálculos** con filtros por método
- **Pasos detallados** de cada algoritmo
- **Validación de entrada** en tiempo real
- **Exportación de resultados** (implementada en el código)
## 📱 Requisitos del Sistema
- **Android 7.0 (API 24)** o superior
- **Permisos**: Ninguno requerido
- **Espacio**: ~15 MB
## 🧪 Testing
Para ejecutar las pruebas:
```bash
# Pruebas unitarias
./gradlew test
# Pruebas de instrumentación
./gradlew connectedAndroidTest
```
## 📄 Licencia
Este proyecto es de código abierto y está disponible para uso educativo.
## 👨💻 Desarrollo
**Tecnologías Utilizadas:**
- Kotlin
- Jetpack Compose
- Room Database
- Coroutines
- Material Design 3
- exp4j (evaluación de expresiones matemáticas)
## 🐛 Solución de Problemas
### Error: "SDK location not found"
Crea el archivo `local.properties` con:
```properties
sdk.dir=C\:\\Users\\TU_USUARIO\\AppData\\Local\\Android\\Sdk
```
### Error: "Gradle sync failed"
1. File → Invalidate Caches / Restart
2. Elimina las carpetas `.gradle` y `.idea`
3. Vuelve a abrir el proyecto
### Error: "Unable to download Gradle distribution"
Descarga manualmente desde https://services.gradle.org/distributions/gradle-8.13-bin.zip
y extrae el jar del wrapper a `gradle/wrapper/gradle-wrapper.jar`
## 📞 Soporte
Para problemas o preguntas, revisa la documentación en `compilation_fixes_summary.md`
---
**¡Proyecto listo para entregar! ✅**
Última actualización: 2025-12-09
# MathInterpol