Урок 29. Алгоритми з повтореннями
У природі можна спостерігати процеси, які
багаторазово повторюються. Так, наприклад, кожного дня Сонце сходить над горизонтом
і заходить за горизонт. Кожного місяця можна бачити на небосхилі одне й те саме
змінення фаз Місяця.
Кожного року
Сонце проходить через одні й ті самі сузір'я - сузір'я Зодіаку.
Кожний з вас бере участь у циклічних процесах.
Так, у школі протягом одного семестру щотижня в одні й ті самі дні
відбуваються одні й ті
самі уроки згідно з розкладом. Кожного
разу, коли вам потрібно закип'ятити воду в чайнику, ви виконуєте одну й ту саму
послідовність дій. Найчастіше ви йдете або ідете з дому до спортивної секції
або музичної школи одним і тим самим маршрутом.
А щоб вивчити строфу вірша напам'ять, спочатку
її читають, а тоді пробують розповісти по пам'яті. Якщо це не вдається, то
продовжують читати знову — тобто повторюють цю дію кілька разів.
Наведені приклади можна подати циклічними
алгоритмами, оскільки в кожному з них повторюються деякі дії. Кількість
повторів може бути різною, але скінченною: діжку можна заповнити за 8
повторень, а кількість повторів під час вивчення вірша залежить від здібностей
до запам'ятовування конкретної людини.
Для опису циклічних алгоритмів використовують алгоритмічну структуру
повторення.
В алгоритмах розв'язування багатьох задач
потрібно виконати одну або кілька команд більше ніж один раз. Для цього такі алгоритми мають містити
команди, які визначатимуть, які команди повинні виконатися неодноразово і
скільки саме разів.
Повторення — базова алгоритмічна структура, призначена
для організації багаторазового виконання набору команд.
Вираз «багаторазове виконання» означає,
що команди будуть виконуватися скінченну кількість разів.
Кількість повторень у циклічних алгоритмах може бути або заздалегідь відомою, або ні,
тому розрізняють:
·
повторення з визначеною кількістю
повторень;
·
повторення з невідомою
кількістю повторень.
Якщо кількість повторень заздалегідь не
відома, то для припинення циклу задається деяка умова, яка і забезпечує
скінченність виконання команд, що повторюються.
Цикл повторення з невідомою кількістю повторень передбачає перевірку деякої умови, як наприклад, в алгоритмі забивання цвяха в дошку.
У разі, коли в алгоритмі кількість повторів
заздалегідь не відома, у середовищі Скретч використовують команду Завжди.
Щоб зупинити виконання команд, розміщених у тілі такого циклу, користувачу слід натиснути кнопку.
У середовищі Скретч складений алгоритм можна
подати у вигляді програми.