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

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

КонструкцияIf... Then

Конструкция If.. .Then применяется в том случае, когда необходимо выполнить один или группу операторов при соблюдении определенного условия, то есть когда значение заданного условия равно True.
Существует две разновидности данного оператора: однострочный и многострочный. Однострочный оператор имеет следующий синтаксис:
IF условие Then конструкция
В этом операторе условие и выполняемые при соблюдении условий действия располагаются в одной строке. В том случае, если при выполнении условия требуется выполнение блока операторов, используется многострочный оператор, имеющий следующий синтаксис:
IF условие Then
конструкции
End If
Исходя из синтаксиса, приведенные ниже программные коды выполняют одни и те же действия:
Однострочный оператор IF y>20 Then y=2
 Многострочный оператор
IF y>20 Then
У=2
End If
После имени конструкции if должно следовать логическое выражение, содержащее условие. В качестве условия могут выступать следующие логические выражения: Ключевое слово End if обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно. Если указанное условие выполняется, то есть результат проверки равен True, то Visual Basic выполнит конструкции, следующие за ключевым словом Then. Если условие не выполняется, то Visual Basic переходит к выполнению операторов, следующих за указанным оператором.

Конструкция If... Then... Else

Конструкция if.. .Then.. .Else аналогична конструкции if...Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения. Конструкция имеет следующий синтаксис:
 IF условие Then
Конструкции для обработки истинного условия
Else
Конструкции для обработки ложного условия
End If
Ключевые слова IF и End if имеют тот же смысл, что и в конструкции If...Then. Если заданное в конструкции условие не выполняется (результат проверки равен False), и конструкция содержит ключевое слово Else, Visual Basic выполнит последовательность конструкций, расположенных следом за Else. После чего управление перейдет к конструкции, следующей после End If.
 Например:
If x >= 0 Then
Label1.Caption = "Значение больше или равно 0"
Else
Labell.Caption = "Значение меньше 0"
End If
Команда if может проверить только одно условие. Если вам потребуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то такая возможность существует. Дополнительное условие можно задать с помощью оператора Elseif. Оно будет анализироваться только в том случае, если предыдущее условие ложно.
 Например:
 If x > 0 Then
Label1.Caption = "Значение положительное"
Elseif x = 0 Then
Label1.Caption = "Значение равно 0"
Else
Labell.Caption = "Значение отрицательное"
End If

Конструкция Select Case

Конструкция Select case позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций if.. .Then.. .Else. Эта конструкция состоит из анализируемого выражения и набора операторов case на каждое возможное значение выражения. Работает эта конструкция следующим образом. Сначала Visual Basic вычисляет значение заданного в конструкции выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах case конструкции. Если найдено искомое значение, выполняются команды, приписанные данному оператору case. После завершения выполнения конструкций управление будет передано конструкции, следующей за ключевым словом End Select.

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

Select Case сравниваемоеЗначение

CASE значение1

конструкция1

CASE значение2

конструкция2

. . .

End Select

В начале конструкции расположены ключевые слова select case, указывающие, что расположенный рядом с ними параметр сравниваемоеЗначение будет проверяться на несколько значений. Далее следуют группы команд. начинающиеся с ключевого слова Case. Если параметр сравниваемоеЗначение равен значению, указанному в текущем операторе case, то будут выполняться команды, расположенные между этим и следующим ключевым словом case.

В качестве примера воспользуемся конструкцией Select Case для решения предыдущей задачи:

Select Case x

CASE 1 То 9

Labell.Caption = "Значение больше 0"

CASE 0

Labell.Caption = "Значение равно 0"

CASE -9 То -1

Label1.Caption = "Значение меньше 0"

End Select

Замечание

Обратите внимание, что Select Case может выполнить не более одной из содержащихся в ней последовательностей конструкций. После того как одно из условий оказалось равно True, и была выполнена соответствующая последовательность конструкций, Select Case завершит свою работу. Остальные условия проверяться не будут.

Hosted by uCoz