Лекція 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 світло_увімкнене → світло вимкненеТаблиці істинності
Section titled “Таблиці істинності”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. Так прості логічні шматочки створюють складну поведінку.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”age >= 9 and age <= 12 перевіряє, чи число лежить між 9 і 12 включно.
Приклад 2
Section titled “Приклад 2”is_weekend or is_holiday істинне, якщо сьогодні вихідний хоча б з однієї причини.
Приклад 3
Section titled “Приклад 3”not game_over зручно читати як «гра ще не завершена».
Python-лабораторія: пульт доступу до секретної бази
Section titled “Python-лабораторія: пульт доступу до секретної бази”has_badge = Trueknows_code = Falseadult_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)Змінюй по одному значенню й перед запуском прогнозуй результат.
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- створи таблицю всіх чотирьох комбінацій
True/Falseдля операціїand - створи таку саму таблицю для
or - напиши умову: у гру можна грати, якщо домашнє завдання зроблено і є вільний час
- напиши умову: взяти парасолю, якщо йде дощ або прогноз каже про дощ
- зміни лабораторну програму так, щоб база відкривалася лише коли є badge, код і дорослий поруч
Перевір себе
Section titled “Перевір себе”- Коли
A and BдаєTrue? - Коли
A or BдаєFalse? - Що робить
not? - Який тип має результат
5 > 2у Python? - Навіщо в складних умовах дужки?
Терміни однією фразою
Section titled “Терміни однією фразою”- Логічне значення (bool) — відповідь «так/ні» у Python:
TrueабоFalse. - AND (і) — істина лише коли обидві умови істинні (потрібні і квиток, і відчинені двері).
- OR (або) — істина, коли істинна хоча б одна умова (дощ або сніг → куртка).
- NOT (не) — перевертає відповідь на протилежну.
- Умова — вираз, який можна оцінити як істинний або хибний.
- Таблиця істинності — перелік усіх можливих комбінацій входів і результату.
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти побудувати таблицю істинності для AND, OR, NOT?
- Чи знаєш ти, як логічні операції працюють з бітами?
- Чи розумієш ти, як булева логіка пов’язана з комп’ютерними схемами?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- логічні значення описують істину або хибність умови
- AND, OR, NOT дозволяють будувати складні рішення з простих
- умови є мостом між даними та поведінкою програми
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.