Розгалуження — це така форма організації дій, при якій, в залежності від виконання або невиконання певної умови, виконується одна з двох послідовностей дій.
Для реалізації команди розгалуження мовою Python використовуються команди розгалуження if, if...else, if ... elif...еlse.
Команда іf
Команда іf відповідає алгоритмічній конструкції «неповне розгалуження» і призначена для виконання деякої послідовності дій у тому випадку, якщо істинною є зазначена умова (рис.1).
Рис.1
Синтаксис команди:
іf <умова>:
___<команда>
де ___ — обов’язковий відступ від лівого краю.
іf <умова>:
___<команда>
де ___ — обов’язковий відступ від лівого краю.
Умова — це логічний вираз, значенням якого є True або False.
Проста умова утворюється логічними операціями порівняння: == (дорівнює), != (не дорівнює), < (менше), > (більше), >= (більше або дорівнює), <= (менше або дорівнює).
Команда іf перевіряє істинність зазначеної умови. Якщо умова істинна (True), програма виконає дію, зазначену в частині <команда>. Якщо ж умова хибна (False), то керування передається операда тору, що міститься після команди іf.
Приклад:
Перевіримо, чи є значення змінної х додатним.
if x >= 0:
print('Число додатне')
if x >= 0:
print('Число додатне')
Складені умови
Складена умова являє собою кілька простих умов, з’єднаних логічними операціями.
Складена умова являє собою кілька простих умов, з’єднаних логічними операціями.
Нехай A і B — два логічні значення. Складена умова А and B істинна, тільки якщо й А, й В істинні. Складена умова А or B хибна, якщо й А, й В хибні.
Визначити за назвою дня тижня, чи є цей день вихідним:
day = input()
if day == 'Субота' or day == 'Неділя': print('Вихідний')
Приклад:
Визначимо, чи належить точка з координатою х відрізку [10; 20] (рис. 2).
Рис.2
Точка належить відрізку, якщо одночасно виконуються умови x >= 10 і x <= 20:
if x >= 10 and x <= 20:
print('Точка належить відрізку від 10 до 20')
if x >= 10 and x <= 20:
print('Точка належить відрізку від 10 до 20')
Визначити за назвою дня тижня, чи є цей день вихідним:
day = input()
if day == 'Субота' or day == 'Неділя': print('Вихідний')
Команда if ... else
Команда if...else відповідає конструкції «повне розгалуження» (рис. 3) та призначена для виконання однієї дії у випадку, якщо деяка умова істинна, та іншої дії, якщо ця умова хибна.
Рис.3
Синтаксис умовної команди в повній формі:
if <умова>:
<команда 1>
else:
<команда 2>
if <умова>:
<команда 1>
else:
<команда 2>
Приклад:
З’ясуємо, чи є значення змінної х додатним числом.
if x >= 0: print("Число додатне")
else: print("Число від’ємне")
if x >= 0: print("Число додатне")
else: print("Число від’ємне")
Запишемо код для знаходження модуля числа х:
if x >= 0: y = x
else: y = –x
if x >= 0: y = x
else: y = –x
Приклад:
Запишемо команду розгалуження для визначення, чи пройде м’яч діаметром d у кватирку заввишки x і завширшки y (рис. 4).
if d<x and d<y: print("Так, пройде")
else: print("Ні, не пройде")
if d<x and d<y: print("Так, пройде")
else: print("Ні, не пройде")
Рис.4
Приклад:
Складемо програму пошуку найбільшого з трьох чисел а, b, с. У програмі послідовно виконуються команди повного і неповного розгалуження.
Джерела:
Інформатика : підруч. для 6 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2023.