46.2 - Калькулятор стоимости доставки посылки, часть 2 — усложнение (JS уроки — аргументы и return)
📘 Задание: Parcel Delivery Calculator 2.0
Это продолжение прошлого задания. Архитектура остаётся прежней — те же
4 функции (3 калькулятора + 1 главная), сигнатуры функций не меняются.
Меняется только то, что происходит внутри трёх функций-калькуляторов.
🧩 Главное условие
Трогаем только логику внутри calculateWeightCost,
calculateDistanceCost и calculateUrgentSurcharge.
Главная функция calculateTotalCost() — без изменений.
💰 Новые тарифы (зашиты в код как константы):
- ⚖️ Вес: если посылка тяжелее 10 кг — ставка 2 $/кг (скидка для тяжёлых),
если 10 кг или меньше — обычная ставка 3 $/кг
- 📏 Расстояние: если доставка дальше 15 км — ставка 1.5 $/км (скидка для дальних),
если 15 км или меньше — обычная ставка 2 $/км
- 🚀 Наценка за срочность: если срочно и сумма больше 60 $ — +15% (для крупных заказов
наценка чуть меньше); если срочно и сумма 60 $ или меньше — +25%; не срочно — без наценки