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 еквівалентний наведеним вище, то вибір конструкції – справа програміста.
25 26 27 28 Наверх ↑