Логічний тип даних
Нова українська школа
Урок 44
Інформатика 8
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Логічний тип даних
До простих типів даних у Python належить логічний тип bool. Змінна типу bool може набувати значення:
або
True
(істина)
False
(хибність)
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Значень типу bool набувають вирази, побудовані за допомогою операцій порівняння (прості умови):
==
!=
>
дорівнює
не дорівнює
більше
<
>=
<=
менше
більше або дорівнює
менше або дорівнює
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Проаналізуємо результати обчислення логічних виразів:
Оскільки
2*2 = 4 — істинна рівність, то значення відповідного логічного виразу дорівнює True
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Проаналізуємо результати обчислення логічних виразів:
Отримано відповідь на запитання «Чи ділиться
значення змінної NUM на 3?»
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Операція
Назва
Приклад
Значення
or
або
логічний добуток
2*2 == 7 or 4 <= 5
3 > 8 or 12 < 5 or 9 == 1
True
False
and
і
логічна сума
2*2 == 7 and 4 <= 5
3 <= 8 and 12 > 5 and 9 != 1
False
True
not
не
логічне заперечення
not 2*2 == 4
not 8 < 3
False
True
Складніші логічні вирази (складені умови) будують, коли одночасно необхідно перевірити виконання кількох простих умов. Для запису складених умов використовують логічні операції. Розгляньмо таблицю:
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Перевіримо, чи належить значення NUM проміжку [7; 20]:
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Прості і складені умови
Якщо змінній присвоїти логічне значення, вона належатиме до типу bool:
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Вбудовані функції all і any
Одночасну перевірку декількох умов можна записати коротше за допомогою вбудованих функцій:
Функція:
all(<список логічних виразів>)
повертає True, якщо істинні всі перелічені в списку умови
all
(англ. всі)
any
(англ. хоч одна)
Функція:
any(<список логічних виразів>)
повертає True, якщо хоча б один елемент списку дорівнює True
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Вбудовані функції all і any
З’ясуємо, чи є значення NUM парним числом із проміжку
від 7 до 20.
Для цього слід одночасно перевірити три умови:
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Вбудовані функції all і any
Перевіримо, чи дорівнює 0 хоча б одне зі значень
х, у, z:
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Алгоритми з розгалуженнями
Як ви знаєте, розгалуження — це алгоритмічна структура, в якій, залежно від істинності деякої умови, виконується одна з двох дій.
Ви знайомі також із синтаксисом та семантикою умовних операторів мови Python, призначених для програмування розгалужень.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if
Виконання команди if (англ. якщо) можна описати так:
«якщо умова істинна, то виконати ці команди»
Команда if реалізує алгоритмічну конструкцію неповне розгалуження.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if
Синтаксис команди:
іf <умова>:
___ <команди>
де ___ — обов’язковий відступ від лівого краю.
Після запису умови слід поставити двокрапку : , яка показує, що далі має бути розташований блок дій.
Команди записують з обов’язковим однаковим відступом від лівого краю. Якщо команда лише одна, її можна записати в одному рядку з умовою.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if
Складемо програму для впорядкування уведених значень змінних а і b так, щоб а не перевищувало b.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if...else
Алгоритмічній конструкції повне розгалуження відповідає команда розгалуження if...else (англ. якщо...інакше).
Призначена для виконання однієї дії у випадку, якщо деяка умова істинна, та іншої дії, якщо ця умова хибна.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if...else
Синтаксис команди:
if <умова> :
<команди 1>
else:
<команди 2>
Якщо умова істинна (True)
Якщо умова хибна (False)
програма виконає блок дій <команди 1>
виконується блок дій
<команди 2>, записаний після службового слова еlse
Команди, вкладені в гілки if і else, записують з однаковим відступом
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Команда розгалуження if...else
Складемо програму для перевірки, чи три введені числа є довжинами сторін прямокутного трикутника. Для перевірки скористаємося теоремою Піфагора:
a, b, c = map(int, input().split())
if any([ a**2 == b**2+c**2 , b**2 == a**2+c**2 , c**2 == a**2+b**2]):
print('TaK')
else:
print('Hi')
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Питання для самоперевірки
if a>b: a = a–b
else: b = b–a
if a<0:
a = –a
if a != b:
a = b
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Розгадайте ребус
Розгалуження
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Домашнє завдання
Проаналізувати
с. 210-213
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Працюємо за комп’ютером
Вправа 1. Слово чи декілька.
Завдання. Складіть програму, за допомогою якої можна визначити, чи введений текст складається з одного слова, чи з декількох.
Розділ 5
§ 33
© Вивчаємо інформатику teach-inf.com.ua
Успіхів�у навчанні!
Нова українська школа
Урок 44
Інформатика 8
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.