Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика VBA.pdf
Скачиваний:
891
Добавлен:
27.03.2016
Размер:
1.1 Mб
Скачать

Логические операторы VBA

Логические операторы VBA используются для объединения результатов отдельных логических выражений, чтобы создать сложные критерии для принятия решений в процедуре (таблица Б.3).

Таблица Б.3 – Логические операторы VBA

Логический

Синтаксис

Имя/Описание

оператор

 

 

 

 

 

 

 

 

 

And

El And E2

Конъюнкция. True, если оба Е1 и Е2

 

 

имеют значение True, иначе – False

 

 

 

Or

El Or E2

Дизъюнкция. True, если одно выра-

 

 

жение или оба (Е1 и Е2) являются

 

 

равными True; иначе – False

 

 

 

 

 

Not

Not El

Отрицание. True, если Е1 имеет зна-

 

 

чение False; False, если El является

 

 

равным True

 

 

 

Xor

El Xor E2

Исключение. True, если Е1 и Е2

 

 

имеют разные значения; иначе –

 

 

False

 

 

 

Eqv

El Eqv E2

Эквивалентность. True,если Е1 име-

 

 

ет то же самое значение, что и Е2;

 

 

иначе – False

 

 

 

Imp

El Imp E2

Импликация. False, когда Е1 является

 

 

равным True и Е2 равно False; иначе

 

 

True.

 

 

 

 

 

Операнды Е в этой таблице представляет собой любое допустимое выражение с результатом типа Boolean, такое как операция сравнения.

120

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

Сложное (составное) выражение (complex expression) это любое выражение, образованное из двух или более выражений. В таблице Б.4 собраны операции по группам в порядке убывания приоритета, то есть чем ниже расположена группа, тем позже выполняются указанные в ней операции. Для изменения этого порядка применяются круглые скобки. Операции одного уровня выполняются слева направо в том порядке, в котором они записаны в выражении.

Таблица Б.4 – Приоритеты операций VBA

Оператор

Комментарии

или знак

 

^

Возведение в степень, наивысший приоритет

 

 

Унарный минус - изменение знака числа

 

 

*, /

Умножение и деление имеют равные приоритеты; они вы-

 

числяются по мере появления в выражении слева направо

 

 

\

Деление нацело

 

 

Mod

Остаток от деления нацело

 

 

+, –

Сложение и вычитание имеют равный приоритет; они вы-

 

числяются по мере появления в выражении слева направо

 

 

&

Всякая конкатенация строк выполняется после любых

 

арифметических операций в выражении и перед любыми

 

операциями сравнения или логическими операциями

 

 

<, <=, >, >=,

Все операторы сравнения имеют равные приоритеты и вы-

=, <>, Is

числяются по мере появления в выражении слева направо.

 

Используйте круглые скобки для группирования операто-

 

ров сравнения в выражениях

 

 

Логические

Not And Or Xor Eqv Imp – имеют низший приоритет

операторы

 

 

 

121

Приложение В Математические функции VBA

VBA предоставляет стандартный набор математических функций приведенный в таблице В.1.

Таблица B.1 – Математические функции VBA

Функции

Возвращает / действие

 

 

Abs(N)

Возвращает абсолютное значение N

 

 

Cos(N)

Косинус угла N, где N – это угол, измеренный в ра-

дианах

 

Sin(N)

Возвращает синус угла; N – это угол, измеренный в

радианах

 

Tan(N)

Возвращает тангенс угла; N – угол в радианах

 

 

Atn(N)

Возвращает арктангенс N как угол в радианах

 

 

Exp(N)

Возвращает константу е, возведенную в степень N (е –

это основание натуральных логарифмов и она (при-

 

близительно) равна 2,718282

 

Возвращает целую часть N. Fix не округляет число, а

Fix(N)

отбрасывает любую дробную часть. Если N является

отрицательным, Fix возвращает ближайшее отрица-

 

 

тельное целое большее, чем или равное N

 

Возвращает целую часть N. Int не округляет число, а

Int(N)

отбрасывает любую дробную часть. Если N является

отрицательным, Int возвращает ближайшее отрица-

 

 

тельное целое меньшее, чем или равное N

Log(N)

Возвращает натуральный логарифм N

 

 

 

Возвращает случайное число; аргумент является не-

Rnd(N)

обязательным. Используйте функцию Rnd только

после инициализации VBA-генератора случайных чи-

 

 

сел оператором Randomize

Sgn(N)

Возвращает знак числа: –1, если N – отрицательное;

+1, если N –положительное; 0, если N равно 0

 

Sqr(N)

Возвращает корень квадратный из N. VBA отображает

ошибку исполнения, если N – отрицательное

 

122

Операнд N означает любое численное выражение? допустимое в

VBA.

Аргумент тригонометрических функции (синуса, косинуса и тангенса) задается в радианах, а не в градусах. Обратная тригонометрическая функция A t n ( x ) возвращает в программу значение угла в радианах от -π/2 до π/2, тангенс которого равен значению арифметического выражения х.

Связь между радианной и градусной мерами угла выражается через иррациональное число π ≈ 3,14159265358979323846.

Радианы=

Градусы×π

Градусы=

Радианы×180

 

180

 

π

Для перевода градусов в радианы можно также использовать встроенную функцию Excel - Application.Radians(x), где x – угол, за-

данный в радианах.

Для получения числового значения константы π с точностью 15 цифр мантиссы можно использовать встроенную функцию Excel Application.Pi(), либо функцию VBA арктангенс

Pi= Application.Pi() либо Pi=4*Atn(1)

Примеры записи тригонометрических функций

Алгебраическая

Запись на VBA

запись

 

 

Sin(15*3.141593/180)

sin 15°

 

Sin( Application.Radians(15))

 

 

 

Sin(15* Application.Pi()/180)

tg2x3

Tan(X^3)^2

Cos2(х + 0,2)3

Cos( (X + 0.2)^3 )^2

123