46.3 - Calculadora de custo de entrega de encomenda, parte 3 — complicando (Aulas JS — argumentos e return)
📘 Tarefa: Parcel Delivery Calculator 3.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.
🧩 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:
- 📦 Custo base — 15 $ (sem alteração)
- ⚖️ Peso:
— até 20 kg inclusive — tarifa normal 3 $/kg
— mais de 20 kg, mas não mais de 50 kg — tarifa 1.5 $/kg (encomenda pesada)
— mais de 50 kg — tarifa 1 $/kg (muito pesada, grande volume)
- 📏 Distância:
— até 15 km inclusive — tarifa normal 2 $/km
— mais de 15 km, mas não mais de 40 km — tarifa 1.5 $/km (entrega de longa distância)
— mais de 40 km — tarifa 1 $/km (entrega de distância muito longa)
- 🚀 Adicional de urgência:
— não expressa — sem adicional
— expressa e valor de 60 $ ou menos — +25%
— expressa e valor maior que 60 $, mas não mais de 100 $ — +15%
— expressa e valor maior que 100 $ — +10%