Для чого в алгоритмах використовують структуру повторення?
Алгоритм, у якому
передбачається багаторазове виконання одного й того самого набору команд,
називають циклічним. Наприклад, для того щоб наповнити водою діжку місткістю 80 л , маючи десяти літрове відро,
потрібно виконувати 8 разів одні й ті самі дії: набрати воду у відро, вилити
воду в діжку.
Герой твору Марка Твена Том
Сойєр мав фарбувати огорожу за циклічним алгоритмом: одну й ту саму команду —
фарбування стовпчика огорожі — слід повторювати, доки всю огорожу не буде
пофарбовано.
А щоб вивчити строфу вірша
напам’ять, спочатку її читають, а тоді пробують розповісти по пам’яті. Якщо це
не вдається, то продовжують читати знову — тобто повторюють цю дію кілька
разів.
Наведені приклади можна
подати циклічними алгоритмами, оскільки в кожному з них повторюються деякі дії.
Кількість повторів може бути
різною, але скінченною: діжку можна заповнити за 8 повторень, кількість
повторів під час фарбування огорожі залежить від кількості стовпчиків, а
кількість повторів під час вивчення вірша залежить від здібностей до
запам’ятовування конкретної людини. Для опису циклічних алгоритмів
використовують алгоритмічну структуру повторення.
Повторення — базова
алгоритмічна структура, призначена для організації багаторазового виконання
набору команд.
Вираз «багаторазове
виконання» означає, що команди будуть виконуватися скінченну кількість разів.
Як можна розрізняти повторення?
Кількість повторень у
циклічних алгоритмах може бути або заздалегідь відомою, або ні, тому
розрізняють повторення з визначеною та невідомою кількістю повторень. Якщо
кількість повторень заздалегідь не відома, то для припинення циклу задається
деяка умова, яка і забезпечує скінченність виконання команд, що повторюються.
Команди циклу з визначеною
кількістю повторень будуть повторюватись до досягнення потрібної кількості
повторень. Наприклад, алгоритм побудови квадрата, у якому 4 рази потрібно
повторювати дії «намалювати сторону», «повернути за годинниковою стрілкою на
90», можна подати графічно
Немає коментарів:
Дописати коментар