Шаг 68.
Циклы Do ... Loop

    На этом шаге мы рассмотрим циклы Do ... Loop.

    Используя эти служебные слова, можно “сконструировать” как циклы с предусловием (сначала проверяется условие, а потом выполняется тело цикла), так и с постусловием (сначала выполняется тело цикла, а затем проверяется условие). Взгляните на следующую таблицу:

Таблица 1.Возможные конструкции циклов 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.




Предыдущий шаг Содержание Следующий шаг