Циклы типа Do While – Loop

Использование циклов

Циклы типа For_ 1

Циклы типа do-LOOP_ 2

Циклы типа Do While – Loop_ 2

Циклы типа Do – Loop While 2

Циклы типа Do Until 3

Циклы типа While-Wend_ 4

Перечислимые циклы_ 4

Еще одним важным элементом программы является оператор цикла. Он используется для выполнения повторяющихся действий в программе. В Visual Basic существует три разновидности операторов цикла – с использованием счетчика, условный оператор цикла и перечислимый оператор цикла. К первому типу относится оператор For. Он выполняет указанную последовательность команд заданное число раз. Ко второму типу относится операторы Do While и Do Until. Циклы типа Do выполняются до тех пор, пока некоторое условие истинно. Перечислимые операторы цикла используются для выполнения некоторых действий над каждым элементом группы объектов. Все указанные типы циклов будут описаны ниже.

Циклы типа Do While – Loop - student2.ru Циклы типа For

Циклы со счетчиком называют также циклами типа For/Next, поскольку операторы, выполняемые в цикле, размещаются между ключевыми словами For и Next. При указании цикла данного типа программист определяет переменную цикла, которая служит счетчиком, а также ее начальное и конечное значения. В качестве дополнительного параметра цикла можно указать приращение – величину, которая прибавляется к счетчику или вычитается из него после завершения очередного шага цикла. Приращение указывается в операторе For после ключевого слова Step. При выполнении первого шага цикла, счетчик устанавливается в исходное состояние. После выполнения очередного шага, к переменной цикла прибавляется величина (она может быть отрицательной), указанная после ключевого слова Step. Затем счетчик сравнивается с конечным значением переменной цикла. Если он больше, чем конечное значение переменной цикла, выполнение цикла прекращается и программа переходит к следующему за ключевым словом Next оператору.

Блок-схема оператора цикла For, в котором параметр цикла изменяется от начального значения M до конечного значения N с шагом S, приведена на рисунке.

Синтаксис оператора цикла For имеет вид:

For Параметр = НачальноеЗначение To КонечноеЗначение [ Step Шаг ]

Оператор1

Оператор2

…………….

Next Параметр

В качестве параметра может быть использована переменная любого числового типа. В качестве параметров НачальноеЗначение, КонечноеЗначение, Шаг может быть использовано выражение числового типа. Если служебное слово Step и параметр Шаг не указаны, то значение параметра Шаг равно единице

В приведенном ниже фрагменте кода цикл типа For / Next вычисляется сумма N нечётных чисел:

Const N = 10 ‘количество не чётных чисел

Dim i as Integer ‘номер числа

Dim S as Integer ‘текущее значение суммы

S = 0 ‘обнуление значение суммы

For i = 1 To N ‘для всех значений номера числа от 1 до N

S = S + 2 * i +1 ‘увеличение суммы на значение нечётного числа

Next i ‘конец оператора цикла

lblS = S ‘передача значения суммы в надпись lblS

Как правило, циклы типа For / Next выполняются до тех пор, пока счетчик не достигнет конечного значения. Однако, в некоторых случаях нужно досрочно прекратить выполнение цикла. Для этого поместите в нужном месте цикла оператор Exit For. Обычно данный оператор используется совместно с оператором If, с помощью которого определяется условие досрочного завершения выполнения цикла.

Циклы типа do-LOOP

Как уже было отмечено, данный тип цикла выполняется до тех пор, пока истинно некоторое условие. Под условием понимается любое выражение, значение которого может быть True или False (например, NumVal < 15), либо функция, возвращающая логическое значение (например, Eof), либо свойство, имеющее логическое значение (например, свойство Value некоторого переключателя). Существует два основных типа условных циклов: Do While – Loop и Do Until – Loop. Циклы типа Do While – Loop выполняются пока истинно некоторое условие, а циклы типа Do Until – Loop выполняются, если некоторое условие ложно.

Циклы типа Do While – Loop

Ключевое слово While в цикле типа Do указывает программе, что данный цикл нужно выполнять до тех пор, пока некоторое условие истинно. В случае если условие, указанное в заголовке цикла типа Do While становится ложным, программа переходит к выполнению следующего за ключевым словом Loop оператора.

Существует две формы цикла типа Do While. Они отличаются местом расположения условия – в заголовке цикла (в операторе Do While – Loop), либо в конце цикла (в операторе Do – Loop While).

В первой форме цикла типа Do While, условие помещается в его заголовке, как показано на приведенном ниже примере, в котором вычисляется сумма цифр положительного целого десятичного числа.

Dim N as Long ‘заданное число

Dim D as Long ‘делитель

Dim S as Byte ‘текущее значение суммы цифр

Dim C as Byte ‘значение текущей цифры

N = txtN ‘считывание числа из текстового поля txtN

S = 0 ‘обнуление значение суммы цифр

D = 1000000000 ‘начальное значение делителя

Do While N > 0 ‘до тех пор, пока в числе N есть цифры, отличные от нуля

C = N \ D ‘вычисление текущей цифры

N = N – C * D ‘вычитание цифры из числа

S = S + C ‘увеличение суммы на значение текущей цифры

D = D / 10 ‘уменьшение делителя на один разряд

Loop ‘конец оператора цикла

Поместив условие после ключевых слов Do While, вы тем самым указываете программе, что его нужно проверить перед началом выполнения первой итерации. Такие операторы ещё называются оператором цикла с предусловием. Если условие истинно, цикл будет выполнен один раз. После этого программа снова проверит данное условие и т.д. Как только условие становится ложным, программа прекращает выполнение цикла и переходит к следующему за ключевым словом Loop оператору. Группа операторов, находящихся между ключевыми словами Do и Loop называется телом цикла.

Обратите внимание, что в описываемой форме оператора Do While, тело цикла может ни разу не быть выполнено. Так происходит в случае, если при первой проверке условия, оно окажется ложным. Тогда программа пропустит все операторы цикла и перейдет к следующему за ключевымсловом Loop оператору.

Наши рекомендации