46.2 - Calculadora de custo de entrega de encomenda, parte 2 — complicando (Aulas JS — argumentos e return)
📘 Tarefa: Parcel Delivery Calculator 2.0
Esta é a continuação da tarefa anterior. A arquitetura continua a mesma — as mesmas
4 funções (3 calculadoras + 1 principal), as assinaturas das funções não mudam.
Muda apenas o que acontece dentro das três funções calculadoras.
🧩 Condição principal
Mexa apenas na lógica dentro de calculateWeightCost,
calculateDistanceCost e calculateUrgentSurcharge.
A função principal calculateTotalCost() — permanece sem alterações.
💰 Novas tarifas (fixas no código como constantes):
- 📦 Custo base (base fee) — 15 $ (sem alteração)
- ⚖️ Peso: se a encomenda for mais pesada que 10 kg — tarifa 2 $/kg (desconto para encomendas pesadas),
se 10 kg ou menos — tarifa normal 3 $/kg
- 📏 Distância: se a entrega for mais longe que 15 km — tarifa 1.5 $/km (desconto para distâncias longas),
se 15 km ou menos — tarifa normal 2 $/km
- 🚀 Adicional de urgência: se for expressa e o valor for maior que 60 $ — +15% (adicional um pouco menor
para pedidos grandes); se for expressa e o valor for 60 $ ou menos — +25%; não sendo expressa — sem adicional