Основы языка программирования Visual Basic: Учебное пособие, страница 12

Dim имя метки As Label

Например, имя метки – Skipit:

          MsgBox "Данная инструкция выполняется"

          Goto Skipit

          MsgBox "Данная инструкция пропускается"

          Skipit:

          MsgBox "Действие продолжается"

10.3. Структура Цикл

Цикл – это основная алгоритмическая структура, которая исполь-зуется для организации циклических вычислительных процессов.Под циклическим вычислительным процессом понимается процесс, в котором производятся вычисления по одним и тем же формулам, но при различных значениях параметров. Число повторений определяется значением неко-торого логического выражения, зависящего от управляющей переменной (параметра цикла).

Организация циклического процесса требует введения следующих понятий:

– параметр цикла (обозначим его х);

– начальное значение параметра цикла (обозначим его х0);

– конечное значение параметра цикла (обозначим его хк);

– шаг изменения параметра цикла (обозначим его Dх).

– условие окончания цикла (зависит от вида циклического процесса).

Различают циклы с параметром и итерационные циклы. В циклах с параметром заранее известно конечное значение параметра цикла и число его повторений. Условие окончания цикла записывается в виде логического выражения x £ xк. Если условие истинно, то циклический процесс продолжается, в противном случае заканчивается.

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

Рассмотрим структуру Цикл с параметром. Для организации этого типа вычислительных процессов используют циклы с пред- и постусловием. При этом различают простые циклические процессы (структура Цикл) и вложенные (структура Цикл в Цикле).

10.3.1. Цикл с предусловием

Структура Цикл с предусловием организуется следующим образом.

1. Параметру цикла х присваивается начальное значение, равное х0.

2. Проверяется условие окончания цикла (значение параметра цикла меньше конечного значения или равно ему).

3. Если условие окончания цикла истинно, то выполняется тело цикла. Если условие ложно, осуществляется переход к оператору, следующему за структурой Цикл.

4. Значение параметра цикла увеличивается на величину шага и осуществляется переход к пункту 2, но при новом значении параметра цикла.

Схема  алгоритма  структуры  Цикл с предусловием приведена на рис. 13.

Особенностью структуры Цикл с предусловием служит то, что тело цикла при начальном значении параметра x > xк  не выполняется ни разу.

Для реализации циклических вычислительных процессов с предусловием используются следующие операторы цикла.

Оператор For … Next

Синтаксис оператора следующий:

     For  параметр цикла =Начальное значение  To  Конечное значение  [Step  Шаг]

Тело цикла

    Next [ параметр цикла]

Параметр <Начальное значение> определяет значение переменной, с которой начинается отсчет. Параметр <Конечное значение> определяет значение переменной, при котором отсчет прекращается.

По умолчанию в цикле For … Next  приращение шага равно 1.Чтобы его изменить, следует указать ключевое слово Step, а после него значение приращения.

Параметр цикла может изменять свое значение в обратномнаправ-лении. Для этого следует задать начальное значение больше конечного и указать отрицательное приращение после ключевого слова Step.

Чтобы выйти из цикла до того, как параметр цикла достигнет конечного значения, можно использовать командуExit For.

Оператор Do … Loop

1. Do While <условие>2. Do Until <условие>

операторы                                     операторы

    Loop                                                    Loop

Следует   обратить  внимание,  что  при  использовании  оператора Do … Loop перед его записью параметру цикла необходимо присвоить начальное значение, а последний оператор тела цикла, должен увеличивать (уменьшать) значение параметра цикла на величину шага, в то время как в операторе For … Nextэти действия записываются в заголовке самого оператора.

Повторение цикла в конструкциях Do While происходит до тех пор, пока  условие  остается истинным.  Повторение  цикла  в  конструкциях  DoUntil происходит до тех пор, пока условие  ложно.

Для выхода из цикла Do … Loop используется команда Exit Do.

Пример 4.

 Разработать информационную технологию, позволяющую вычислить значение функции y = sin x, при изменении значения a<=х<=b с шагом кх, где a = 0, b = p, кх =p /6.

         Входные данные: a, b - вещественного типа

          Выходные данные: y - вещественного типа

          Схема алгоритма представлена на рис. 14.


В цикле значение y вычисляется до тех пор, пока условие не станет ложным, т.е. пока переменная x не станет больше b. На форме разместим два текстовых поля для ввода начального и конечного значений параметра цикла, командную кнопку и элемент управления "Список". Программа может быть записана так:

Private Sub Command1_Click()

Const pi=3.14159

Dim a As Double, b As Double, x As Double

Dim y As Double

a=Text1.Text: b=Text2.Text

x=a

Do While x<=b+pi/12             ’или Do Until  x > b + pi/12

      y = Sin(x)

    List1.AddItem("x=" + Format(x, "0.00") + " y=" + Format(y, "0.000"))

    x=x+pi/6

Loop

End Sub

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

Результат выполнения программы представлен на рис. 15.


Рис. 15

10.3.2. Цикл с постусловием

Структура Цикл с постусловием организуется следующим образом:

1. Параметру цикла х присваивается начальное значение, равное х0.

2. Выполняется тело цикла.

3. Значение параметра цикла увеличивается на величину шага.

4. Проверяется условие окончания цикла. Если условие истинно, то осуществляется переход к пункту 2, в противном случае выполнение циклического процесса заканчивается и осуществляется переход к оператору, следующему за структурой Цикл.