Алгоритми з розгалуженням

email:  aleksraven3@gmail.com

Хід виконання програми може бути лінійним , тобто таким, коли вирази виконуються один за одним, починаючи з першого та закінчуючи останнім. Жодний рядок коду програми не пропускається. При складанні алгоритму та написанні програми виникають ситуації, коли частину дій необхідно виконати за будь-якої умови. При виконанні коду, залежно від тих чи інших умов, деякі його ділянки можуть бути опущені, тоді як інші виконані. Іншими словами, у програмі може бути розгалуження , що реалізується умовним оператором – особливою конструкцією мови програмування . 

логічні величини розгалуження.pdf

Програмування мовою Python. Розгалуження.

Приклад вирішення задач

ПРАКТИЧНА РОБОТА (частина 1)

№1 Подільність чисел

№2 Порівняння

3 Розв1язування рівнянь

ДОМАШНЄ ЗАВДАННЯ

РОБОТА ЗА КОМП'ЮТЕРОМ

Завдання. 

Скласти програму введення оцінки 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("Третя чверть")

Іноді потрібно перевірити в 2 або навіть більше умов. тоді ми можемо використовувати складні умови, в яких більш прості блоки поєднано за допомогою операторів:

and — якщо мають виконуватись усі наведені умови;

if a>0 and b<0:    # перевіряється виконання подвійної умови: число а більше 0, число b меньше 0 


or — якщо має виконуватись хоч одна з вказаних умов.

if a%10==0 or b%10==0:    # хочаб одне з двох чисел кратне 10  


Якщо є потреба врахувати значення декількох логічних виразів,

то використовують вкладені розгалуження:

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("Третя чверть")

ПРАКТИЧНА РОБОТА (частина 2)

Розгалуження оператор вибору.pdf