Інформація про новину
  • Переглядів: 167
  • Дата: 28-09-2022, 19:18
28-09-2022, 19:18

30. Алгоритми з повтореннями. Цикл із лічильником

Категорія: Інформатика





Попередня сторінка:  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

 




Попередня сторінка:  29. Алгоритми і програми з розгалуження...
Наступна сторінка:   31. Алгоритми і програми з циклами з ліч...



^