На этом шаге мы рассмотрим циклы Do ... Loop.
Используя эти служебные слова, можно “сконструировать” как циклы с предусловием (сначала проверяется условие, а потом выполняется тело цикла), так и с постусловием (сначала выполняется тело цикла, а затем проверяется условие). Взгляните на следующую таблицу:
Конструкция | Описание |
---|---|
ЦИКЛЫ С ПРЕДУСЛОВИЕМ | |
Do While <условие> <тело цикла> Loop |
Сначала проверяется условие. Если оно истинно, то выполняется тело цикла, после чего снова осуществляется переход на проверку условия. Тело цикла выполняется до тех пор, пока условие не станет ложным. |
Do Until <условие> <тело цикла> Loop |
Сначала проверяется условие. Если оно ложно, то выполняется тело цикла, после чего снова осуществляется переход на проверку условия. Тело цикла выполняется до тех пор, пока условие не станет истинным. |
ЦИКЛЫ С ПОСТУСЛОВИЕМ | |
Do <тело цикла> Loop While <условие> |
Сначала выполняется тело цикла, после чего осуществляется проверка условия. Если оно истинно, то снова выполняется тело цикла. Это повторяется до тех пор, пока проверяемое условие не станет ложным. |
Do <тело цикла> Loop Until <условие> |
Сначала выполняется тело цикла, после чего осуществляется проверка условия. Если оно ложно, то снова выполняется тело цикла. Это повторяется до тех пор, пока проверяемое условие не станет истинным. |
Проиллюстрируем использование указанных конструкций на простом примере: создадим HTML-документ, содержащий 4 кнопки, активизация каждой из которых приведет к выводу на экран суммы первых 10 натуральных чисел. Нажатие любой кнопки ведет к выполнению соответствующей процедуры, реализующей одну из перечисленных конструкций цикла.
Приведем текст этого HTML-документа:
<HTML> <HEAD> <TITLE>Пример №1</TITLE> <SCRIPT LANGUAGE=VBScript> <!-- Sub Button1_OnClick() Sum = 0 i = 1 Do While i<=10 Sum = Sum + i i = i + 1 Loop Alert "Сумма при использовании цикла Do While равна:"&Sum End Sub Sub Button2_OnClick() Sum = 0 i = 1 Do Until i>10 Sum = Sum + i i = i + 1 Loop Alert "Сумма при использовании цикла Do Until равна:"&Sum End Sub Sub Button3_OnClick() Sum = 0 i = 1 Do Sum = Sum + i i = i + 1 Loop While i<11 Alert "Сумма при использовании цикла Loop While равна:"&Sum End Sub Sub Button4_OnClick() Sum = 0 i = 1 Do Sum = Sum + i i = i + 1 Loop Until i>10 Alert "Сумма при использовании цикла Loop Until равна:"&Sum End Sub '--> </SCRIPT> </HEAD> <BODY> <H2>Демонстрация четырех конструкций циклов</H2> Щелчок по каждой из кнопок выводит сумму первых 10 натуральных чисел. <FORM> <INPUT TYPE="BUTTON" NAME="BUTTON1" Value="Цикл Do While"> <INPUT TYPE="BUTTON" NAME="BUTTON2" Value="Цикл Do Until"> <INPUT TYPE="BUTTON" NAME="BUTTON3" Value="Цикл Loop While"> <INPUT TYPE="BUTTON" NAME="BUTTON4" Value="Цикл Loop Until"> </FORM> </BODY> </HTML>
Результат просмотра этого HTML-документа в браузере изображен на рисунке 1:
Рис.1. Результат просмотра документа в браузере
На следующем шаге мы рассмотрим цикл For ... Next.