Досить часто в реальному житті виникають задачі, які вимагають виконання великої кількості однієї і тієї ж дії, або послідовності дій.
Багатократно виконувана послідовність одних і тих самих інструкцій називається циклом. Наведемо приклади циклічних подій в нашому житті: зміна дня і ночі, робочий день школяра або дорослої людини, рух автобусу протягом дня по маршруту і т.д. Взагалі, важко привести приклад, в якому не було б циклів. Навіть читаючи текст цієї книги ви багатократно знаходите однакові символи українського алфавіту, зустрічаєте однакові слова, перегортаєте сторінки і т.п.
Нас будуть цікавити цикли, які використовуються в програмуванні, їх організація, правила використання і способи застосування.
Використовують три види циклів:
1. цикл з параметром;
2. цикл з передумовою;
3. цикл з післяумовою.
Цикл із параметром (із покроковою зміною аргументу) — це цикл, у якому тіло циклу виконується заздалегідь відому кількість разів. У різних алгоритмічних мовах реалізація цього циклу може передбачати використання аргументів різних типів, зміну аргументу на різний крок, діапазон зміни аргументу і т. д.
Цикл із лічильником аргументу реалізовується таким чином:
аргументу надається початкове значення;
якщо значення входить у заданий діапазон, то виконується тіло циклу;
аргумент змінюється на заданий крок; виконується 2);
якщо значення не входить у заданий діапазон, то виконання циклу припиняється і керування передається оператору, наступному за оператором циклу.
Цикл із передумовою (або цикл-«поки») — це цикл, у якому тіло циклу виконується тільки у разі виконання умови, заданої перед тілом циклу. Якщо умова стає невірною, то робота циклу припиняється і керування передається оператору, наступному за оператором циклу
Цикл із післяумовою (або цикл-«до») — це цикл, у якому тіло циклу виконується доти, поки умова, задана після тіла циклу, не стане правильною. Якщо умова стає правильною, то робота циклу припиняється й управління передається оператору, наступному за оператором циклу.
7…
Вкладено структура
Існує можливість утворити цикл всередині тіла другого циклу. Такий цикл зветься вкладеним циклом. Вкладений цикл стосовно до циклу в тіло якого він вкладений буде йменуватися внутрішнім циклом, і навпаки цикл в тілі якого ісеує вкладений цикл буде йменуватись зовнішнім стосовно до вкладеного. Всередині вкладеного циклу може бути наступний вкладений цикл, утворюючи наступний рівень вкладеності і так далі. Кількість рівнів вкладеності, як правило, не обмежується. Повна кількість виконання тіла внутрішнього циклу не перевищує добутку кількості ітерацій внутрішнього і всіх зовнішніх циклів. Наприклад взяв три вкладених один в одного цикли, кожний по 10 ітерацій, отримаємо 10 виконань тіла зовнішнього циклу, 100 для циклу другого рівня і 1000 в найбільш вкладеному циклі. Одна з проблем, пов'язаних із вкладеними циклами — організація дострокового виходу з них. В багатьох мовах програмуванняє оператор дострокового завершення циклу (break у Сі, exit у Паскалі, last в Perl і т. п.), але він, як правило, забезпечує вихід лише з циклу того рівня, звідки викликаний.