Вивчай
Домашнє завдання #9 ·
балівbeginner

Калькулятор та визначення пори року

Час застосувати знання про змінні, типи даних та умовні конструкції. У цьому завданні ти створиш два міні-проєкти.


Частина 1: Калькулятор

Створи функцію calculate(a, operator, b) яка виконує арифметичні операції.

Вимоги

function calculate(a, operator, b) {
  // Твій код тут
}

// Приклади:
console.log(calculate(10, "+", 5));   // 15
console.log(calculate(10, "-", 3));   // 7
console.log(calculate(10, "*", 4));   // 40
console.log(calculate(10, "/", 2));   // 5
console.log(calculate(10, "/", 0));   // "Помилка: ділення на нуль"
console.log(calculate(10, "%", 3));   // 1
console.log(calculate(10, "^", 2));   // "Невідомий оператор"
  • Підтримка: +, -, *, /, %
  • Ділення на 0 повертає повідомлення про помилку
  • Невідомий оператор — повідомлення
  • Використай switch або if/else

Частина 2: Визначення пори року

Створи функцію getSeason(month) що повертає пору року.

Вимоги

function getSeason(month) {
  // Твій код тут
}

// Приклади:
console.log(getSeason(1));   // "зима"
console.log(getSeason(4));   // "весна"
console.log(getSeason(7));   // "літо"
console.log(getSeason(11));  // "осінь"
console.log(getSeason(13));  // "Некоректний місяць"
console.log(getSeason(-1));  // "Некоректний місяць"
  • 12 (зима), 1-2 (зима), 3-5 (весна), 6-8 (літо), 9-11 (осінь)
  • Некоректний ввід (< 1 або > 12) — повідомлення про помилку

Частина 3 (бонус): Розширений калькулятор

Додай до калькулятора:

  • Операцію ** (піднесення до степеня)
  • Функцію calculateChain(start, ...operations) що виконує серію операцій:
// calculateChain(10, ["+", 5], ["*", 2], ["-", 3])
// 10 + 5 = 15, 15 * 2 = 30, 30 - 3 = 27
// → 27

Критерії оцінки

КритерійБали
Калькулятор з усіма операторами30
Обробка помилок (ділення на 0, невідомий оператор)20
Визначення пори року30
Валідація вхідних даних20
Бонус: Розширений калькулятор+15