Переключатель (OptionButton). В алгоритмах обработки информации и реализующих их программах широко используются циклы — повторяющиеся оди­наковые вычисления

СОДЕРЖАНИЕ РАБОТЫ

1.Циклы

В алгоритмах обработки информации и реализующих их программах широко используются циклы — повторяющиеся оди­наковые вычисления. В программах Visual Basic для выполнения повторяющихся действий используются циклы. Они бывают следующих типов:

· For...Next

· While…Wend

· Do. . . Loop

Рассмотрим перечисленные конструкции

 

1.1.Цикл с использованием конструкции For...Next

Конструкция For...Next выполняет последовательность команд определенное число раз. Такую конструкцию называют циклом, а выполняемые ею программные коды — телом цикла.

Синтаксис конструкции For.. .Next следующий:

For счетчик = начЗначение То конЗначение [Step шаг]

конструкции

Next[счетчик]

Первый аргумент конструкции — счетчик — определяет имя переменной, которая будет "считать" количество выполнении цикла. Параметр начЗначение указывает числовое значение, которое присваивается переменной-счетчику перед первым проходом цикла. Цикл выполняется до тех пор, пока значение счетчика не превысит конечного значения, указанного после ключевого слова то. После каждого прохода цикла значение счетчика изменяется на величину шаг, указанную за ключевым словом step. Ключевое слово Next обозначает конец тела цикла и является обязательным.

Перед каждым проходом цикла Visual Basic сравнивает значения счетчика и аргумента конЗначение. Если значение счетчика не превышает установленного значения конЗначение, выполняются конструкции тела цикла. В противном случае управление переходит к следующей за Next конструкции. Например:

For n = 1 То 10 Step 2

NW= n * 2

Next

Здесь цикл выполняется пять раз при значениях счетчика n= 1, 3, 5, 7 и 9. Обратите внимание, что переменная-счетчик используется в теле цикла в качестве обычной переменной.

Шаг изменения счетчика может быть отрицательным. Например:

For n = 100 То 1 Step -10

ND= n *2

Next

В этом случае цикл будет выполняться при значениях счетчика n= 100, 90, 80, 60, 50, 40, 30, 20,10 . Если значение шага цикла отрицательно, то начальное значение счетчика должно быть больше конечного.

Ключевое слово step можно опустить. В этом случае значение шага по умолчанию принимается равным 1.

Рассмотрим примеры. В первом примере запишем инструкции для вычисления суммы всех целых нечетных чисел от 1 до 100.

Сумма=0

For i = 1 To 100 Step 2

Сумма = Сумма +i

Next

 

1.2. Цикл с использованием конструкции While…Wend

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

While условие

Операторы

Wend

Если результатом проверки условия является значение Истина, то блок операторы выполняется, иначе осуществляется переход на оператор расположенный после служебного слова Wend. Если первая проверка условия даст результат Ложь, то цикл не будет выполнен ни разу.

While a<15

z=z*a

a=a+1

Wend

 

1.3. Цикл с использованием конструкции Do...Loop

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

Синтаксис конструкции DO. . .Loop следующий:

Do While условие

конструкции

Loop

Аргумент конструкции условие является логическим выражением, значение которого проверяется перед каждым проходом цикла. Если это значение равноTrue, то выполняется последовательность команд, которые расположены между Do while и ключевым словом Loop. Эти конструкции образуют тело цикла. Если при очередном проходе цикла условие равноFalse, то происходит выход из цикла и управление передается конструкции, следующей за Loop. Возможна ситуация, при которой операторы цикла не выполняются ни разу. Она возникает в том случае, если при первой проверке условия оно оказывается ложным.

В Visual Basic существует еще один вид цикла конструкции DO... Loop. Он отличается от рассмотренного ранее местом расположения условия. Если в предыдущей конструкции условие, по которому выполняется цикл, расположено в заголовке, то в этой конструкции условие располагается в конце цикла:

Do

конструкции

Loop Whileусловие

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

Есть еще две разновидности конструкции цикла Do. . .Loop. Они аналогичны рассмотренным ранее, но

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

Do Until условие

конструкции

Loop

и

Do

конструкции

Loop Untilусловие

 

 

Пример использования конструкции приведен ниже.

n = 2

Do While n < 10

nD= n * 2

n = n + 2

Loop

 

Отличие от оператора Do While...Loop от While… Wend заключается в том, что здесь не используется слово Do, и вместо слова Loop используется Wend. В общем выбирайте какой хотите.

Пример:

Dim C as byte
C = 0 ' Инициализируем переменные
While C < 20 ' Проверяем значение счётчика
C = C + 1 ' Увеличиваем счётчик
Wend ' Заканчиваем цикл, если Counter > 19
Debug.Print C ' Печатаем 20 в окно Debug

' Этот же пример, только с циклом Do While:

Dim C as byte
C = 0 ' Инициализируем переменные
Do While C < 20 ' Проверяем значение счётчика
C = C + 1 ' Увеличиваем счётчик
Loop ' Заканчиваем цикл, если Counter > 19
Debug.Print C ' Печатаем 20 в окно Debug

1.4. Оператор Exit

В некоторых случаях необходимо прервать выполнение цикла до его завершения. Это можно сделать с помощью команды безусловного перехода Exit.

Команда Exit завершает выполнение цикла и передает управление следующей за циклом конструкции. Синтаксис этого оператора внутри цикла For выглядит так: Exit For. Внутри цикла Do синтаксис оператора Exit Do.

Forсчетчик = начЗначение ТоконЗначение [Stepшаг]

[конструкции]

[Exit For]

[конструкции]

Next[счетчик[,счетчик] [,...]]

 

Do [{While ¦ Until}условие]

Конструкции

[Exit Do]

Конструкции

Loop

Например:

For nCounter=100 To 1 Step -10

nDecades(nCounter) = nCounter *2

If nDecades(nCounter) > 20 Then Exit For

Next

Оператор Exit служит также для выхода из процедур sub и Function. Синтаксис операторов в этом случае соответственно Exit Sub и Exit Function. Эти операторы могут находиться в любом месте тела процедуры. Они используются в том случае, когда процедура выполнила нужные действия и из нее необходимо выйти.

Переключатель (OptionButton)

Объекты типа OptionButton называются переключателями, так как, располагаемые в группах, они позволяют выбрать одно из нескольких значений. Установка одного переключателя в группе (присвоение его свойству value значенияTrue) автоматически сбрасывает другие переключатели, присваивая аналогичным свойствам значенияFalse. Элемент управления Переключатель позволяет выбрать одну из нескольких взаимоисключающих альтернатив. Переключатели обычно отображаются группами. Группировка производится при помощи элемента управления Рамка (Frame).