Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 14

Логическая операция

Действие

And

(Конъюнкция)

Результирующее значение будет True(Истина),  если все условные выражения истинны.

Or (Дизъюнкция)

Результирующее значение будет True (Истина),  если хотя бы одно из  условных выражений истинно.

Not (Отрицание)

Результирующее значение будет True(Истина),  если  условное выражение ложно (False) и наоборот.

Xor

(Исключающее ИЛИ)

Результирующее значение будет True (Истина),  если одно и только одно условное выражение истинно.

ВЫПОЛНИТЕ!

Задание 3.

Изменим выше составленную программу (процедура CommandButton1_Click), введя еще время для идентификации части суток:

Dim Сутки As String, время As Integer

Сутки = InputBox("Введите часть суток")

время = InputBox("Введите время суток")

‘Логическая операция And

If Сутки = "утро" And время <= 11 Then

MsgBox ("Доброе утро")

ElseIf Сутки = "день" And время <= 16 Then

MsgBox ("Добрый день")

ElseIf Сутки = "вечер" And время >= 18 Then

MsgBox ("Добрый вечер")

Else

MsgBox "Извините, неверная часть суток или неверное время "

End If

Проверьте работу программы и составьте блок-схему. Добавьте еще часть суток – " ночь" и укажите время.

2. БЕЗУСЛОВНЫЙ ПЕРЕХОД GoTo

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

Синтаксис:

GoTo идентификатор

Обязательный параметр идентификатор может быть любой меткой строки или номером строки. Метки строки – это строка программы, в которой указывается имя метки и двоеточие (:). Метки должны иметь уникальные имена в пределах одной процедуры. Например:

Мет1: к = к+1    ` Метка строки Мет1

Оператор перехода на метку Мет1 будет иметь вид:

GoTo Мет1

ВЫПОЛНИТЕ!

Задание 4. Даны действительные числа х, у. Составить пользовательскую функцию.

             y*x  , если   и x>0, и y>0

Z =   |x+y| , если  и x<0, и y<0

0    ,  в остальных случаях.

Блок-схема.

 


Программа с использованием блочной структуры оператора If:

Function z(x, y)

If x > 0 And y > 0 Then

z = y * x

ElseIf x < 0 And y < 0 Then

z = Abs(x + y)

Else

z = 0

End If

End Function

Другой вариант программы с использованием оператора GoTo:

Function zz(x, y)

If x > 0 And y > 0 Then zz = y * x : GoTo kon

If x < 0 And y < 0 Then zz = Abs(x + y) : GoTo kon

zz = 0

kon: End Function

Введя значения «х» и «у» в ячейки рабочего листа ЭТ, получим результаты работы программы:

x

y

z

104

5

520

-8

-14

22

67

-1

0

-5

12,5

0

3. ОПЕРАТОР ВЫБОРА – ПЕРЕКЛЮЧАТЕЛЬ

Структура SelectCase похожа на структуру IfThenElse,  но она более эффективна в том случае, когда в зависимости от значения анализируемого выражения, выбирается и выполняется одна из нескольких уникальных  последовательностей операторов. В языках высокого уровня такой оператор называют переключателем.

Синтаксис структуры SelectCase следующий:

SelectCase выражение

Case список Условий_1    

Операторы, выполняемые при совпадении условия_1 для значения        выражения

Caseсписок Условий_2

Операторы, выполняемые при совпадении условия_2 для значения выражения

      . . . . . . . . . . . . . .

Caseсписок Условий_i

Операторы, выполняемые при совпадении условия_i для значения выражения

    Case Else

Операторы, выполняемые при несовпадении ни одного из  условий для  значения выражения

EndSelect

где выражение – обязательный параметр, может быть любым выражением любого типа данных VBA,  включая числовой,  строковый или логический;