Створення алгоритмів і програм із розгалуженнями та повтореннями

Створення алгоритмів і програм із розгалуженнями та повтореннями.

Цілі:

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

Тип уроку: комбінований.

Наскрізні змістові лінії: екологічна безпека та сталий розвиток, здоров’я й безпека, підприємливість і фінансова грамотність, громадянська відповідальність.

Програмне забезпечення: браузер.



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

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

ВКЛАДЕНІ АЛГОРИТМИ З РОЗГАЛУЖЕННЯМ

Всередині умовних конструкцій можна використовувати будь-які конструкції мови Пітон, зокрема умовну конструкцію. Отримуємо вкладене розгалуження – після одного роздоріжжя в ході виконання програми з'являється інше розвилка. При цьому вкладені блоки мають більший розмір відступу (наприклад, 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("Третя чверть")

Питання для самоперевірки

if а%10<3: b = a*2

elif а%10 <= 5: b = a+10

elif а%10 <= 7: b = a*10

else: b = a+1  

Чому дорівнюватиме значення змінної b після виконання коду, якщо спочатку: а)  а = 13; б)  а = 30; в)  а = 88; г)  а = 11?

VІІI. Домашнє завдання

Підручник § 3 ст. 16-21