export interface Seccion {
  titulo: string;
  contenido: string;
}

export interface Ejercicio {
  id: string;
  titulo: string;
  tipo: 'calculadora' | 'simulador' | 'visualizacion' | 'tabla';
  descripcion: string;
  datos: Record<string, unknown>;
  solucion?: Record<string, unknown>;
}

export interface ModuloContenido {
  titulo: string;
  contenido: Seccion[];
  ejercicios: Ejercicio[];
}

export const ejercicios: ModuloContenido = {
  titulo: 'Ejercicios Prácticos - Teoría del Productor',
  contenido: [
    {
      titulo: 'Guía de Ejercicios',
      contenido: `Esta sección contiene ejercicios prácticos para aplicar los conceptos de:
- Funciones de producción
- Cálculo de costos
- Decisión óptima de producción
- Análisis de excedentes

Cada ejercicio incluye:
- Datos del problema
- Paso a paso para resolver
- Tablas interactivas
- Visualizaciones gráficas
- Respuestas y explicaciones`
    }
  ],
  ejercicios: [
    {
      id: 'ejercicio-1-costos',
      titulo: 'Ejercicio 1: Calculadora de Costos',
      tipo: 'tabla',
      descripcion: 'Completa la tabla de costos a partir de los costos fijos y variables. Identifica el costo total medio mínimo y el costo marginal.',
      datos: {
        instrucciones: 'Completa la tabla calculando CT, CFMe, CVMe, CMe y CMg',
        costoFijo: 200,
        datosTabla: [
          { Q: 0, CV: 0 },
          { Q: 1, CV: 50 },
          { Q: 2, CV: 90 },
          { Q: 3, CV: 120 },
          { Q: 4, CV: 160 },
          { Q: 5, CV: 220 },
          { Q: 6, CV: 300 },
          { Q: 7, CV: 400 },
          { Q: 8, CV: 520 }
        ],
        columnasSolucion: ['Q', 'CF', 'CV', 'CT', 'CFMe', 'CVMe', 'CMe', 'CMg']
      },
      solucion: {
        tablaCompleta: [
          { Q: 0, CF: 200, CV: 0, CT: 200, CFMe: '-', CVMe: '-', CMe: '-', CMg: '-' },
          { Q: 1, CF: 200, CV: 50, CT: 250, CFMe: 200.0, CVMe: 50.0, CMe: 250.0, CMg: 50 },
          { Q: 2, CF: 200, CV: 90, CT: 290, CFMe: 100.0, CVMe: 45.0, CMe: 145.0, CMg: 40 },
          { Q: 3, CF: 200, CV: 120, CT: 320, CFMe: 66.7, CVMe: 40.0, CMe: 106.7, CMg: 30 },
          { Q: 4, CF: 200, CV: 160, CT: 360, CFMe: 50.0, CVMe: 40.0, CMe: 90.0, CMg: 40 },
          { Q: 5, CF: 200, CV: 220, CT: 420, CFMe: 40.0, CVMe: 44.0, CMe: 84.0, CMg: 60 },
          { Q: 6, CF: 200, CV: 300, CT: 500, CFMe: 33.3, CVMe: 50.0, CMe: 83.3, CMg: 80 },
          { Q: 7, CF: 200, CV: 400, CT: 600, CFMe: 28.6, CVMe: 57.1, CMe: 85.7, CMg: 100 },
          { Q: 8, CF: 200, CV: 520, CT: 720, CFMe: 25.0, CVMe: 65.0, CMe: 90.0, CMg: 120 }
        ],
        respuestasClave: {
          cmeMinimo: { Q: 6, valor: 83.3 },
          cmgEnQ4: 40,
          cmgEnQ6: 80,
          observacion: 'CMe es mínimo cuando CMg pasa de ser menor a mayor que CMe'
        },
        pasos: [
          'Paso 1: CT = CF + CV (CF siempre es 200)',
          'Paso 2: CFMe = CF/Q',
          'Paso 3: CVMe = CV/Q',
          'Paso 4: CMe = CT/Q (o CFMe + CVMe)',
          'Paso 5: CMg = ΔCT/ΔQ = CT(Q) - CT(Q-1)'
        ]
      }
    },
    {
      id: 'ejercicio-2-produccion-optima',
      titulo: 'Ejercicio 2: Simulador de Decisión de Producción',
      tipo: 'simulador',
      descripcion: 'Determina la cantidad óptima de producción dado un precio de mercado y decide si la empresa debe producir, cerrar temporalmente o salir del mercado.',
      datos: {
        escenario: {
          nombre: 'Panadería El Trigo de Oro',
          precioMercado: 70,
          costoFijo: 200,
          funcionCostos: [
            { Q: 0, CT: 200 },
            { Q: 1, CT: 250 },
            { Q: 2, CT: 290 },
            { Q: 3, CT: 320 },
            { Q: 4, CT: 360 },
            { Q: 5, CT: 420 },
            { Q: 6, CT: 500 },
            { Q: 7, CT: 600 },
            { Q: 8, CT: 720 }
          ]
        },
        preguntas: [
          '¿Cuál es la cantidad óptima de producción (Q*)?',
          '¿Cuál es el beneficio máximo?',
          '¿Debe producir la empresa o cerrar temporalmente?',
          '¿Qué sucedería si el precio baja a $40?'
        ],
        opcionesPrecio: [40, 50, 60, 70, 80, 90]
      },
      solucion: {
        qOptima: 6,
        beneficioMaximo: -80,
        decision: 'Producir con pérdidas (menor que CF)',
        razonamiento: 'P ($70) > CVMe en Q=6 ($50), por lo que cubre costos variables. La pérdida de $80 es menor que CF ($200).',
        analisisPorPrecio: {
          '40': { qOptima: 3, beneficio: -200, decision: 'Indiferente (P = CVMe mínimo)', detalle: 'Pérdida = CF. Puede producir o cerrar.' },
          '50': { qOptima: 4, beneficio: -160, decision: 'Producir con pérdidas', detalle: 'P > CVMe, pérdida ($160) < CF ($200)' },
          '60': { qOptima: 5, beneficio: -120, decision: 'Producir con pérdidas', detalle: 'P > CVMe, pérdida ($120) < CF ($200)' },
          '70': { qOptima: 6, beneficio: -80, decision: 'Producir con pérdidas', detalle: 'P > CVMe, pérdida ($80) < CF ($200)' },
          '80': { qOptima: 6, beneficio: -20, decision: 'Producir con pérdidas', detalle: 'P > CVMe, pérdida ($20) < CF ($200)' },
          '90': { qOptima: 7, beneficio: 30, decision: 'Producir con beneficios', detalle: 'P > CMe, beneficio económico positivo' }
        },
        reglaDecision: {
          paso1: 'Encontrar Q donde P = CMg (o aproximadamente igual)',
          paso2: 'Calcular CVMe en esa Q',
          paso3: 'Si P >= CVMe: Producir. Si P < CVMe: Cerrar',
          paso4: 'Calcular beneficio: π = IT - CT = (P × Q) - CT'
        }
      }
    },
    {
      id: 'ejercicio-3-excedentes',
      titulo: 'Ejercicio 3: Visualización de Excedentes',
      tipo: 'visualizacion',
      descripcion: 'Calcula y visualiza el excedente del productor bajo diferentes escenarios de precio. Comprende la relación entre excedente, costos variables y beneficios.',
      datos: {
        escenario: {
          curvaCMg: [
            { Q: 0, CMg: 0 },
            { Q: 1, CMg: 10 },
            { Q: 2, CMg: 15 },
            { Q: 3, CMg: 20 },
            { Q: 4, CMg: 25 },
            { Q: 5, CMg: 35 },
            { Q: 6, CMg: 50 },
            { Q: 7, CMg: 70 },
            { Q: 8, CMg: 95 }
          ],
          costoFijo: 100,
          precioEjemplo: 50
        },
        tareas: [
          'Calcular el excedente del productor a P = $50',
          'Calcular el costo variable total',
          'Calcular el beneficio económico',
          'Visualizar las áreas correspondientes en el gráfico'
        ],
        escenariosAdicionales: [
          { precio: 25, descripcion: 'Punto de cierre' },
          { precio: 50, descripcion: 'Producción con pérdidas' },
          { precio: 70, descripcion: 'Beneficio positivo' }
        ]
      },
      solucion: {
        escenarioPrincipal: {
          precio: 50,
          qOptima: 6,
          calculoExcedente: [
            { unidad: 1, precio: 50, cmg: 10, excedente: 40 },
            { unidad: 2, precio: 50, cmg: 15, excedente: 35 },
            { unidad: 3, precio: 50, cmg: 20, excedente: 30 },
            { unidad: 4, precio: 50, cmg: 25, excedente: 25 },
            { unidad: 5, precio: 50, cmg: 35, excedente: 15 },
            { unidad: 6, precio: 50, cmg: 50, excedente: 0 }
          ],
          excedenteTotal: 145,
          ingresoTotal: 300,
          costoVariable: 155,
          costoTotal: 255,
          beneficio: 45
        },
        formulaVerificacion: {
          metodo1: 'EP = IT - CV = 300 - 155 = 145',
          metodo2: 'EP = Suma de excedentes = 40+35+30+25+15+0 = 145',
          metodo3: 'π = EP - CF = 145 - 100 = 45 (Beneficio)'
        },
        interpretacionAreas: {
          areaTotal: 'Rectángulo P × Q = 50 × 6 = 300 (IT)',
          areaCV: 'Área bajo CMg = 155 (CV)',
          areaEP: 'Área entre P y CMg = 145 (EP)',
          areaBeneficio: 'EP - CF = 145 - 100 = 45 (π)'
        },
        comparacionEscenarios: {
          '25': {
            qOptima: 4,
            excedente: 25,
            beneficio: -75,
            observacion: 'P = CVMe mínimo. EP mínimo positivo, pero π negativo. Indiferente entre producir o cerrar.'
          },
          '50': {
            qOptima: 6,
            excedente: 145,
            beneficio: 45,
            observacion: 'P > CVMe. EP cubre CF parcialmente, quedando beneficio positivo.'
          },
          '70': {
            qOptima: 7,
            excedente: 265,
            beneficio: 165,
            observacion: 'P >> CMe. EP cubre completamente CF y genera beneficio económico significativo.'
          }
        },
        graficoConceptual: `
**Gráfico Conceptual del Excedente del Productor**

El excedente del productor se representa como el área triangular entre el precio de mercado y la curva de costo marginal.

| Elemento | Descripción |
|----------|-------------|
| Eje vertical | Precio ($) |
| Eje horizontal | Cantidad (Q) |
| Línea P = 50 | Precio de mercado horizontal |
| Curva CMg | Costo marginal creciente |
| Área EP | Excedente del productor (entre P y CMg) |
| Punto óptimo (Q=6) | Donde P = CMg |

**Descripción del gráfico:**
- A precio P = $50, la empresa produce Q = 6 unidades
- La curva CMg representa el costo de cada unidad adicional
- El área sombreada entre P = $50 y la curva CMg representa el excedente del productor
- Este excedente es la ganancia total sobre el costo variable de producción

Área sombreada = Excedente del Productor
Área bajo CMg = Costo Variable`
      }
    }
  ]
};

export default ejercicios;
