Оператор циклу Do While...Loop / Do...Loop While

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

Синтаксис циклу While:

   Do While Умова_виходу

      Група операторів

   Loop

або:

   Do

      Група операторів

   Loop While Умова_виходу

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

Наприклад такий:

        Do While 2 > 1

            MessageBox.Show("Вічний цикл")

        Loop

Якщо у Вас випадково вийшов такий цикл, то вийти з нього можна при натисканні Ctrl+Break. Але це працює тільки в середовищі розробки.

Приклад:

        Dim n As Integer

        n = 100

 

        Do While n >= 0

            n = n - 1

            MessageBox.Show(n)

        Loop