1 of 23

Логічний тип даних

Нова українська школа

Урок 44

Інформатика 8

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 23

Логічний тип даних

До простих типів даних у Python належить логічний тип bool. Змінна типу bool може набувати значення:

або

True

(істина)

False

(хибність)

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

3 of 23

Прості і складені умови

Значень типу bool набувають вирази, побудовані за допомогою операцій порівняння (прості умови):

==

!=

>

дорівнює

не дорівнює

більше

<

>=

<=

менше

більше або дорівнює

менше або дорівнює

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

4 of 23

Прості і складені умови

Проаналізуємо результати обчислення логічних виразів:

Оскільки

2*2 = 4 — істинна рівність, то значення відповідного логічного виразу дорівнює True

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

5 of 23

Прості і складені умови

Проаналізуємо результати обчислення логічних виразів:

Отримано відповідь на запитання «Чи ділиться

значення змінної NUM на 3?»

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

6 of 23

Прості і складені умови

Операція

Назва

Приклад

Значення

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

7 of 23

Прості і складені умови

Перевіримо, чи належить значення NUM проміжку [7; 20]:

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

8 of 23

Прості і складені умови

Якщо змінній присвоїти логічне значення, вона належатиме до типу bool:

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

9 of 23

Вбудовані функції all і any

Одночасну перевірку декількох умов можна записати коротше за допомогою вбудованих функцій:

Функція:

all(<список логічних виразів>)

повертає True, якщо істинні всі перелічені в списку умови

all

(англ. всі)

any

(англ. хоч одна)

Функція:

any(<список логічних виразів>)

повертає True, якщо хоча б один елемент списку дорівнює True

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

10 of 23

Вбудовані функції all і any

З’ясуємо, чи є значення NUM парним числом із проміжку

від 7 до 20.

Для цього слід одночасно перевірити три умови:

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

11 of 23

Вбудовані функції all і any

Перевіримо, чи дорівнює 0 хоча б одне зі значень

х, у, z:

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

12 of 23

Алгоритми з розгалуженнями

Як ви знаєте, розгалуження  — це алгоритмічна структура, в якій, залежно від істинності деякої умови, виконується одна з двох дій.

Ви знайомі також із синтаксисом та семантикою умовних операторів мови Python, призначених для програмування розгалужень.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

13 of 23

Команда розгалуження if

Виконання команди if (англ. якщо) можна описати так:

«якщо умова істинна, то виконати ці команди»

Команда if реалізує алгоритмічну конструкцію неповне розгалуження.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

14 of 23

Команда розгалуження if

Синтаксис команди:

іf <умова>:

___ <команди>

де ___ — обов’язковий відступ від лівого краю.

Після запису умови слід поставити двокрапку : , яка показує, що далі має бути розташований блок дій.

Команди записують з обов’язковим однаковим відступом від лівого краю. Якщо команда лише одна, її можна записати в одному рядку з умовою.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

15 of 23

Команда розгалуження if

Складемо програму для впорядкування уведених значень змінних а і b так, щоб а не перевищувало b.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

16 of 23

Команда розгалуження if...else

Алгоритмічній конструкції повне розгалуження відповідає команда розгалуження if...else (англ. якщо...інакше).

Призначена для виконання однієї дії у випадку, якщо деяка умова істинна, та іншої дії, якщо ця умова хибна.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

17 of 23

Команда розгалуження if...else

Синтаксис команди:

if <умова> :

<команди 1>

else:

<команди 2>

Якщо умова істинна (True)

Якщо умова хибна (False)

програма виконає блок дій <команди 1>

виконується блок дій

<команди 2>, записаний після службового слова еlse

Команди, вкладені в гілки if і else, записують з однаковим відступом

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

18 of 23

Команда розгалуження 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

19 of 23

Питання для самоперевірки

  1. Початкові значення змінних а = –3; b = 5. Визначте, чому дорівнюють а і b після виконання таких операторів:
  1. Запишіть команду розгалуження, яка виконує таку дію: менше з двох значень х і у замінити нулем, а у випадку їх рівності — замінити нулями обидва.

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

20 of 23

Розгадайте ребус

Розгалуження

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

21 of 23

Домашнє завдання

Проаналізувати

с. 210-213

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

22 of 23

Працюємо за комп’ютером

Вправа 1. Слово чи декілька.

Завдання. Складіть програму, за допомогою якої можна визначити, чи введений текст складається з одного слова, чи з декількох.

Розділ 5

§ 33

© Вивчаємо інформатику teach-inf.com.ua

23 of 23

Успіхів�у навчанні!

Нова українська школа

Урок 44

Інформатика 8

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.