Попередня сторінка: 29. Алгоритми і програми з розгалуження...
Наступна сторінка: 31. Алгоритми і програми з циклами з ліч...
Повторення (цикл) — це алгоритмічна структура, за
допомогою якої та сама послідовність дій виконується кілька разів.
Розглянемо правила запису алгоритмів із повторенням (циклів) мовою Python з використанням оператора циклу for — циклу із лічильником.
Повторення команд
Цикл for (цикл із параметром) повторює блок команд (тіло циклу) задану кількість разів, позбавляючи необхідності кількаразово писати одні й ті самі команди.
Синтаксис оператора циклу for:
for і in range(n) :
<тіло циклу>
Насамперед ми вказуємо ключове слово for, потім — змінну і, яка буде лічильником циклу. Ключове слово in наказує почергово надати змінній і усі цілі значення з послідовності чисел від 0 до n-1. Не забувайте, що лічильник починає рахувати з 0, а не з 1.
Серію команд, що повторюється під час виконання циклу, називають тілом циклу. Кожне виконання тіла циклу називають ітерацією.
ПРИКЛАД 1. Проаналізуйте зміну значень лічильника і у циклі for. Функція range(4) задає список значень [0, 1, 2, 3]: for і in range(4): print^)
Вбудована функція range() повертає зростаючу послідовність цілих чисел, які можна використовувати у виразах всередині циклу. Щоб дати зрозуміти комп’ютеру, які команди слід повторити, використовуються відступи. Можна зробити відступ для кожної повторюваної в тілі циклу команди, натискаючи для цього клавішу Tab.
ПРИКЛАД 2. У прикладі 1 (§ 25) для малювання трикутника ми тричі, для кожної сторони трикутника, давали Черепашці команди forward(100) і right(120). Замість цього можна повторити ці команди в циклі (рис. 30.1). Результат виконання циклу представлений на рис. 30.2, а.
Щоб оператор циклу намалював квадрат (рис. 30.2, б), змінимо кількість повторень циклу і кут повороту: for і in range(4):
forward(100)
right(90)
Лічильник циклу for
Лічильник циклу (змінна циклу) почергово набуває всіх значень з указаної послідовності. Цикл виконає стільки повторень, скільки значень задано у цій послідовності.
ПРИКЛАД 3. Лічильник почергово набуває значення літер, з яких складається зазначений рядок (рис. 30.3)
Послідовність значень може бути задана у вигляді списку.
Список — це набір значень, розділених комами, взятий у
квадратні дужки.
У списках можна зберігати значення будь-якого типу — числа або рядки. Можна сказати, що список — це контейнер для збереження набору значень.
ПРИКЛАД 4. Лічильник почергово набуває заданих значень зі списку (рис. 30.4).
Якщо список значень лічильника достатньо великий і числа в списку змінюються з певним кроком, можна застосувати функцію range() із такими параметрами:
range(B^, до, крок)
Відлік починається зі значення від і завершується на 1 раніше за значення до.
ПРИКЛАД 5. Функція range(2, 11, 3)
надає змінній х значення від 2 до (11-1) із кроком 3, тому, хоча 8 + 3 = 11, значення 11 уже до послідовності значень не входить (рис. 30.5).
Якщо значення від більше, ніж значення до, і значення крок > 0, цикл не виконається жодного разу.
ПРИКЛАД 6. Якщо потрібно вести зворотний відлік (у бік зменшення значень), укажіть значення від більшим, ніж значення до, а крок має бути від’ємним (рис. 30.6).
Приклади розв’язування задач за допомогою циклу for
ПРИКЛАД 7. ти непарних чисел
з проміжку від 11 до 19 (рис. 30.7). for i in range(11, 20, 2):
print(i, ”**2 = ”, i*i)
ПРИКЛАД 8. тури 5 цілих чисел і
визначити, скільки серед уведених чисел було парних.
Створимо змінну k, у якій зберігатимемо кількість парних чисел. Змінна а при кожній ітерації циклу буде набувати введеного з клавіатури значення (рис. 30.8).
ПРИКЛАД 9. раму, яка здійснює зворотний відлік.
Отже, цикл із лічильником є потужним інструментом програмування, він позбавляє програміста необхідності писати однакові блоки коду кілька разів, дозволяє в компактному коді виконувати велику кількість операцій.
ЦІКАВІ ФАКТИ. Віктор Михайлович Глушков — засновник Інституту кібернетики Національної академії наук України, активний учасник світового процесу становлення та розвитку нових напрямів науки ХХ і ХХІ ст. — обчислювальної техніки, інформатики, кібернетики. Під його керівництвом був розроблений перший в Україні та колишньому СРСР персональний комп’ютер «МИР-1».
Питання для самоперевірки
1. Поясніть правила виконання циклу for.
2. Яких значень набуває змінна х у ході виконання циклу: for х in range(5)?
3. Яких значень набуває змінна х у ході виконання циклу: for х in range(0, 10, 2)?
4. Що буде надруковано в ході виконання циклу:
а) s = ’цикл’ в) for х in range(5):
for х in s: Ргіп^х*х)
print(x)
б) b = [1, 3, 5, 7, 9] г) for х in range(2, 10, 2):
for х in b: print(x*2)
print(x)
5. Чому дорівнює s після виконання циклу:
а) s = 0 в) s = 0
for a in range(5, 7, 1) for a in range(10, 5, 1)
s = s+1 s = s+1
б) s = 0 г) s = 0
for a in range(5, 7, 1) for a in range(10, 5, -1)
s = s+a s = s+а
Вправа 30
Створити рисунки з використанням циклу for.
1) Відкрийте вікно IDLE і створіть нове вікно програми. Збережіть файл з іменем Вправа 30.
2) Запишіть програму для побудови поданого малюнка (рис. 30.9).
from turtle import* color('blue’) for i in range(1, 100, 2): up()
goto(i*2, 0) down() circle(i)
3) Запустіть програму на виконання.
Скільки кіл побудовано?
4) Змініть параметри функції range() таким чином: range(1, 100, 6). Запустіть програму на виконання. Скільки кіл побудовано?
5) Поставте на початку рядка goto(i*2, 0) символ #. Запустіть програму на виконання. Як змінився рисунок?
6*) Змініть команду goto(i*2, 0), щоб малюнок мав такий вигляд, як на рис. 30.10.
Комп’ютерне тестування
Виконайте тестове завдання 30 з автоматичною перевіркою результату.
Це матеріал з підручника "Інформатика" 5 клас Бондаренко 2022
Наступна сторінка: 31. Алгоритми і програми з циклами з ліч...