47.2 - Калькулятор стоимости билетов на концерт, часть 2 — усложнение (JS уроки — аргументы и return)
📘 Задание: Concert Ticket Calculator 2.0
Это продолжение прошлого задания. Архитектура остаётся прежней — те же
5 функций, сигнатуры не меняются. Меняется только то, что происходит
внутри четырёх функций-калькуляторов.
🧩 Главное условие
Трогаем только логику внутри calculateSeatPrice,
calculateTicketsCost, calculateAgeDiscount и
calculateVipSurcharge. Главная функция calculateTotalPrice() —
без изменений.
💰 Новые тарифы (зашиты в код как константы):
- 🎫 Цена за место: если ряд больше 20 — цена считается как
150 - row * 2 (дальние ряды дешевеют медленнее);
если 20 или меньше — как раньше, 150 - row * 3
- 🎟️ Групповая скидка на билеты: если покупают больше 4 билетов —
дополнительная скидка 10% на всю партию; если 4 или меньше — без скидки
- 🎂 Скидка по возрасту теперь в 2 уровня для детей: младше 10 лет — скидка 30%;
от 10 до 17 лет — скидка 15%; 65 и старше — скидка 15%; иначе — без скидки
- ⭐ VIP-доплата: если сумма больше 300 $ — доплата 30 $ (для крупных заказов чуть меньше);
если 300 $ или меньше — доплата 50 $; без VIP — без доплаты