Дайте відповіді на запитання
1. Який вираз називається логічним? Наведіть приклади.
Логічним виразом називається вираз, який може набувати одного з двох значень: $True$ (істина) або $False$ (хиба). Прикладами є висловлювання або порівняння, наприклад, “Київ – столиця України” (значення $True$) або $3 > 5$ (значення $False$).
2. Які змінні називаються змінними логічного типу?
Змінні, які можуть набувати одного з двох значень, $True$ або $False$, називаються змінними логічного типу. У мові програмування Python цей тип позначається як $bool$.
3. Що таке заперечення логічного виразу?
Запереченням логічного виразу $x$ називається логічна операція, результат якої дорівнює $True$, якщо значення $x$ дорівнює $False$, і навпаки, дорівнює $False$, якщо значення $x$ дорівнює $True$. В Python ця операція позначається як $not$.
4. Що таке кон’юнкція двох логічних виразів?
Кон’юнкція двох логічних виразів $x$ і $y$ – це логічна операція, результат якої дорівнює $True$ тільки тоді, коли значення обох виразів ($x$ і $y$) є $True$. В інших випадках результат буде $False$. В Python вона позначається як $and$.
5. Що таке диз’юнкція двох логічних виразів?
Диз’юнкція двох логічних виразів $x$ і $y$ – це логічна операція, результат якої дорівнює $True$, якщо хоча б один з виразів ($x$ або $y$) має значення $True$. Результат буде $False$ тільки якщо обидва вирази хибні. В Python вона позначається як $or$.
6. Яким є пріоритет виконання логічних операцій?
Пріоритет виконання логічних операцій такий: спочатку виконується заперечення ($not$), потім – кон’юнкція ($and$), і в останню чергу – диз’юнкція ($or$). Для зміни порядку виконання можна використовувати дужки.
Обговоріть і зробіть висновки
1. Як би ви назвали логічну операцію «Якщо А, то В»? Чи використовували ви таку логічну операцію на уроках? Якщо так, наведіть приклади. Чи використовували ви таку логічну операцію в повсякденному житті? Якщо так, наведіть приклади.
Цю логічну операцію називають імплікацією або логічним слідуванням.
Так, на уроках я часто зустрічав таку конструкцію:
- На геометрії: “Якщо трикутник рівнобедрений, то кути при його основі рівні”.
- На інформатиці: Коли ми пишемо код, використовуємо умовні оператори. Наприклад: “Якщо x > 0, то вивести на екран ‘Число додатне'”.
- На фізиці: “Якщо на тіло не діють інші тіла, то воно рухається рівномірно і прямолінійно”.
У повсякденному житті я також постійно використовую цю логіку:
- “Якщо буде дощ, то я візьму парасольку”.
- “Якщо я зроблю домашнє завдання, то піду гуляти”.
- “Якщо я прокинуся вчасно, то не запізнюся до школи”.
Виконайте завдання
1. Наведіть приклади використання логічних виразів і логічних операцій у математиці, українській мові, інших предметах, у життєвих ситуаціях.
- Математика: Використовуємо, коли порівнюємо числа, наприклад, $4 < 12$ (істинне) або $3 > 5$ (хибне). Також у виразах, як $2*5 – 4 = 6$ (істинне).
- Українська мова: У реченнях зі сполучниками “і”, “та”, “або”, “не”. Наприклад, у реченні “По місту курсують автобуси та трамваї” поєднано два висловлювання сполучником “та” (кон’юнкція).
- Інші предмети: На географії “Київ – столиця України” – це істинне висловлювання.
- Життєві ситуації: Коли ми приймаємо рішення. Наприклад, “Якщо на вулиці йде дощ і в мене немає парасольки, то я промокну”.
2. Сформулюйте заперечення висловлювань і з’ясуйте, істинні вони чи хибні:
- а) Число 3 є дільником числа 545.Заперечення: Число 3 не є дільником числа 545.Вихідне висловлювання хибне (5+4+5=14, не ділиться на 3), тому заперечення істинне. 
- б) Автомобіль не має права їхати на червоне світло.Заперечення: Автомобіль має право їхати на червоне світло.Вихідне висловлювання істинне, тому заперечення хибне. 
- в) Існують паралелограми з прямими кутами.Заперечення: Не існують паралелограми з прямими кутами (або: Усі паралелограми не мають прямих кутів).Вихідне висловлювання істинне (це прямокутники і квадрати), тому заперечення хибне. 
- г) Рівняння 2х – 3 = 0 має цілий корінь.Заперечення: Рівняння 2х – 3 = 0 не має цілого кореня.Корінь рівняння $x = 1.5$, що не є цілим числом. Вихідне висловлювання хибне, отже, заперечення істинне. 
- д) Не існує натурального числа, що ділиться на 2.Заперечення: Існує натуральне число, що ділиться на 2.Вихідне висловлювання хибне, тому заперечення істинне. 
- е) Існує ціле число, яке ділиться на всі цілі числа.Заперечення: Не існує цілого числа, яке ділиться на всі цілі числа.Вихідне висловлювання хибне (такого числа немає, бо на 0 ділити не можна), тому заперечення істинне. 
- ж) Усі люди вміють грати в шахи.Заперечення: Не всі люди вміють грати в шахи.Вихідне висловлювання хибне, тому заперечення істинне. 
3. Серед наступних висловлювань знайдіть кон’юнкції та диз’юнкції та визначте, істинні вони чи хибні:
- а) Число 27 кратне 3 і кратне 9. Це кон’юнкція (сполучник “і”). “27 кратне 3” (істина) і “27 кратне 9” (істина). Обидві частини істинні, тому весь вираз істинний.
- б) 17 < 42 < 18. Це кон’юнкція, бо означає “17 < 42 і 42 < 18”. Перша частина істинна, а друга хибна. Тому весь вираз хибний.
- в) Число 2 просте або парне. Це диз’юнкція (сполучник “або”). “Число 2 просте” (істина), “число 2 парне” (істина). Хоча б одна частина істинна, тому вираз істинний.
- г) ∆АВС є гострокутним, прямокутним або тупокутним. Це диз’юнкція. Будь-який трикутник може бути лише одним із цих типів, тому одна з частин висловлювання завжди буде істинною. Отже, вираз істинний.
- д) Діагоналі будь-якого паралелограма перпендикулярні та точкою перетину поділяються навпіл. Це кон’юнкція. Діагоналі діляться навпіл у всіх паралелограмів (істина), але перпендикулярні вони лише у ромбів і квадратів, а не у будь-якого. Тому перша частина хибна, і весь вираз хибний.
- е) $7^2=49$ і $(-7)^2=49$. Це кон’юнкція. Обидві частини істинні, тому вираз істинний.
- ж) $21 ≤ 21$. Це диз’юнкція, бо означає “$21 < 21$ або $21 = 21$”. Перша частина хибна, але друга істинна. Тому вираз істинний.
- и) $21 ≤ 18$. Це диз’юнкція (“$21 < 18$ або $21 = 18$”). Обидві частини хибні, тому вираз хибний.
4. Нехай А = «Сергієнко вивчає англійську мову», В = «Сергієнко має оцінку 8 з інформатики». Сформулюйте висловлювання:
- а) A and not B: Сергієнко вивчає англійську мову і не має оцінки 8 з інформатики.
- б) not А or B: Сергієнко не вивчає англійську мову або має оцінку 8 з інформатики.
- в) A or not A and B: Сергієнко вивчає англійську мову, або він не вивчає англійську мову і має оцінку 8 з інформатики.
5. Запишіть у зошит порядок виконання логічних операцій у логічних виразах зі змінними логічного типу a і b:
Пріоритет операцій такий: not, потім and, потім or. Дужки змінюють цей порядок.
- а) a or not a and b: 1. not a; 2.(not a) and b; 3.a or (результат 2).
- б) not a or not b and а: 1. not a; 2.not b; 3.(not b) and a; 4.(результат 1) or (результат 3).
- в) (a or not b ) and (not a or not b): 1. not b(в перших дужках); 2.a or (результат 1); 3.not a; 4.not b(в других дужках); 5.(результат 3) or (результат 4); 6.(результат 2) and (результат 5).
- г) not a and not b or c and d: 1. not a; 2.not b; 3.(not a) and (not b); 4.c and d; 5.(результат 3) or (результат 4).
6. Створіть у зошиті таблиці істинності для логічних виразів зі змінними логічного типу a і b:
| a | b | a or a and b | a or not a and b | a or b or not b | not a or not b | (a or not b) and (a or b) | 
|---|---|---|---|---|---|---|
| T | T | T | T | T | F | T | 
| T | F | T | T | T | T | T | 
| F | T | F | T | T | T | F | 
| F | F | F | F | F | T | F | 
Примітка: T – True (істина), F – False (хиба).
7. Створіть проєкт для визначення значення логічного виразу (x or not y) and z…
Для створення проєкту потрібно виконати наступні кроки, наприклад, у Python. Спочатку треба розглянути всі можливі комбінації значень для змінних x, y, z (всього 8 комбінацій). Потім для кожного набору значень обчислити результат виразу, дотримуючись порядку операцій: спочатку дія в дужках (x or not y), а потім and z.
Результати обчислень можна занести в таблицю істинності:
| x | y | z | not y | x or not y | (x or not y) and z | 
|---|---|---|---|---|---|
| T | T | T | F | T | T | 
| T | T | F | F | T | F | 
| T | F | T | T | T | T | 
| T | F | F | T | T | F | 
| F | T | T | F | F | F | 
| F | T | F | F | F | F | 
| F | F | T | T | T | T | 
| F | F | F | T | T | F | 
Примітка: T – True (істина), F – False (хиба).
8. Створіть проєкт для визначення значення логічного виразу x > 0 and not (y < 0 or x < 0) and y > 0…
Цей логічний вираз можна спростити. Частина not (y < 0 or x < 0) за правилами де Моргана перетворюється на not (y < 0) and not (x < 0), що є еквівалентом y >= 0 and x >= 0. Тоді весь вираз стає x > 0 and y >= 0 and x >= 0 and y > 0. Об’єднавши умови, отримуємо просто x > 0 and y > 0. Тобто вираз буде істинним лише тоді, коли і x, і y є додатними числами.
Результати для заданих значень:
а) х = 5, у = 8: Вираз істинний (True), бо 5 > 0 і 8 > 0.
б) х = 5, у = –8: Вираз хибний (False), бо -8 не більше 0.
в) х = –5, у = 8: Вираз хибний (False), бо -5 не більше 0.
г) х = –5, у = –8: Вираз хибний (False), бо обидва числа не більші за 0.
9. На нафтопереробному заводі є три установки: A, B, C…
Позначимо спрацювання датчиків на установках як логічні змінні A, B, C (True — показники перевищено, False — ні).
Умова надзвичайної ситуації: “перевищено показники на першій установці (A) і на будь-якій іншій (B або C)”.
Логічний вираз для цього буде: A and (B or C).
Таблиця істинності для системи сигналізації:
| A | B | C | Сигнал (A and (B or C)) | 
|---|---|---|---|
| False | False | False | False | 
| False | False | True | False | 
| False | True | False | False | 
| False | True | True | False | 
| True | False | False | False | 
| True | False | True | True | 
| True | True | False | True | 
| True | True | True | True | 
Сигнал пролунає, якщо датчики спрацюють на установці А та одночасно на В, або на А та одночасно на С, або на всіх трьох одночасно.
10. Михайлу дозволяють пограти на комп’ютері…
Позначимо умови логічними змінними:
- А = “виконав домашні завдання”
- В = “навів лад у своїй кімнаті”
- С = “сестра завершила роботу з комп’ютером”
Умова для доступу до комп’ютера: “виконав домашні завдання (A) або (навів лад (B) і сестра завершила (C))”.
Логічний вираз: A or (B and C).
Таблиця істинності для надання доступу:
| A (ДЗ) | B (Кімната) | C (Сестра) | Доступ (A or (B and C)) | 
|---|---|---|---|
| False | False | False | False | 
| False | False | True | False | 
| False | True | False | False | 
| False | True | True | True | 
| True | False | False | True | 
| True | False | True | True | 
| True | True | False | True | 
| True | True | True | True | 
Михайло отримає доступ, якщо він зробив домашнє завдання (незалежно від інших умов), або якщо він прибрав у кімнаті і при цьому комп’ютер вільний.
Готуємось до вивчення нового матеріалу
1. У яких випадках в алгоритмі потрібно використати розгалуження?
Розгалуження в алгоритмі потрібно використовувати тоді, коли подальші дії залежать від виконання певної умови. Наприклад, якщо на вулиці йде дощ, то треба взяти парасольку, а якщо не йде — не брати. Алгоритм обирає, якою “гілкою” піти, залежно від того, істинна умова чи хибна.
2. Які види розгалуження ви знаєте? Як вони виконуються?
Я знаю два види розгалуження: повне і неповне.
- Повне розгалуження (if-else). Тут є дві гілки дій. Якщо умова істинна, виконується одна послідовність команд. Якщо ж умова хибна, виконується інша, альтернативна послідовність. Наприклад: “Якщо температура повітря нижче нуля (умова), то одягнути зимову куртку (дія 1), інакше одягнути осінню (дія 2)”.
- Неповне розгалуження (if). Тут є лише одна гілка дій, яка виконується, тільки якщо умова істинна. Якщо ж умова хибна, ця дія просто пропускається, і алгоритм продовжує виконуватися далі. Наприклад: “Якщо почався дощ (умова), то відкрити парасольку (дія)”. Якщо дощу немає, ніяких додаткових дій не відбувається.
