Skip to content

Лекція 9. Логіка комп’ютера: True, False, AND, OR, NOT

Лекція 9. Логіка комп’ютера: True, False, AND, OR, NOT

Section titled “Лекція 9. Логіка комп’ютера: True, False, AND, OR, NOT”

Рівень 2: Архітектор логіки

Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.

Що ми сьогодні розкриємо

Section titled “Що ми сьогодні розкриємо”
  • працювати з логічними значеннями
  • розуміти AND, OR і NOT на життєвих прикладах
  • будувати складні умови у Python

Зв’язок з попередніми лекціями

Section titled “Зв’язок з попередніми лекціями”

У цій лекції ми використаємо поняття програми та інструкції з лекції 8, щоб навчитися керувати роботою програми за допомогою умов.

Логічне значення відповідає на питання «так чи ні»

Section titled “Логічне значення відповідає на питання «так чи ні»”

У Python є тип bool із двома значеннями: True і False. Наприклад, результат 7 > 3 — True, а 2 == 5 — False.

Це схоже на один біт за ідеєю «два стани», але не треба плутати рівні: Python-об’єкт True — це високорівневе значення мови, а біт — одиниця цифрових даних.

AND, OR і NOT — правила комбінування відповідей

Section titled “AND, OR і NOT — правила комбінування відповідей”

AND істинне, коли істинні обидві умови. OR — коли істинна хоча б одна. NOT перевертає відповідь.

є_квиток AND двері_відчинені → можна зайти
дощ OR сніг → потрібна куртка
NOT світло_увімкнене → світло вимкнене
graph TD
    subgraph AND_table ["AND: обидва мають бути True"]
        A1["True AND True = ✅ True"]
        A2["True AND False = ❌ False"]
        A3["False AND True = ❌ False"]
        A4["False AND False = ❌ False"]
    end

    subgraph OR_table ["OR: хоча б один True"]
        O1["True OR True = ✅ True"]
        O2["True OR False = ✅ True"]
        O3["False OR True = ✅ True"]
        O4["False OR False = ❌ False"]
    end

    subgraph NOT_table ["NOT: перевертає"]
        N1["NOT True = ❌ False"]
        N2["NOT False = ✅ True"]
    end

    style A1 fill:#e8f5e9
    style A2 fill:#ffebee
    style A3 fill:#ffebee
    style A4 fill:#ffebee
    style O1 fill:#e8f5e9
    style O2 fill:#e8f5e9
    style O3 fill:#e8f5e9
    style O4 fill:#ffebee
    style N1 fill:#ffebee
    style N2 fill:#e8f5e9

Логіка керує рішеннями програм

Section titled “Логіка керує рішеннями програм”

Умови дозволяють програмі обирати шлях. Наприклад, гра може дозволити відкрити скриню лише якщо has_key and level >= 5. Так прості логічні шматочки створюють складну поведінку.

age >= 9 and age <= 12 перевіряє, чи число лежить між 9 і 12 включно.

is_weekend or is_holiday істинне, якщо сьогодні вихідний хоча б з однієї причини.

not game_over зручно читати як «гра ще не завершена».

Python-лабораторія: пульт доступу до секретної бази

Section titled “Python-лабораторія: пульт доступу до секретної бази”
has_badge = True
knows_code = False
adult_nearby = True
print("Badge AND code:", has_badge and knows_code)
print("Badge AND adult:", has_badge and adult_nearby)
print("Code OR adult:", knows_code or adult_nearby)
print("NOT knows_code:", not knows_code)
can_enter = has_badge and (knows_code or adult_nearby)
print("Можна зайти:", can_enter)

Змінюй по одному значенню й перед запуском прогнозуй результат.

Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.

  1. створи таблицю всіх чотирьох комбінацій True/False для операції and
  2. створи таку саму таблицю для or
  3. напиши умову: у гру можна грати, якщо домашнє завдання зроблено і є вільний час
  4. напиши умову: взяти парасолю, якщо йде дощ або прогноз каже про дощ
  5. зміни лабораторну програму так, щоб база відкривалася лише коли є badge, код і дорослий поруч
  • Коли A and B дає True?
  • Коли A or B дає False?
  • Що робить not?
  • Який тип має результат 5 > 2 у Python?
  • Навіщо в складних умовах дужки?
  • Логічне значення (bool) — відповідь «так/ні» у Python: True або False.
  • AND (і) — істина лише коли обидві умови істинні (потрібні і квиток, і відчинені двері).
  • OR (або) — істина, коли істинна хоча б одна умова (дощ або сніг → куртка).
  • NOT (не) — перевертає відповідь на протилежну.
  • Умова — вираз, який можна оцінити як істинний або хибний.
  • Таблиця істинності — перелік усіх можливих комбінацій входів і результату.

Чек-лист перед наступною лекцією

Section titled “Чек-лист перед наступною лекцією”
  • Чи можеш ти побудувати таблицю істинності для AND, OR, NOT?
  • Чи знаєш ти, як логічні операції працюють з бітами?
  • Чи розумієш ти, як булева логіка пов’язана з комп’ютерними схемами?

Що потрібно винести з лекції

Section titled “Що потрібно винести з лекції”
  • логічні значення описують істину або хибність умови
  • AND, OR, NOT дозволяють будувати складні рішення з простих
  • умови є мостом між даними та поведінкою програми

Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.