Глава 7 з 27

Безкоштовно

2: Алфавіт і словник програмування

⏱️ 60-75 хвилин
📊 intermediate

Закріпи розділ — картки

Розділ 7: умови — картки

Інтервальне повторення для цього розділу

Увійдіть, щоб займатися

Увійдіть, щоб займатися

Розділ 7: "Умови: роздоріжжя на дорозі"

Наступного дня Професор Біт запросив Алісу на прогулянку. Вони йшли парком, коли доріжка раптом розділилась на дві.

— Дивись, Алісо, — сказав Професор, зупиняючись на роздоріжжі. — Куди нам піти далі — ліворуч чи праворуч?

— Не знаю, — знизала плечима Аліса. — А що там далі?

— Якщо підемо ліворуч, прийдемо до озера, а якщо праворуч — до дитячого майданчика, — пояснив Професор.

— Тоді давайте до дитячого майданчика! — вирішила Аліса.

— Відмінно! — посміхнувся Професор. — Ти щойно використала умову, щоб прийняти рішення. У програмуванні умови працюють так само — вони дозволяють програмі обирати різні шляхи залежно від обставин.

Байт, що котився поряд із ними, видав звуковий сигнал:
— У програмуванні це записується за допомогою конструкції if-else:

python
if напрямок == "праворуч":
йтидодитячого_майданчика()
else:
йтидоозера()

Роздоріжжя в парку: if-else — ліворуч до озера, праворуч до майданчика

— Тобто, — задумалась Аліса, — комп'ютер перевіряє, чи виконується умова, і залежно від цього виконує різні команди?

— Саме так! — підтвердив Професор. — Умови — це як роздоріжжя на дорозі. Вони дозволяють програмі приймати рішення і діяти по-різному в різних ситуаціях.

Він задумливо подивився на стежки, що розходилися, і тихо промовив:

Життя — умовностей ряди,
Набір усіх кордонів, спрощень.
Ми вибір робимо завжди
У ланцюжку безмежних рішень:
Руйнуєм, створюєм світи.

Як спробуєш порахувать
Шляхи, що линуть прямо з точки,
Їх можна в полотно сплітать,
Вплітати код в живі рядочки,
Щоби сховатися й чекать.

Реальність — в'язь чужих ідей,
Змішавшись з простором приватним,
Щоб мати цінний привілей,
В порядку строгому й придатнім,
Стрічати обраних людей.

Вони дійшли до дитячого майданчика і сіли на лавочку. Професор дістав із сумки планшет:
— Умови в програмуванні базуються на логічних виразах, які можуть бути або істинними (True), або хибними (False).

Він написав кілька прикладів:

python
5 > 3 # True (істина), бо 5 справді більше за 3
10 < 7 # False (хибність), бо 10 не менше за 7
name == "Аліса" # True, якщо змінна name містить "Аліса"
age >= 12 # True, якщо змінна age більше або дорівнює 12

— Дивись, які оператори порівняння ми використовуємо:

  • == (дорівнює)

  • != (не дорівнює)

  • > (більше)

  • < (менше)

  • >= (більше або дорівнює)

  • <= (менше або дорівнює)
  • — Професоре, а чому для перевірки рівності використовується подвійний знак рівності? — запитала Аліса.

    — Бо одинарний знак рівності = вже використовується для присвоєння значень змінним, — пояснив Професор. — Щоб уникнути плутанини, для порівняння використовується подвійний знак ==.

    Логік, що сиділа на спинці лавочки, додала:
    — Умови можна також об'єднувати за допомогою логічних операторів:

  • and (і) — істинно, якщо обидві умови істинні

  • or (або) — істинно, якщо хоча б одна умова істинна

  • not (не) — змінює значення умови на протилежне
  • Професор написав ще кілька прикладів:

    python
    if вік >= 12 and зріст >= 140:
    print("Можеш кататися на цьому атракціоні")
    else:
    print("Вибач, цей атракціон не для тебе")

    if погода == "дощ" or погода == "сніг":
    print("Візьми парасольку")
    else:
    print("Парасолька не потрібна")

    if not вік >= 18:
    print("Фільм тільки для дорослих")

    — А можна зробити більше двох варіантів? — зацікавилась Аліса. — Не тільки "якщо-інакше", але й щось ще?

    — Чудове запитання! — Професор показав новий приклад:

    python
    if вік < 7:
    print("Ти ходиш у дитячий садок")
    elif вік < 18:
    print("Ти школяр")
    elif вік < 25:
    print("Ти, можливо, студент")
    else:
    print("Ти дорослий")

    — elif — це скорочення від "else if", що означає "інакше якщо", — пояснив він. — Так можна перевіряти умови ланцюжком, і виконається тільки той блок коду, умова якого стане істинною першою.

    На дитячому майданчику Аліса помітила хлопчика, який збирався з'їхати з гірки:
    — Дивіться, він ніби перевіряє умову: "Якщо гірка мокра, то не кататимуся".

    — Влучно підмічено! — зрадів Професор. — Ми постійно використовуємо умовні конструкції в повсякденному житті:

  • Якщо світлофор червоний, то стоїмо. Інакше йдемо.

  • Якщо на вулиці холодно, то одягаємо куртку.

  • Якщо домашнє завдання зроблено, то можна грати.
  • — А в природі є приклади умов? — запитала Аліса.

    — Безліч! — підхопила Логік. — Рослини повертаються до сонця, якщо воно світить. Ведмеді впадають у сплячку, якщо настає зима. Птахи відлітають на південь, якщо стає холодно.

    Байт раптом підкотився до Аліси з невеликою грою на екрані:
    — Алісо, хочеш пограти в "Вгадай число"? Я загадав число від 1 до 10.

    — П'ять! — припустила Аліса.

    — Більше, — відповів Байт.

    — Сім!

    — Менше.

    — Значить, шість!

    — Правильно! — зрадів Байт.

    Професор посміхнувся:
    — Байт демонструє просту програму з умовами. Ось як це виглядає в коді:

    python
    загадане_число = 6

    if введенечисло > загаданечисло:
    print("Більше")
    elif введенечисло < загаданечисло:
    print("Менше")
    else:
    print("Правильно!")

    — Умови роблять програми інтерактивними, — продовжив Професор. — Вони дозволяють програмі реагувати на дії користувача та адаптуватись до різних ситуацій.


    Завдання

    Уяви, що ти створюєш програму "Розумний будильник". Напиши умови, що визначають час підйому залежно від дня тижня та інших факторів. Наприклад:


    якщо деньтижня == "субота" або деньтижня == "неділя":
    підйом = "9:00"
    інакше якщо канікули == True:
    підйом = "8:30"
    інакше:
    підйом = "7:00"

    Додай ще кілька своїх умов, наприклад, погоду, наявність важливих справ тощо.