Тема 6. Програмування циклічних алгоритмів.
Питання теми та основні терміни.
Оператор циклу з параметром.
Оператори циклу з умовою.
Переривання нескінченого циклу.
Перебір колекцій.
Інформаційні матеріали теми
Цикл, оператор циклу, параметр циклу, тіло циклу, колекція об’єктів.
6.1. Оператор циклу з параметром.
Оператори циклу призначені для запису алгоритмів, у яких певна група дій повторюється декілька раз. Ця група називається тілом циклу. Цикли поділяються на цикли з відомою кількістю повторень і цикли з невідомою кількістю повторень. В перших кількість повторень тіла циклу визначається на початку його виконання і не змінюється . Як правило, такі цикли застосовуються для опрацювання структур даних з відомою кількістю елементів, організації обчислень з відомою кількістю кроків. Цикли з невідомою кількістю повторень відрізняються тим, що повторення тіла циклу залежить від певної умови, яка перевіряється при кожному виконанні тіла циклу. Такі цикли використовуються для організації ітераційних обчислень з заданою точністю, пошукових алгоритмів, тощо.
Як і інші поширені мови програмування, VBA має декілька операторів циклу і дозволяє реалізувати обидва зазначених різновиди циклічних алгоритмів. Найбільш вживаним є оператор циклу з параметром.
Цей оператор призначений для запису циклів з відомою кількістю повторень тіла циклу. Він має вигляд
For параметр = поч. знач To кін. знач Step крок
Тіло циклу
Next параметр
де For, To, Step, Next – службові слова;
параметр – змінна, що підраховує кількість повторень тіла циклу; вона може бути тільки цілого типу;
поч. знач, кін. знач., крок – вирази, що задають початкове, кінцеве значення параметру циклу та крок його зміни; якщо крок рівний одиниці, його можна не задавати і службове слово Step не вказується;
тіло циклу – група операторів, що повторюється декілька разів.
Параметр циклу змінюється у вказаних межах із заданим кроком автоматично. В ролі параметру циклу може бути будь-яка числова не індексована змінна. Виконання тіла циклу здійснюється до виходу параметра за межі вказаного діапазону його зміни. Якщо при вході в цикл параметр вже виходить за межі діапазону (наприклад, початкове значення більше за кінцеве при додатному крокові), то тіло циклу не виконується ні разу. Як видно з синтаксису оператора, тіло циклу обмежене службовими словами For та Next.
Приклад.
For I = 1 To 10
X=X+2
Y=Y+X
Next I
Як правило, тіло циклу виконується наперед задану кількість раз. Однак іноді потрібно перервати виконання тілу циклу дострокова. Для цього в тілі циклу використовується оператор ExitFor. Він розташовується, як правило, в умовному операторі, який задає та перевіряє умову дострокового виходу з циклу. Фактично, за допомогою оператору ExitFor можна застосувати оператор циклу з параметром для запису циклу з невідомою кількістю повторень. В такому випадку максимальна кількість повторень тіла циклу вважається наперед заданим великим (в межах здорового глузду) числом, щоб уникнути зациклення при розв’язанні завдання. А фактична кількість повторень є невідомою визначається в ході розв’язання завдання.
Приклад.
For X = 1 To 10000
Y=X^2/(2^X+1)
If Y<0.0001 Then ExitFor
S=S+Y
Next I
В даному фрагментові тіло циклу виконається або 10000 разів, або коли значення змінної Y стане менше за 0,0001.
Як вже зазначалось, оператор циклу з параметром є дуже зручним для опрацювання даних структурованих типів.
25 26 27 28 Наверх ↑