Хід виконання програми може бути лінійним , тобто таким, коли вирази виконуються один за одним, починаючи з першого та закінчуючи останнім. Жодний рядок коду програми не пропускається. При складанні алгоритму та написанні програми виникають ситуації, коли частину дій необхідно виконати за будь-якої умови. При виконанні коду, залежно від тих чи інших умов, деякі його ділянки можуть бути опущені, тоді як інші виконані. Іншими словами, у програмі може бути розгалуження , що реалізується умовним оператором – особливою конструкцією мови програмування .
РОБОТА ЗА КОМП'ЮТЕРОМ
Завдання.
Скласти програму введення оцінки P, отриманої студентом, та видачі тексту «Молодець!», якщо P=5, «Добре!», якщо P=4 і «Ледар!», якщо P<=3.
Постановка задачі: Дано значення P, яке є натуральним числом і не може бути більшим за 5. Залежно від величини P потрібно сформувати рядок s за правилами, зазначеними в умові. Необхідно виконати дві послідовні перевірки значення P.
Посилання на онлайн компілятор.
ВКЛАДЕНІ АЛГОРИТМИ З РОЗГАЛУЖЕННЯМ
Всередині умовних конструкцій можна використовувати будь-які конструкції мови Пітон, зокрема умовну конструкцію. Отримуємо вкладене розгалуження – після одного роздоріжжя в ході виконання програми з'являється інше розвилка. При цьому вкладені блоки мають більший розмір відступу (наприклад, 8 пробілів).
Покажемо це на прикладі програми, яка за даними ненульовими числами x та y визначає, в якій із чвертей координатної площини знаходиться точка (x, y):
У цьому прикладі ми використовували коментарі – текст, який ігнорує компілятор. Коментаріями в Python є символ # і весь текст після цього символу до кінця рядка.
x = int(input())
y = int(input())
if x > 0:
if y > 0: # x > 0, y > 0
print("Перша чверть")
else: # x > 0, y < 0
print("Четверта чверть")
else:
if y > 0: # x < 0, y > 0
print("Друга чверть")
else: # x < 0, y < 0
print("Третя чверть")
Якщо є потреба врахувати значення декількох логічних виразів,
то використовують вкладені розгалуження:
if <логічний вираз1>:
блок команд 1
elif <логічний вираз2>:
блок команд 2
...
elif <логічний вираз n>:
блок команд n
else:
<блок команд інакше>
В описаних вкладених розгалуженнях, якщо значення логічного
виразу 1 True, то виконується блок команд 1. Якщо значення логічно-го виразу 1 False і значення логічного виразу 2 True, то виконується блок команд 2, і т.д. Інакше виконується команда інакше або блок команд інакше.
Якщо вкладених умовних операторів декілька, то до якого з них належить else, можна зрозуміти за відступом. Відступ у else має бути такий cамо, як в if, до якого він належить.
Приклад програми, що визначає чверть координатної площини, можна переписати, використовуючи "каскадну" послідовність операцією
if... elif... else:
x = int(input())
y = int(input())
if x > 0 and y > 0:
print("Перша чверть")
elif x > 0 and y < 0:
print("Четверта чверть")
elif y > 0:
print("Друга чверть")
else:
print("Третя чверть")