1 of 17

Алгоритми з повтореннями, вкладеними в розгалуження

Нова українська школа

Урок 41

Інформатика 6

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 17

Алгоритми з повтореннями,�вкладеними в розгалуження

Цикли у свою чергу можуть бути вкладеними в розгалуження. Команду циклу може містити команда:

повного розгалуження

неповного розгалуження

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

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

3 of 17

Цикл, вкладений у неповне розгалуження

Цикл може входити в неповне розгалуження так, щоб він виконувався, якщо результат перевірки умови розгалуження Так.

Фрагмент блок-схеми цієї конструкції

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

4 of 17

Цикл, вкладений у неповне розгалуження

Розгляньте приклад 1

Якщо в тренерки день народження, тричі привітати її.

Програмний код

vidp = input('Сьогодні ваш день народження? (Так/Ні) ')

if vidp == 'Так':

for і in range(3):

print('Вітаємо!')

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

5 of 17

Цикл, вкладений у неповне розгалуження

Розгляньте приклад 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

6 of 17

Цикл, вкладений у неповне розгалуження

Розгляньте приклад 3

Якщо значення змінної а належить до рядкового�типу (), вивести всі літери рядка

Програмний код

Результат

a = ? книга

к

н

и

г

а

a = input('a = ? ')

if str(type(a)) == "<class 'str'>":

for i in a:

print(i)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

7 of 17

Цикл із передумовою,�вкладений у повне розгалуження

У повному розгалуженні команди циклу можуть входити як до гілки Так, так і до гілки Ні.

Тобто виконується один із двох циклів залежно від результату перевірки умови розгалуження.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

8 of 17

Цикл із передумовою,�вкладений у повне розгалуження

В алгоритмі, фрагмент блок-схеми якого подано на рисунку,

команда циклу виконується, якщо результат перевірки умови розгалуження Так.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

9 of 17

Цикл із передумовою,�вкладений у повне розгалуження

Розглянемо задачу з прикладу 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

10 of 17

Цикл із передумовою,�вкладений у повне розгалуження

Програма запитує: Малювати кола чи квадрат? і чекає на відповідь. Якщо відповідь 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

11 of 17

Цикл із передумовою,�вкладений у повне розгалуження

Продовження…

Результат

Малювати кола чи квадрат (1/2)? 1

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

12 of 17

Цикл із передумовою,�вкладений у повне розгалуження

Цікаві факти

Біля витоків української школи програмування стояла Катерина Ющенко, докторка фізико-математичних наук, авторка однієї з перших у світі мов програмування високого рівня, в якій застосовуються операції над адресами об’єктів у пам’яті комп’ютера.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

13 of 17

Цикл із передумовою,�вкладений у повне розгалуження

Продовження…

Як піонерка програмування вона увійшла до галереї програмістів у Музеї комп’ютерної історії в Кремнієвій долині (США).

Її портрет висить у «Музеї Тюрінга» (Велика Британія).

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

14 of 17

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

  1. Наведіть приклади задач, для розв’язування яких потрібно скласти алгоритм, що містить цикл із параметром, вкладений:

а) неповне розгалуження;

б) повне розгалуження.

  1. Складіть блок-схему алгоритму, в якому цикл із умовою вкладено в повне розгалуження і який виконується, якщо результат перевірки умови розгалуження Ні.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

15 of 17

Домашнє завдання

Проаналізувати

с. 223-228

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

16 of 17

Працюємо за комп’ютером

Сторінка

227-228

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 35

17 of 17

Дякую за увагу!

Нова українська школа

Урок 41

Інформатика 6

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.