46.2 - Calculadora de costo de envío de paquetes, parte 2 — complicando (Lecciones JS — argumentos y return)
📘 Tarea: Parcel Delivery Calculator 2.0
Esta es la continuación de la tarea anterior. La arquitectura sigue siendo la misma — las mismas
4 funciones (3 calculadoras + 1 principal), las firmas de las funciones no cambian.
Solo cambia lo que ocurre dentro de las tres funciones calculadoras.
🧩 Condición principal
Modifica solo la lógica dentro de calculateWeightCost,
calculateDistanceCost y calculateUrgentSurcharge.
La función principal calculateTotalCost() — queda sin cambios.
💰 Nuevas tarifas (fijas en el código como constantes):
- 📦 Costo base (base fee) — 15 $ (sin cambios)
- ⚖️ Peso: si el paquete es más pesado que 10 kg — tarifa 2 $/kg (descuento para paquetes pesados),
si es 10 kg o menos — tarifa normal 3 $/kg
- 📏 Distancia: si el envío es más lejos que 15 km — tarifa 1.5 $/km (descuento para distancias largas),
si es 15 km o menos — tarifa normal 2 $/km
- 🚀 Recargo por urgencia: si es urgente y el monto es mayor a 60 $ — +15% (recargo un poco menor
para pedidos grandes); si es urgente y el monto es 60 $ o menos — +25%; si no es urgente — sin recargo