Шаг 66.
Условные конструкции

    На этом шаге речь пойдет об условных операторах.

    В программах на VBScript можно проверять условия и выполнять действия в зависимости от результатов проверки. Можно выделить следующие операторы:

    Рассмотрим эти операторы подробнее. Для удобства эти операторы поместим в следующую таблицу:

Таблица 1. Конструкции операторов ветвления
Конструкция Описание
If...Then
Однострочный синтаксис: If <условие> Then <оператор> Сначала проверяется условие. Если оно истинно, то выполняется оператор или группа операторов.
Блочный синтаксис:
 If <условие> Then  
    <оператор 1>
    <оператор 2>
     . . . . . 
    <оператор N>
 End If
If...Then... Else
Однострочный синтаксис:
If <условие> Then <оператор1> Else <оператор2>
(Оператор записывается на одной строке!!!)
Сначала проверяется условие. Если оно истинно, то выполняется оператор1 или 1-й блок операторов. Если условие ложно, то выполняется оператор2 или 2-й блок операторов.
Блочный синтаксис:
 If <условие> Then  
    <1-й блок операторов>
 Else
     <2-й блок операторов>
 End If
If...Then... Elsef
If <условие 1> Then
  <операторы 1>
ElseIf <условие 2> Then
     <операторы 2>
   ElseIf 
      .   .   .   .   .   .
       Else 
         <операторы N> 
End If
Сначала проверяем условие 1. Если оно истинно, то выполняются операторы 1 и происходит переход к следующему оператору. Если оно ложно, то проверяем условие 2. Если оно истинно, то выполняется операторы 2 и т.д.
Если все условия оказались ложными и присутствует конструкция Else, то выполняются операторы N. Если конструкция Else отсутствует, то просто осуществляется переход к следующему оператору.
Select Case
Select Case <выражение>
Case  <список значений 1>
            <операторы1>
Case  <список значений 2>
            <операторы2>
     .    .    .    .
Case  <список значений N>
            <операторыN>
Case Else
          <операторыM>
End Select
Вычисляется единственное значение выражения и последовательно сравнивается со списком значений 1, 2, .., N из блока Case. Если значение выражения совпадает со значением, заданным в списке какого-либо блока Case, то выполняется группа операторов данного блока. В противном случае выполняется группа операторов М, если конструкция Case Else присутствует в операторе.

    Прокомментируем приведенные операторы.

    В отличие от большинства языков программирования, в которых не важно, как располагается оператор в строке программы, в VBScript, как и в Visual Basic, размещение отдельных частей оператора в строке очень важно! Поясним это на примере конструкции If...Then... Else. Различают два способа использования этой конструкции: строчный и блочный. Строчный удобно использовать тогда, когда требуется выполнить по одному оператору в зависимости от проверяемого условия, например:

If X=3 Then Y=2*X Else Y=X-2

    При необходимости разместить после Then или Else несколько операторов, нужно воспользоваться блочным синтаксисом. Здесь роль операторных скобок, показывающих, к какой ветви относится тот или иной блок, выполняют служебные слова Then, Else, End If:

If A<>B Then
     Z = 2-A
     X = Z/Y
Else
    Z = 3*B
End If

    Понятно, что конструкцию, представленную в однострочном виде, можно записать, используя блочный синтаксис, но не наоборот:

If X=3 Then
    Y = 2*X
Else
    Y = X-2
End If

   


    Замечание. Важно отметить, что смешение синтаксисов ведет к ошибке.

    Следующий шаг познакомит нас c операторами цикла.




Предыдущий шаг Содержание Следующий шаг