46.3 - Calculadora de costo de envío de paquetes, parte 3 — complicando (Lecciones JS — argumentos y return)
📘 Tarea: Parcel Delivery Calculator 3.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.
🧩 Condición principal
Modifica solo la lógica dentro de calculateWeightCost,
calculateDistanceCost y calculateUrgentSurcharge.
La función principal calculateTotalCost() — queda sin cambios.
💰 Nuevas tarifas:
- 📦 Costo base — 15 $ (sin cambios)
- ⚖️ Peso:
— hasta 20 kg inclusive — tarifa normal 3 $/kg
— más de 20 kg, pero no más de 50 kg — tarifa 1.5 $/kg (paquete pesado)
— más de 50 kg — tarifa 1 $/kg (muy pesado, gran volumen)
- 📏 Distancia:
— hasta 15 km inclusive — tarifa normal 2 $/km
— más de 15 km, pero no más de 40 km — tarifa 1.5 $/km (envío de larga distancia)
— más de 40 km — tarifa 1 $/km (envío de distancia muy larga)
- 🚀 Recargo por urgencia:
— no urgente — sin recargo
— urgente y monto de 60 $ o menos — +25%
— urgente y monto mayor a 60 $, pero no más de 100 $ — +15%
— urgente y monto mayor a 100 $ — +10%