Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Кузьмины по VB.doc
Скачиваний:
47
Добавлен:
25.05.2014
Размер:
911.36 Кб
Скачать

Управляющие операторы

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

Основанием для принятия решений в управляющих операторах являются условные (логические) выражения.

Логические выражения состоят из логических операций, примененных к логическим переменным, и возвращают одно из двух значений True (Истина) или False (Ложь). Логические выражения содержат логические отношения (операции сравнения: =, > , < , <> , >= , <= ), связанные логическими операциями.

Основные логические операции

Операция

Обозначение

Истолкование

1

Отрицание (инверсия)

not A

Не А;

Неверно, что А

2

Конъюнкция (логическое произведение, логическое И)

А and В

А и В;

как А, так и В;

А вместе с В;

А в то время, как В

3

Дизъюнкция (логическое сложение, логическое ИЛИ)

А or В

А или В;

А или В или оба

4

Дизъюнкция (исключающее ИЛИ)

А xor В

А либо В;

А или В, но не оба

Приоритеты выполнения логических операций в логических выражениях:

  1. Отрицание

  2. Логическое произведение

  3. Логическое сложение, исключающее или

Скобки меняют порядок выполнения операций.

Таблицы истинности для основных логических операций:

А

В

Not A

A and B

A or B

A xor B

0

0

1

0

0

0

0

1

1

0

1

1

1

0

0

0

1

1

1

1

0

1

1

0

Условные операторы

If . . . Then

Может иметь простую однострочную или блочную структуру.

Однострочный синтаксис

If Условие Then Оператор [Else Оператор]

Если условие после Ifистинно, т.е. результат =True, то выполняется оператор после ключевого словаThen. Если результат =False, то выполняется оператор, следующий за ключевым словомElse, если таковое имеется.

If a= 7 Then Beep

If x < 9 Then Print “False!” Else Print “True!”

Блочный синтаксис

If Условие Then

Операторы 1

[Elseif условие Then

Операторы 2]

Else

Операторы 3

End if

Блочный синтаксис используется, когда необходимо выполнить не простую команду, а группу операторов.

Пример. Решение квадратного уравнения ax2 + bx + c = 0

d=b*b – 4 * a * c

If d < 0 then

Print “Уравнение не имеет корней”

Elseif d = 0 Then

x = -b / (2*a)

Print “Уравнение имеет один корень”; x

Else

x1 = (-b + sqr(d)) / (2 * a)

x2 = (-b - sqr(d)) / (2 * a)

Print “Уравнение имеет два корня ”; x1, x2

End if

Select Case(оператор выбора)

Позволяет выполнить одну из групп операторов в зависимости от значения условия.

Синтаксис

Select Case тест_выражение

Case список_выражений1

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

[Case список_выражений2

[Операторы 2] ]

. . .

[Case Else

[Операторы 3] ]

End Select

Пример 1. Решение квадратного уравнения ax2 + bx + c = 0

Select Case b * b - 4 * a * c

Case Is < 0

Print "Уравнение не имеет корней"

Case Is = 0

x = -b / (2 * a)

Print "Уравнение имеет один корень"; x

Case Else

X1 = (-b + Sqr(d)) / (2 * a)

X2 = (-b - Sqr(d)) / (2 * a)

Print "Уравнение имеет два корня "; X1, X2

End Select

Пример 2. Проанализировать случайное число, заданное от 0 до 10.

Private Sub Command1_Click()

Randomize

a = Int(Rnd * 9) + 1 'случайное число от 1 до 10

Select Case a

Case 1

Print "Равно 1"

Case 2, 3

Print "Равно 2 или 3"

Case 4 To 6

Print "Больше или равно 4 и меньше или равно 6"

Case Is >= 9

Print "Больше или равно 9"

Case Else

Print "Ни одно из предшествующих"

End Select

End Sub

Циклы

Предназначены для многократного выполнения одного или нескольких операторов.