PS 3.36 - La Granja

Analiza la producción anual de 5 productos de una granja.

📝 Descripción del Problema

Se lleva el registro de kilogramos producidos y precio por kg de 5 productos (tomates, lechuga, acelgas, zanahorias y chícharos) durante 12 meses.

Datos: 10 arreglos de 12 elementos cada uno (TOMi, PTOMi, LECi, PLECi, ...)

Se debe calcular:

  • a) ¿Producto que más kilogramos rindió al final del año?
  • b) ¿Producción total (kg y dinero) de cada producto?
  • c) ¿Producto que más dinero produjo al final del año?
  • d) ¿Importe mensual total pagado a la granja?

💡 Pistas y Fórmulas Clave

  • La clase principal debe llamarse AnalizadorGranja.java.
  • Esta clase es compleja y debe recibir 10 arreglos en su constructor.
  • Crea métodos auxiliares como sumarArreglo(double[] arr) y calcularIngresoTotal(double[] kilos, double[] precios) para reutilizar código.
  • Para los incisos (a) y (c), usa un Map<String, Double> para guardar los totales de cada producto y luego encontrar el máximo.
  • Para el inciso (b), puedes devolver un Map<String, Map<String, Double>> para un resultado estructurado.
  • Para el inciso (d), necesitas un bucle de 1 a 12 (índices 0 a 11) y sumar el kg[i] * precio[i] de los 5 productos en cada iteración.

📊 Diagrama de Flujo (Inciso A)

Diagrama de flujo para PS 3.36 - Inciso A

▶️ Prueba y Resultados

Resultado de ejecutar --select-class TestAnalizadorGranja en la terminal.

PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestAnalizadorGranja

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

.
+-- JUnit Jupiter [OK]
| '-- TestAnalizadorGranja [OK]
|   +-- testIncisoD_ImportesMensuales() [OK]
|   +-- testIncisoB_TotalesProduccion() [OK]
|   +-- testIncisoC_ProductoMasDinero() [OK]
|   '-- testIncisoA_ProductoMasKilos() [OK]
'-- JUnit Platform Suite [OK]

Test run finished after 112 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         4 tests found           ]
[         0 tests skipped         ]
[         4 tests started         ]
[         0 tests aborted         ]
[         4 tests successful      ]
[         0 tests failed          ]
← Volver al Inicio