Алгоритми з повтореннями, вкладеними в розгалуження
Нова українська школа
Урок 41
Інформатика 6
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Алгоритми з повтореннями,�вкладеними в розгалуження
Цикли у свою чергу можуть бути вкладеними в розгалуження. Команду циклу може містити команда:
повного розгалуження
неповного розгалуження
Розглянемо приклади алгоритмів із повтореннями вкладеними в розгалуження.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл, вкладений у неповне розгалуження
Цикл може входити в неповне розгалуження так, щоб він виконувався, якщо результат перевірки умови розгалуження Так.
Фрагмент блок-схеми цієї конструкції
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл, вкладений у неповне розгалуження
Розгляньте приклад 1
Якщо в тренерки день народження, тричі привітати її.
Програмний код
vidp = input('Сьогодні ваш день народження? (Так/Ні) ')
if vidp == 'Так':
for і in range(3):
print('Вітаємо!')
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл, вкладений у неповне розгалуження
Розгляньте приклад 2
Якщо число а є трицифровим, знайти суму цифр числа а. Умова неповного розгалуження перевіряє, чи відповідає уведене число умові задачі
Умова задачі
365%10 = 5
365//10 = 36
a = int(input('a = ?'))
if a >= 100 and a<1000:
s = 0
for і in range(3):
s = s+a%10
a = a//10
print('s = ', s)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл, вкладений у неповне розгалуження
Розгляньте приклад 3
Якщо значення змінної а належить до рядкового�типу (), вивести всі літери рядка
Програмний код
Результат
a = ? книга
к
н
и
г
а
a = input('a = ? ')
if str(type(a)) == "<class 'str'>":
for i in a:
print(i)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
У повному розгалуженні команди циклу можуть входити як до гілки Так, так і до гілки Ні.
Тобто виконується один із двох циклів залежно від результату перевірки умови розгалуження.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
В алгоритмі, фрагмент блок-схеми якого подано на рисунку,
команда циклу виконується, якщо результат перевірки умови розгалуження Так.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
Розглянемо задачу з прикладу 2. Якщо число а не є трицифровим, то умова розгалуження хибна і цикл, вкладений у гілку Так, не виконується. У разі використання
a = int(input('a = ?'))
if a >= 100 and a<1000:
s = 0
for і in range(3):
s = s+a%10
a = a//10
print('s = ', s)
else:
print('Число має бути трицифровим')
неповного розгалуження не побачимо результату виконання. Доповнимо команду розгалуження гілкою else.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
Програма запитує: Малювати кола чи квадрат? і чекає на відповідь. Якщо відповідь 1 (обрали кола),
from turtle import*
k = input('Малювати кола чи квадрат (1/2)?')
if k == '1':
for і in range(5):
circle(50)
left(72)
else:
for і in range(4):
forward(100)
left(90)
то Черепашка малює квітку з п’яти кіл, інакше — малює квадрат.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
Продовження…
Результат
Малювати кола чи квадрат (1/2)? 1
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
Цікаві факти
Біля витоків української школи програмування стояла Катерина Ющенко, докторка фізико-математичних наук, авторка однієї з перших у світі мов програмування високого рівня, в якій застосовуються операції над адресами об’єктів у пам’яті комп’ютера.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Цикл із передумовою,�вкладений у повне розгалуження
Продовження…
Як піонерка програмування вона увійшла до галереї програмістів у Музеї комп’ютерної історії в Кремнієвій долині (США).
Її портрет висить у «Музеї Тюрінга» (Велика Британія).
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Питання для самоперевірки
а) неповне розгалуження;
б) повне розгалуження.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Домашнє завдання
Проаналізувати
с. 223-228
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Працюємо за комп’ютером
Сторінка
227-228
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 35
Дякую за увагу!
Нова українська школа
Урок 41
Інформатика 6
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.