- •Лекция 6. Управление потоком (продолжение). Условные переходы. Циклы.Оператор With. Немедленный выход с помощью оператора Exit For Оператор Goto Примеры работы с двоичной логикой
- •Операторы условного перехода:
- •If…Then, If…ElseIf, Select Case Оператор условного перехода If…Then
- •Пример использования условного перехода If…Then
- •Оператор условного перехода If…ElseIf
- •Оператор Select Case
- •Операторы циклов:
- •Повторение под управлением цикла For…Next
- •Пример вложенных циклов For…Next
- •Важные замечания по поводу циклов For…Next
- •Использование оператора цикла For Each… Next
- •Циклы Do…Loop
- •Типы оператора цикла Do…Loop
- •Пример оператора Do While (условие) Loop
- •Использование оператора Do …Until Loop (условие)
- •Использование оператора With
- •Использование оператора Is
- •Немедленный выход с помощью оператора Exit For
- •Управление потоком с помощью оператора Go To
Лекция 6. Управление потоком (продолжение). Условные переходы. Циклы.Оператор With. Немедленный выход с помощью оператора Exit For Оператор Goto Примеры работы с двоичной логикой
Применение логической операции AND для двух чисел: 14 AND 6 = 6
Двоичные разряды |
3 |
2 |
1 |
0 |
|
Значение разрядов |
23 |
22 |
21 |
20 |
|
Выражение А |
1 |
1 |
1 |
0 |
14 |
Выражение B |
0 |
1 |
1 |
0 |
6 |
Выражение A AND B |
0 |
1 |
1 |
0 |
6 |
Применение логической операции OR для двух чисел: 14 OR 6 = 14
Разряды |
3 |
2 |
1 |
0 |
|
Значение разрядов |
23 |
22 |
21 |
20 |
|
Выражение А |
1 |
1 |
1 |
0 |
14 |
Выражение B |
0 |
1 |
1 |
0 |
6 |
Выражение A OR B |
1 |
1 |
1 |
0 |
14 |
Применение логической операции XOR для двух чисел: 14 XOR 6 = 8
Разряды |
3 |
2 |
1 |
0 |
|
Значение разрядов |
23 |
22 |
21 |
20 |
|
Выражение А |
1 |
1 |
1 |
0 |
14 |
Выражение B |
0 |
1 |
1 |
0 |
6 |
Выражение A XOR B |
1 |
0 |
0 |
0 |
8 |
Операторы условного перехода:
If…Then, If…ElseIf, Select Case Оператор условного перехода If…Then
Ключевое слово Then располагается в одной строке с If и выражением условие. Обязательно печатайте End If, иначе VB не поймет, какой оператор должен быть последним в блоке.
Если нужно, чтобы на основании одного условия программа выбирала между двумя альтернативными блоками кода, тогда используйте оператор If…Then…Else (ещё):
If условие Then
(операторы, выполняющиеся, когда условие принимает значение True)
Else
(операторы, выполняющиеся, когда условие принимает значение False)
End If
Пример использования условного перехода If…Then
Private Sub Command1_ Click ()
Image1.Visible = False 'скрыть рисунок J0150861..wmf (свечи),
'который выбирается по пути:C:\Program Files\MS Office\Clipart\ 'PUB60COR\J0150861.wmf
Label1.Caption = Int(Rnd * 10) 'Показать только целую часть числа
Label2.Caption = Int(Rnd * 10)
Label3.Caption = Int(Rnd * 10)
If (Label1.Caption = 7) Or (Label2.Caption = 7) Or (Label3.Caption = 7) Then
Image1.Visible = True
'Если любое число равно 7, то показать картинку и дать сигнал
Beep
End If
End Sub
Оператор условного перехода If…ElseIf
Если нужно проверить, кроме основного, ещё и дополнительные условия, используется ключевое слово ElseIf.
Например, необходимо выполнять определенные операторы только в том случае, когда первое условие не принимает значение True. При этом слово ElseIf в структуре может повторяться любое число раз. Ключевое слово Else необязательно, но если оно присутствует, то должно быть в структуре последним.
Пример:
If objFilm.ExpDate < Date Then
MsgBox "Эта пленка никуда не годится"
ElseIf objFilm.Type = "Слайдовая" Then
Слайдовая = Слайдовая + 1
ElseIf objFilm.Color Then
ЦветнаяНегативная = ЦветнаяНегативная + 1
Else
ЧернобелаяНегативная = ЧернобелаяНегативная + 1
End If
Первый оператор проверяет срок годности пленки, и если он превышен, то выдается сообщение.
Если пленка годная, т. е. первое условие False, то выполняется второй оператор, который проверяет свойство – тип пленки, слайдовая или нет.
Если слайдовая (True), то выполняется следующий оператор: в количество пленок такого типа добавляется единица.
Если же условие не выполняется (False), то выполняется следующая операция – проверка цвета пленки (цветная или нет).
Если цветная (True), то в счетчик цветных негативных добавляется единица.
Если False, то приходится переходить к следующему выполнению Else: прибавлять в счетчик черно-белых пленок единицу, после чего операция выбора заканчивается.