Треки
/
JavaScript
JavaScript
/
Вправи
/
Купівля автомобіля
Купівля автомобіля

Купівля автомобіля

Навчальна вправа

Вступ

Порівняння

У JavaScript числа можна порівнювати за допомогою наведених нижче операторів відношення та рівності.

Порівняння Оператор
Більше ніж a > b
Більше або дорівнює a >= b
Менше ніж a < b
Менше або дорівнює a <= b
(Строга) рівність a === b
Не (строга) рівність a !== b

Результат порівняння завжди є булевим значенням (англ. Boolean): true або false.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

У JavaScript наведені вище оператори порівняння можна також використовувати для порівняння рядків тексту (англ. string). У такому разі застосовується словниковий (лексикографічний) порядок. Список точного порядку всіх символів можна знайти тут.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

Умовні конструкції

Щоб виконати код за певної умови, у JavaScript часто використовують умовну конструкцію if. Вона складається з ключового слова if, умови в круглих дужках і блоку коду у фігурних дужках. Блок коду виконається, лише якщо умова дорівнює true.

if (condition) {
  // code that is executed if "condition" is true
}

Її можна використовувати окремо або разом із ключовим словом else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Щоб додати ще одну умову до else, можна використати else if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

Вказівки

У цій вправі ми напишемо трохи коду, який допоможе нам підготуватися до купівлі транспортного засобу.

На нас чекають три завдання: визначити, чи потрібне посвідчення водія, допомогти обрати між двома транспортними засобами та оцінити прийнятну ціну вживаного транспортного засобу.

1. Визначте, чи потрібне посвідчення водія

Деякі види транспортних засобів вимагають посвідчення водія для керування ними. Вважайте, що лише види 'car' і 'truck' потребують посвідчення, а все інше можна керувати без нього.

Реалізуйте функцію needsLicense(kind), яка приймає вид транспортного засобу та повертає булеве значення (англ. Boolean), що вказує, чи потрібне посвідчення для цього виду транспортного засобу.

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. Оберіть між двома можливими транспортними засобами для купівлі

Ми оцінюємо доступні варіанти транспортних засобів. Нам вдається звузити вибір до двох варіантів, але потрібна допомога, щоб ухвалити остаточне рішення. Для цього реалізуйте функцію chooseVehicle(option1, option2), яка приймає два транспортні засоби як аргументи та повертає рішення, що містить варіант, який іде першим за словниковим порядком.

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. Обчисліть орієнтовну ціну вживаного транспортного засобу

Тепер, коли рішення ухвалено, хочеться переконатися, що в автосалоні нам дадуть справедливу ціну. Оскільки нас цікавить купівля вживаного транспортного засобу, ціна залежить від його віку. Для приблизної оцінки припустімо, що транспортний засіб віком до 3 років коштує 80% початкової ціни, яку мав новим. Якщо йому понад 10 років, він коштує 50%. Якщо транспортному засобу щонайменше 3 роки, але не більше 10 років, він коштує 70% початкової ціни.

Реалізуйте функцію calculateResellPrice(originalPrice, age), яка застосовує цю логіку за допомогою if, else if та else (є й інші способи, якщо хочеться потренуватися). Вона приймає початкову ціну та вік транспортного засобу як аргументи і повертає орієнтовну ціну в автосалоні.

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
JavaScript Exercism

Час розпочати Купівля автомобіля?

Зареєструйтеся на Exercism, щоб вивчати й опановувати JavaScript, а також 37 концепцій159 вправ та справжнє наставництво від людей, і все це безкоштовно.