Під час розв’язування багатьох задач виникає ситуація, коли при виконанні деякої умови знову з’являється потреба робити вибір. У такій ситуації використовується так зване вкладення розгалужень, тобто оператор, який виконується у випадку істинності умови (або у гілці еlse), знову є оператором іf.
Зверни увагу!
Вкладені розгалуження використовуються в тих випадках, коли необхідно перевірити послідовно дві або більше умови.
Складемо програму, яка за введеним віком дитини визначає, який мультфільм запропонувати для перегляду.
vik = int(input('Скільки дитині років?'))
if vik<=3: print('Жирафа Афа')
if vik>3 and vik<=6: print('Котигорошко')
if vik>6: print('Як козаки сіль купували?')
vik = int(input('Скільки дитині років?'))
if vik<=3: print('Жирафа Афа')
if vik>3 and vik<=6: print('Котигорошко')
if vik>6: print('Як козаки сіль купували?')
У цьому коді використано три команди неповного розгалуження. Кожна наступна умова перевіряється незалежно від того, чи істинна умова в попередній команді. У випадку ж, коли виконується умова, наприклад, у першій команді if, перевірки умов в інших командах виконуються марно. Коли потрібно перевірити послідовно дві або більше умов, краще використовувати вкладені розгалуження.
Перепишемо цей код з використанням конструкції «вкладення розгалужень»:
vik = int(input('Скільки дитині років?'))
if vik<=3: print('Жирафа Афа')
else:
if vik<=6: print('Котигорошко')
else: print('Як козаки сіль купували?')
print('Приємного перегляду!')
vik = int(input('Скільки дитині років?'))
if vik<=3: print('Жирафа Афа')
else:
if vik<=6: print('Котигорошко')
else: print('Як козаки сіль купували?')
print('Приємного перегляду!')
Якщо умова vik<=3істинна, то виконується команда print('Жирафа Афа'), після чого керування передається команді print('Приємного перегляду!').
Якщо vik>3, то виконується гілка else, до якої вкладена команда if...else.
Якщо vik<=6, то виконується команда print('Котигорошко').
Якщо vik>3, то виконується гілка else, до якої вкладена команда if...else.
Якщо vik<=6, то виконується команда print('Котигорошко').
Для всіх інших значень змінної vik виконується команда print('Як козаки сіль купували?') (рис. 1).
Рис.1
Приклад:
Значення Y обчислюється за такими правилами:
Спочатку потрібно перевірити, чи є значення х від'ємним. Якщо так, то у=х, інакше знов потрібно визначити, чи є х меншим або рівним 5. Якщо так, то у=х*х, інакше у=2*х.
Запишемо умовний оператор для обчислення значення Y:
if x<0:
y = x
else:
else:
if x <=5:
y =x*x
else: y = 2*x
else: y = 2*x
Під час запису програмного коду уважно слідкуйте за відступами, щоб команди, вкладені в гілки оператора if, були записані на одній вертикалі. По-перше, цього потребує синтаксис мови Python, а по-друге, це робить текст програми наочнішим і зрозумілішим.
Приклад:
Задача. За введеною градусною мірою кута вивести назву кута.
a = int(input ('a=?'))
if a < 90:
print ('гострий кут')
else :
if a < 90:
print ('гострий кут')
else :
if a == 90:
print ('прямий кут')
else :
print (‘тупий кут‘)
else :
print (‘тупий кут‘)
Джерела:
Інформатика : підруч. для 6 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2023.