Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_VBA3_20_06.doc
Скачиваний:
27
Добавлен:
20.11.2019
Размер:
1.79 Mб
Скачать

2.4 Оператор безусловного перехода

Операторы перехода применяются в программе для реализации безусловных алгоритмических конструкций. Они выполняют переход с одного участка программы на любой другой без какого-либо условия. Оператор перехода имеет следующий вид:

Go To Метка

Метка - это идентификатор, помещаемый слева от программного оператора и отделенный от него двоеточием. Например:

Dim m1 as Label

. . .

Go To ml

ОПЕРАТОРЫ

ml: Textl.Text = «Это метка» ‘Переход к выводу сообщения в текстовое поле элемента управления TextBox в обход ОПЕРАТОРОВ

2.5 Оператор условного перехода

Операторы условного перехода (выбора) используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с усло­виями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть истина (True) или ложь (False). Такие выражения-условия записы­ваются с помощью операций отношения.

1) Общая форма оператора условного перехода такова:

If УСЛОВИЕ Then ОПЕРАТОР_1 Else ОПЕРАТОР_2

ОПЕРАТОР_1 выполняется в том случае, если УСЛОВИЕ истинно, в про­тивном случае выполняется ОПЕРАТОР_2.

2) УСЛОВИЕ может задаваться не одним, а несколькими операторами. При этом условный оператор имеет следующий вид:

If УСЛОВИЕ Then

БЛОК_ОПЕРАТОРОВ_1

Else

БЛОК_ОПЕРАТОРОВ_2

End If

БЛОК_ОПЕРАТОРОВ_1 выполняется в том случае, если УСЛОВИЕ истинно, в противном случае выполняется БЛОК_ОПЕРАТОРОВ_2.

Например, если значение переменной X принадлежит некоторому интервалу значений от а до b, то переменной Y будет присвоено значение 1, иначе переменной Y будет присвоено значение 0.

If (X>=a) and (X<=b) Then

Y=1

Else

Y=0

End If

3) В случае, когда ветвь ELSE является необязательной, условный оператор может быть записан в краткой форме:

If УСЛОВИЕ

БЛОК_ОПЕРАТОРОВ_1

End If

4) В условном операторе может проверяться несколько условий. В этом случае он будет записываться так:

If УСЛОВИЕ_1 Then

БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2 Then

БЛОК_ОПЕРАТОРОВ_2

ElseIf УСЛОВИЕ_3 Then

. . .

Else

БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ

End If

Если истинно УСЛОВИЕ_N, выполняется БЛОК_ОПЕРАТОРОВ_N, если же все условия ложны, выполняется последний БЛОК_ОПЕРАТОРОВ ПО УМОЛЧАНИЮ.

2.6 Оператор множественного выбора

Оператор Select Case можно использовать вместо последовательности операторов If. В языках программирования высокого уровня такая конструкция называется переключателем. Он записывается следующим образом:

Select Case ВЫРАЖЕНИЕ

Case УСЛОВИЕ_1

БЛОК_ОПЕРАТОРОВ_1

Case УСЛОВИЕ_2

БЛОК_ОПЕРАТОРОВ_2

Case УСЛОВИЕ_N

БЛОК_ОПEPATOPOB_N

Case Else

БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ

End Select

В свою очередь, УСЛОВИЕ может быть записано в одной из трех форм:

  1. Case КОНСТАНТА, КОНСТАНТА, КОНСТАНТА,...

  2. Case Is ЗНАК_ОТНОШЕНИЯ КОНСТАНТА

  3. Case KOHCTAHTA_1 To KOHCTAHTA_2

Этот оператор выполняется так: сначала вычисляется значение ВЫРАЖЕНИЯ, стоящего после ключевых слов Select Case; затем вы­полняется проверка на то, удовлетворяет ли ВЫРАЖЕНИЕ одному из Case-УСЛОВИЙ.

Если Case-УСЛОВИЕ записано в первой форме, то дос­таточно, чтобы значение ВЫРАЖЕНИЯ было равно любой из КОНСТАНТ.

Если - во второй форме, то необходимо, чтобы выпол­нялось условие отношения между значением ВЫРАЖЕНИЯ и КОН­СТАНТОЙ.

Если Саsе-УСЛОВИЕ записано в третьей форме, необходимо, чтобы выполнялось соотношение:

KOHCTAHTA_1 <= ВЫРАЖЕНИЕ <= КОНСТАНТА_2

Если такое условие найдено, выполняется БЛОК_ОПЕРАТОРОВ_N, который стоит после него, а затем управление передается оператору, ко­торый находится после End Select.

Если такого условия нет, то выполняется БЛОК_ОПЕРАТОРОВ ПО_УМОЛЧАНИЮ, который находится после ключевых слов Case Else.

Например, пусть в программе переменной I% присваивается некото­рое значение и в зависимости от него выводится одна из трех строк:

Select Case I%

Case 1, 5

Debug. Print "Один или Пять"

Case Is > 3

Debug. Print "Больше Трех"

Case -5 То 5

Debug.Print "От минус Пяти до Пяти"

Case Else

Debug.Print "Ни одно из условий не выполнено"

End Select

В каждой инструкции CASE можно определить несколько значе­ний или диапазонов значений КОНСТАНТЫ, например:

Case 16 То 19, 30 То 50, Is > 3

При этом соответствующий БЛОК_ОПЕРАТОРОВ будет выполнен в том случае, если хотя бы одно из условий верно.

Допускается использование вложенных операторов Select Case, при этом каждому из них должна соответствовать своя инструк­ция End Select.

Существует несколько важных моментов:

  • Если ни одно из условий не выполнено, а ветви Case Else нет, выполнение программы может привести к непредсказуемым последствиям.

  • Если значения ВЫРАЖЕНИЯ удовлетворяет сразу нескольким Case–условиям, будет выполнено то из них, которое стоит ближе к началу оператора Select Case.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]