Алгоритми
з повтореннями
У природі можна спостерігати
процеси, які багаторазово повторюються.
Так, наприклад, кожного дня Сонце сходить над горизонтом і заходить за
горизонт.
Кожного місяця можна бачити на
небосхилі одне й те саме змінення фаз Місяця.
Кожного року Сонце проходить через
одні й ті самі сузір'я - сузір'я Зодіаку.
Процеси, які повторюються, називаються циклічними.
Кожний з вас бере участь у
циклічних процесах. Так, у школі протягом одного семестру щотижня в одні й ті
самі дні
відбуваються одні й ті
самі уроки згідно з розкладом.
Кожного робочого дня в школі уроки
й перерви тривають протягом одних і тих самих інтервалів часу.
Кожного разу, коли вам потрібно
закип'ятити воду в чайнику, ви виконуєте одну Й ту саму послідовність дій.
Найчастіше ви йдете або ідете з дому до спортивної секції або музичної школи
одним і тим самим маршрутом.
Герой твору Марка Твена Том Сойєр
мав фарбувати огорожу за циклічним алгоритмом: одну й ту саму команду —
фарбування стовпчика огорожі — слід повторювати, доки всю огорожу не буде
пофарбовано.
А щоб вивчити строфу вірша
напам'ять, спочатку її читають, а тоді пробують розповісти по пам'яті. Якщо це
не вдається, то продовжують читати знову — тобто повторюють цю дію кілька
разів.
Наведені приклади можна подати
циклічними алгоритмами, оскільки в кожному з них повторюються деякі дії.
Кількість повторів може бути різною, але скінченною:
діжку можна заповнити за 8 повторень, кількість повторів під час фарбування
огорожі залежить від кількості стовпчиків, а кількість повторів під час
вивчення вірша залежить від здібностей до запам'ятовування конкретної людини.
Для опису циклічних алгоритмів
використовують алгоритмічну структуру повторення.
В алгоритмах розв'язування багатьох
задач потрібно виконати одну або кілька команд більше ніж один раз.
Для цього такі алгоритми мають
містити команди, які визначатимуть, які команди повинні виконатися неодноразово
і скільки саме разів.
Розглянемо таку задачу.
Задача.
У дворі є порожні діжка і відро ємністю 50 л і 10 л відповідно та колодязь.
Потрібно наповнити діжку водою.
Очевидно, для розв'язування цієї
задачі потрібно виконати такий алгоритм:
Повторення
— базова алгоритмічна структура, призначена для організації багаторазового
виконання набору команд.
Вираз «багаторазове виконання»
означає, що команди будуть виконуватися скінченну
кількість разів.
Кількість повторень у циклічних
алгоритмах може бути або заздалегідь відомою, або ні, тому розрізняють:
Якщо кількість повторень
заздалегідь не відома, то для припинення циклу задається деяка умова, яка і
забезпечує скінченність виконання команд, що повторюються.
Цикл повторення з невідомою
кількістю повторень передбачає перевірку деякої умови,
як наприклад, в алгоритмі забивання цвяха в дошку.
У разі, коли в алгоритмі кількість
повторів заздалегідь не відома, у середовищі Скретч
використовують
команду Завжди.
Щоб зупинити виконання команд,
розміщених у тілі такого циклу, користувачу слід натиснути кнопку Стоп.
У середовищі Скретч
складений
алгоритм можна подати у вигляді програми.
Для допитливих. Студія коду
Питання для самоперевірки:
1. Як розрізнити лінійні та циклічні алгоритми?
2. Наведіть приклади структури повторення в алгоритмах із навколишнього життя, навчальної діяльності.
3. Як виконувати алгоритми з повторенням з навчальної діяльності та побуту?
4. Які команди слід добрати для реалізації алгоритмічної структури повторення в середовищі Скретч?
Домашнє завдання. За підручником с.186 - 188
На платформі онлайн середовища Scratch 2 продовжувати працювати над проєкт Заблукалий у космосі (алгоритм створення за посиланням ).
Питання для самоперевірки:
1. Як розрізнити лінійні та циклічні алгоритми?
2. Наведіть приклади структури повторення в алгоритмах із навколишнього життя, навчальної діяльності.
3. Як виконувати алгоритми з повторенням з навчальної діяльності та побуту?
4. Які команди слід добрати для реалізації алгоритмічної структури повторення в середовищі Скретч?
Домашнє завдання. За підручником с.186 - 188
На платформі онлайн середовища Scratch 2 продовжувати працювати над проєкт Заблукалий у космосі (алгоритм створення за посиланням ).
Немає коментарів:
Дописати коментар