Алгоритми з повтореннями. Цикл із параметром
Нова українська школа
Урок 37
Інформатика 6
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Алгоритми з повтореннями. Цикл із параметром
Однією з базових алгоритмічних структур є цикл.
Ви вже маєте досвід записування алгоритмів із повторенням (циклів) мовою Python за допомогою команди циклу з параметром.
Повторення (цикл) — це алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів.
Згадаємо: серію команд, яка повторюється під час виконання циклу, називають тілом циклу, а кожне виконання тіла циклу — ітерацією.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Повторення команд
Цикл із параметром (for) зручно використовувати, якщо відома кількість повторень. Тіло циклу повторюється стільки разів, скільки значень у заданій послідовності.
Синтаксис команди циклу for:
— обов’язковий відступ від лівого краю.
for і in <послідовність>:
<тіло циклу>
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Повторення команд
Ключове слово in наказує почергово надати змінній і усі значення із зазначеної послідовності
for і in <послідовність>:
<тіло циклу>
Вказуємо назву змінної (і), яка буде параметром
Після ключового слова for
Послідовність значень можна задати як список — набір значень, розділених комами, взятий у квадратні дужки.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Повторення команд
Розгляньте приклад
Виведемо почергово в консоль значення зі списку:
Програмний код
Результат
—> 2
—> 4
—> 6
—> 8
—> 10
b = [2, 4, 6, 8, 10]
for x in b:
print('—>', x)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Повторення команд
—> к
—> а
—> л
—> и
—> н
—> а
Послідовність значень можна також задати у вигляді рядка. Тоді параметр циклу почергово набуде значень символів рядка.
Розгляньте приклад
Виведемо почергово в консоль літери рядка:
Програмний код
for і in 'калина':
print('—> ', і)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Послідовність цілих чисел можна отримати так:
range(start, stop, step)
Відлік починається зі значення start
Завершується на 1 раніше за значення stop
Із кроком step
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Розгляньте приклад
Надрукувати парні числа в діапазоні від 10 до 20:
Програмний код
Результат
10 12 14 16 18
for i in range(10, 20, 2):
print(i, end = ' ')
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Розглянемо різні варіанти задання діапазонів.
Надрукувати числа від 20 до 22. Якщо step = 1, цей параметр можна не вказувати
Програмний код
Результат
20
21
22
step = 1
for i in range(20, 23):
print(i)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Продовження…
Надрукувати числа від 0 до 3. Якщо start = 0, цей параметр можна не вказувати
Програмний код
Результат
0
1
2
3
start = 0
step = 1
for i in range(4):
print(i)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Надрукувати числа від 5 до 1. Якщо потрібно вести відлік у зворотному порядку, step має бути від'ємним
Програмний код
Результат
5
4
3
2
1
step = -1
for i in range(5, 0, -1):
print(i)
Продовження…
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Розгляньте приклад
Виведемо в консоль таблицю множення на 5.
Програмний код
Результат
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
for i in range(1, 10):
print(i, '* 5 = ', i*5)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Розгляньте приклад
Вкладник поклав до банку 1000 грн під 15% річних. Скільки грошей буде на його рахунку через 5 років?
Програмний код
Результат
1 рік - 1150.0 грн.
2 рік - 1322.5 грн.
3 рік - 1520.88 грн.
4 рік - 1749.01 грн.
5 рік - 2011.36 грн.
s = 1000
for i in range(5):
# Збільшення суми внеску на 15 %
s = s+s*0.15
# Значення s виводиться з двома
# знаками після коми
print(i+1, 'рік -', round(s, 2), 'грн.')
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Згадаємо «черепашачу» графіку. Програма малює спіраль із заданою кількістю кутів n. Під час кожної ітерації Черепашка малює лінію довжиною х пікселів і повертається вліво на 3600/n. Оскільки кожен відрізок на 2 пікселі довший за попередній, то отримуємо спіраль.
from turtle import*
color('blue')
n = int(input("Скільки кутів?"))
for x in range(50):
forward(x)
left(360/n
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Діапазони (range)
Отже, цикл for використо-вується, якщо для певної послідовності значень потрібно повторити одні й ті самі дії.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Питання для самоперевірки
б) for x in range(2, 6); в) for х in range(8, 0, -2).
a) for і in range(8): б) for і in range(10, 0, -2):
print(i) print(i)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Розгадайте ребус
Повторення
«Ребуси українською» © rebus1.com
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Домашнє завдання
Проаналізувати
с. 201-206
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Працюємо за комп’ютером
Сторінка
205-206
© Вивчаємо інформатику teach-inf.com.ua
Розділ 6
§ 31
Дякую за увагу!
Нова українська школа
Урок 37
Інформатика 6
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.