Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор And



blnА = х > у And у > z ' Результат: False 'Оператор Not

blnА = Not(x < у) ' Результат: False 'Оператор Оr

blnА =x<y0ry>z ' Результат: True 'Оператор Хоr

blnА = х < у Хог у < z ' Результат: False 'Оператор Imp

blnА = х > у Imp у > z ' Результат: True 'Оператор Eqv

blnА = х < у Eqv у < z ' Результат: True

Конструкции управления

Зачастую в определенном месте программы необходимо вы­полнять те или иные операторы, в зависимости от некоторых условий. Эта возможность в Visual Basic реализуется при помощи так называемых управляющих конструкций (или структур), кото­рые в свою очередь состоят из структур принятия решений и циклов. Ниже приводится подробное описание двух существую­щих конструкций принятия решений.

Конструкция If...Then. Существует несколько разновидно­стей данной структуры. Если при выполнении какого-либо усло-

вия необходимо выполнять один оператор, то нужно использо­вать конструкцию следующего вида:

If условие Then оператор

В том случае, когда результатом проверки условия является значение True (Истина), то выполняется оператор, находящийся после служебного слова Then. С другой стороны, если после проверки условия было получено значение False (Ложь), то выполнится следующий по порядку оператор. Все описанные параметры данной структуры должны быть указаны в одной строке.

Если при выполнении условия требуется выполнил, не один, а несколько операторов, то следует использовать такую конструкцию:

If условие Then Операторы End If

В случае истинности проверяемого условия будут выполнены операторы, расположенные после ключевого слова Then. С другой стороны, если условие является ложным, то выполняется следую­щий после данной конструкции оператор. В том случае, когда в блоке операторы находится только один оператор, то данная структура все равно должна заканчиваться служебным словосоче­танием End If.

При необходимости выполнения того или иного оператора (или блока операторов), в зависимости от результата проверки опреде­ленного условия, в языке Visual Basic следует использовать сле­дующую конструкцию:

If условие Then

операторы1 Else

операторы2

End If

или

If условие Then операторы1 Else: операторы2

End If

Если результатом проверки условия является значение True, то будет выполнен блок операторы1, находящийся после клю­чевого слова Then. С другой стороны, если проверка условия дала результат False, то будет выполнен блок операторы2, расположенный после служебного слова Else.

Во втором из приведенных вариантов в качестве блока опе­раторы2 может использоваться как один оператор (тогда он за­писывается после знака «:» в той же строке, что и служебное слово Else), так и несколько (при этом каждый оператор, начи­ная со второго, записывается в отдельной строке).

В том случае, когда определенное действие (или набор дейст­вий) нужно выполнять после проверки не одного, а нескольких условий, на языке Visual Basic следует использовать такую управляющую структуру:

If условие1 Then

операторы1 Elself условие2 Then

операторы2

[Else

onepaтopы N] End If

Если условие1, находящееся после ключевого слова If ис­тинно, то выполняется блок операторы1, расположенный после Then. Если же оно ложно, то осуществляется проверка условия2, находящегося после служебного слова Elself, в случае его истинности выполняется блок операторы2 и т. д. Если ни одно из этих условий не является истинным, то есть результатом всех проверок является значение False, то выполняется блок операторыN, расположенный после ключевого слова Else (данный блок является необязательным).

В дополнение к приведенной выше структуре If...Then сле­дует также рассмотреть функцию llf, которая возвращает одно из двух значений, в зависимости от проверяемого условия. Син­таксис данной функции имеет такой вид:

IIf(условие, значение1, эначение2 )

В том случае, когда результатом проверки условия является значение True, функция возвращает значение1, а когда про­верка дает значение False, то возвращаемый результат - значение2. Например:

Dim intA As Integer, strA As String

intA = 6

strA = IIf(intA Mod 2 = 0, _

"Четное", "Нечетное")

Если число intA делится на 2 без остатка, то строке strA будет присвоено значение "Четное", в противном случае -"Нечетное".

Конструкция Select Case. Когда существует несколько операторов (или блоков операторов), которые необходимо вы­полнять в случае истинности того или иного условия, то запись конструкции If...Then окажется достаточно громоздкой. Поэто­му в подобных случаях следует использовать структуру Select Case, которая улучшает читаемость программы. Ее общий вид выглядит следующим образом:

Select Case переменная Case значени1

операторы1 Case значение2

операторы2

[Case Else

операторыN] End Select

Если переменная содержит значение1, расположенное по­сле первого по порядку ключевого слова Case, то выполняется блок оператор1. С другой стороны, если содержимое пере­менной равно значению2, то выполняется блок операторы2 и т. д. Когда содержимое переменной не равно ни одному из при­веденных значений, то выполняется блок операторы N, находя­щийся после служебного словосочетания Case Else, которое является необязательным в рассматриваемой конструкции.

В том случае, когда при нескольких значениях переменной необходимо выполнять один и тот же оператор (блок операто­ров), то список этих значений нужно указать после ключевого слова Case, разделяя их запятыми. Например:

Select Case x Case I

x = x + 1

Case 2, 3, 4

x = 10 Case Else

x = 20 End Select

Разновидности циклов

Кроме структур принятия решений, существует еще одна раз­новидность управляющих конструкций, называемая циклом. Цикл - это алгоритмическая структура, при помощи которой реа­лизуется многократное повторение блоков операторов.

В языке Visual Basic существует два основных вида циклов, которые реализуются при помощи конструкций For... Next и Do... Loop.

Цикл For... Next. Используется в том случае, когда количест­во повторов заданного блока операторов известно заранее. Дан­ная конструкция выглядит следующим образом:

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

Операторы1 [Exit For]

Операторы2 Next [счетчик]

Когда приведенные операторы выполняются первый раз, то переменной-счетчику присваивается начальное значение, после чего возможны два варианта действий. Если в результате провер­ки условия счетчик > конечное и было получено значение True, то происходит завершение цикла, при этом блоки Опера­торы! и Операторы2 ни разу не выполняются. С другой сторо­ны, если результатом проверки условия является False, то в этом случае блоки операторов выполняются первый раз, после

чего происходит переход на начало цикла. Далее значение переменной-счетчика увеличивается на шаг, расположенный после ключевого слова Step (в случае его отсутствия устанавливается шаг = 1). После этого снова проверяется истинность условия счетчик > конечное значение и т. д., окончание цикла происходит в тот момент, когда результатом данной проверки станет значение True.

Зачастую бывает необходимо "аварийно" завершать работу цикла при выполнении какого-либо дополнительного условия. В этом случае внутри цикла следует использовать служебное словосочетание Exit For, которое обычно располагают в управляющей конструкции, например:

If условие Then Exit For

Если результатом проверки условия будет значение True, то выполнение цикла будет прекращено, причем блок Операторы1 будет выполнен очередной раз, а блок Операторы2 - нет.

Цикл Do—Loop. Применяется в том случае, когда число по­вторений операторов тела цикла заранее неизвестно. Существует четыре разновидности данной конструкции. При использовании первых двух цикл либо выполнится много раз, либо не выпол­нится вообще.

Do Until условие Операторы

Loop

Если результатом проверки условия является значение False, то блок Операторы выполняется, иначе осуществляется переход на оператор, расположенный после служебного слова Loop. С другой стороны, если первая проверка условия даст ре­зультат True, то цикл не выполнится ни разу.

Do While условие

Операторы Loop

Если условие истинно, то происходит выполнение блока Операторы, если же оно ложно, то есть результатом проверки является значение False, то цикл ни разу не выполнится.

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

Do

Операторы Loop Until условие

Блок Операторы выполняется до тех пор, пока результатом проверки условия является значение False, иначе выполнение цикла заканчивается.

Do

Операторы Loop While условие

В случае ложности условия выполняется блок Операторы, если же оно истинно, то есть результатом проверки является зна­чение True, то происходит окончание цикла.

В том случае, когда необходимо прервать выполнение цикла, применяются разновидности оператора Exit, который распола­гается в конструкции принятия решения. При этом для цикла For... Next используется Exit For, а для любого из циклов Do... Loop применяется Exit Do. После выполнения данного оператора происходит немедленное завершение цикла без вы­полнения каких-либо дополнительных операций.

Если аварийное завершение было использовано в цикле For...Next, то значение переменной-счетчика останется таким, каким оно было в момент выхода, в отличие от нормального за­вершения работы цикла, когда оно становится на единицу больше заданного конечного значения. Приведенная особенность зачас­тую может быть использована при решении различных задач.

Пример 6.1. Имеется массив из десяти числовых элементов. Необходимо определить среди них первое положительное значе­ние и его индекс, после чего завершить дальнейшую проверку.

Листинг 6.4. Поиск в массиве первого положительного элемента

Dim intArray(l To 10) As Integer

Dim inti As Integer

Dim intResult As Integer





Дата публикования: 2015-01-23; Прочитано: 303 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...