Урок 7 по VBScript: Циклы do…loop и while…wend

Урок 7 по VBScript: Циклы do…loop и while…wend Программирование на VBSCRIPT

В этой статье мы изучим следующие циклы vbs сценариев, а именно: do…loop и while…wend, также рассмотрим применение оператора exit…do.

Данный вид vbs циклов языка vbscript имеет немного другую логику чем, например цикл for, тут мы задаем не диапазон количества итераций, а условие. Например, нам нужно найти сумму чисел, причем количество значений неизвестно, зато, есть условие – сумма всех элементов не должна быть больше 1000. Проверка условия может проверяться как в начале, так и в конце заданного цикла vbs.

Хорошо, давайте проанализируем все vbs циклы по порядку.

Do…Loop — Данный цикл vbs можно использовать в двух вариантах: проверка до начала выполнения итерации (предусловие) и проверка после начала выполнения итерации (пост-условие). Если проверка выполняется в конце, то, как минимум один раз будет выполнена итерация. Давайте рассмотрим общий синтаксис:

Do [While | Until] условие
тело цикла
[Exit Do]
тело цикла
Loop

или

Do
тело цикла
[Exit Do]
тело цикла
Loop [While | Until] условие

В первом случае после ключевого слова Do идет проверка условия, как в условном операторе if, если используется ключевое слово while, то работа vbs цикла будет выполняться до тех пор, пока условие истинно (равно true), если используется слово until – то наоборот, как только условие станет истинным (равно true), произойдёт выход из цикла. Оператор Exit Do позволяет выйти из vbs цикла.

Второй вариант синтаксиса аналогичен первому лишь с той разницей, что проверка условия осуществляется в конце.

Скачать архив с примерами

Хорошо, теперь давайте рассмотрим следующие 4 примера:

Первый пример

' *****************************************************************************' Do...Loop while' Создаём массив из 10 элементов' do_loop.vbs' *****************************************************************************OptionExplicit' массив MyArr из 10 элементовDim MyArr(9)' i - индекс массива, index - будет хранить значениеDim i, index i = 0   Do          MyArr(i) = i       index=index & MyArr(i) & vbCrLf     i=i+1' выполнять пока i меньше 10LoopWhile (i <10) ' i<=9 MsgBox "Значения элементов:" & vbCrLf & index & vbCrLf &_                              "Значение переменной i:" & i
VBScript: do while wend loop и do loop while wend

Второй пример

' *****************************************************************************' Do...Loop until' Создаём массив из 10 элементов' do_loop_1.vbs' *****************************************************************************OptionExplicit' массив MyArr из 10 элементовDim MyArr(9)' i - индекс массива, index - будет хранить значениеDim i, index  i = 0    Do          MyArr(i) = i       index=index & MyArr(i) & vbCrLf     i=i+1' завершить, когда i станет большее 9Loopuntil (i >= 10) ' i>9 MsgBox "Значения элементов:" & vbCrLf & index & vbCrLf &_                              "Значение переменной i:" & i

Третий пример

' *****************************************************************************' Do while...Loop' Создаём массив из 10 элементов' do_loop_2.vbs' *****************************************************************************OptionExplicit' массив MyArr из 10 элементовDim MyArr(19)' i - индекс массива, index - будет хранить значениеDim i, index  i = 0   ' выполнять пока i меньше 10DoWhile (i <10) ' i<=9     MyArr(i) = i       index=index & MyArr(i) & vbCrLf     i=i+1Loop MsgBox "Значения элементов:" & vbCrLf & index & vbCrLf &_                              "Значение переменной i:" & i

Четвёртый пример

' *****************************************************************************' Do until...Loop' Создаём массив из 10 элементов' do_loop_3.vbs' *****************************************************************************OptionExplicit' массив MyArr из 10 элементовDim MyArr(9)' i - индекс массива, index - будет хранить значениеDim i, index  i = 0   ' завершить, когда i станет больше 9DoUntil (i >=10) ' i>9     MyArr(i) = i       index=index & MyArr(i) & vbCrLf     i=i+1Loop MsgBox "Значения элементов:" & vbCrLf & index & vbCrLf &_                              "Значение переменной i:" & i

Все четыре примера сценария vbscript заполняют массив MyArr числами от 0 до 9 используя vbs циклы Do…Loop в том или ином варианте.

Простой vbs цикл while wend

while…wend — Конструкция while…wend является одной из vbs циклов, которая по своей природе очень проста:

While условие
тело цикла
Wend

Тут всё просто, если условие истинно – равно true, работа продолжается, иначе, происходит завершение работы.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий