6.2. Оператори циклу з умовою.

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

Оператор циклу з переумовою.

Оператор має синтаксис:

Do While умова

 Тіло циклу

Loop

де Do, While, Loop – службові слова,

умова – логічний вираз. Поки умова виконується, виконується і тіло циклу. Порушення умови призводить до виходу з тіла циклу. Якщо порушення умови має місце при вході у цикл, тіло циклу не виконується жодного разу. Очевидно, що зміна умови повинна бути передбачена в тілі циклу, у противному випадку буде мати місце зациклення (нескінчене виконання циклу).

Приклад:

Do While S<100

 S=S+X

 X=X+1

Loop

Оператор циклу з постумовою.

Оператор має синтаксис:

Do Until умова

 Тіло циклу

Loop

де Do, Until, Loop – службові слова,

умова – логічний вираз. Тіло циклу виконується до тих пір, поки умова не виконається. Отже, виконання умови призводить до виходу з циклу. Якщо при вході у цикл умова одразу виконається, тіло циклу не виконається жодного разу.

Приклад:

Do Until S>=100

 S=S+X

 X=X+1

Loop

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

VBA має ще одну конструкцію для запису циклу з умовою. Для цього призначений оператор While…Wend. Він має такий формат:

While умова

 Тіло циклу

Wend

де While та Wend – службові слова, а інші складові мають той самий смисл, що і для конструкції Do…Loop.

Приклад:

While S<100

 S=S+X

 X=X+1

Wend

Оскільки оператор While…Wend еквівалентний наведеним вище, то вибір конструкції – справа програміста.

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  Наверх ↑