G-X3X01SGQDG

§ 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. Перевірте роботу програми.

Комп’ютерне тестування