§ 27. Алгоритми
з розгалуженнями. Команда if
Ви вже знаєте, що однією з базових алгоритмічних структур є .
Для організації розгалуження у програмах мовою Python призначені умовні
оператори іf та іf-else.
Завдання 1
Умовний оператор іf
Оператор if відповідає алгоритмічній конструкції неповне розгалуження.
Синтаксис оператора:
іf <умова>:
___ <команди>
де ___ — обов’язковий відступ від лівого краю.
Після запису умови слід поставити двокрапку.
У наступних рядках з обов’язковим однаковим відступом від лівого краю записуються команди, які буде виконано, якщо умова істинна. Однакові відступи зручно робити, натискаючи клавішу Tab.
Якщо ж умова хибна, то ці команди буде пропущено і керування перейде до оператора, що йде після оператора if.
Зверніть увагу! Неповне розгалуження можна описати словами «Якщо — то».
Розглянемо приклади використання неповного розгалуження у програмах.
Приклад 1
Після виконання цієї програми, в разі правильної відповіді на питання, отримаємо результат Правильно.
result = int(input('Скільки буде 28+4?'))
if result == 32:
print('Правильно!')
Завдання 2
Приклад 2
Перегляньте приклад виконання команди розгалуження.
Приклад 3
Збільшимо значення змінної а на одиницю, якщо її поточне значення менше 5:
if a<5:
a = a+1
Завдання 3
Приклад 4
Визначимо, чи є число n кратним 2, 3 або 5.
n = int(input('n = ?'))
if n%2 == 0: print(n, 'парне число')
if n%3 == 0: print(n, 'кратне 3')
if n%5 == 0: print(n, 'кратне 5')
Зверніть увагу! У програмі використано послідовні розгалуження, тобто почергово перевіряються декілька умов. Перевірка наступної умови не залежить від результату попередньої.
Питання для самоперевірки
1. Як записується й виконується умовний оператор if?
2. Яких значень набудуть змінні a і b після виконання умовних операторів для
початкових значень a = 3, b = 10?
а) if a%2 == 0: б) if a! = b: в) if a<b:
a = a//2 a = b b = b–a
3. Виконання яких операторів, не викличе повідомлення про помилку?
а) if a>b: б) if a%3: в) if a<10: г) if b>10:
print ("a>b") a = a//3 a = a+5 b = b–10
4. Запишіть оператори, які реалізують такі дії:
а) якщо а більше b, замінити а нулем;
б) якщо ціле число a парне, поділити його на 2.
5. Скласти програму, яка запитує значення числа n, 1 < n < 10000, і повідомляє кількість
цифр у числі n.
Вправа 27
Скласти програму, яка запитує значення n кількості кутів багатокутника і креслить фігуру, що має n кутів.
1. Перегляньте зразок виконання вправи.
2. Запустить Python IDLE і створіть файл Вправа 27.
Завантажте модуль для роботи з «черепашачою» графікою.
3. Запишіть оператор для введення значення n.
4. Якщо n = 3, програма креслить трикутник.
Запишіть оператор неповного розгалуження, який перевіряє умову n == 3.
Блок дій, який виконується, якщо умова істинна, має містити оператори малювання трикутника.
if n == 3:
forward(50)
right(120)
forward(50)
right(120)
forward(50)
right(120)
5. Якщо n = 4, програма має накреслити квадрат.
Запишіть оператор неповного розгалуження, який перевіряє умову n == 4, і, якщо умова істинна, креслить квадрат.
6. Якщо n = 5, програма креслить п’ятикутник.
Запишіть оператор неповного розгалуження, який перевіряє умову n == 5, і, якщо умова істинна, креслить п’ятикутник.
8. Перевірте роботу програми.