Тема 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.

Як вже зазначалось, оператор циклу з параметром є дуже зручним для опрацювання даних структурованих типів.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑