Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы прогр на VBA лекции.doc
Скачиваний:
41
Добавлен:
19.03.2016
Размер:
2.24 Mб
Скачать

1.7. Выражения

Выражение – это комбинация операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций (операторов).

Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (A + Sin(x) - 6) - A, Sin(x) и 6 – операнды; “+” и “-” – знаки операций (операторы) сложения и вычитания соответственно.

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

Например:

  • 123 (выражение – значение константы)

  • Name (выражение – имя переменной или константы)

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

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

Числовое выражение – это любое выражение, значением которого является число.

В числовых выражениях могут быть использованы только арифметические операции.

Например:

  • Sin(x) + 3

  • (2*x + b^5)/2

  • (A + 1)\(x^2 + b) Mod (A + B)

  • I Mod 2

  • (Cos(x + 1) ^3) ^2

Пример 1.1. Вычислить значение выражения y=sin ( -1)

Фрагмент программы:

y = Sin(Sqr(x + 2) -1)

Пример 1.2. Вычислить значение выражения

Фрагмент программы:

y= (2*x + a) / (b-1) + Abs(x + a) ^ (1/3)

Пример 1.3. Вычислить значение десятичного логарифма для выражения (x+1), т.е. y=lg(x+1)

Т.к. в VBA существует встроенная функция вычисления значения только натурального логарифма числового выражения, то для решения этой задачи потребуется формула приведения натурального логарифма к десятичному: Lg(x) =ln(x)/ln (10). Поэтому фрагмент программы будет выглядеть так:

y = log(x+1) / log (10)

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

Операндами выражения могут быть функции, возвращающие строковые значения, строковые константы в явном представлении (литералы), строковые константы, строковые переменные.

В строковых выражениях могут быть использованы операции конкатенации.

Например:

  • 1”& “ Мая

  • Fam & Im & Otch

  • Kurs + Gruppa

  • “Процент выполнения плана -” & Procent

  • “Количество чисел, больших ” & Z & “ равно ” & K

Логическое выражение – любое выражение, возвращающее логическое значение. При составлении логического выражения могут быть использованы все виды операций.

Например:

  • A>=B

  • (x+1)<y

  • (A(i)>x) And (A(i)<y)

  • Name1=Name

  • Sin(x+1)>(x+2)/3

Логическое выражение может быть простым или сложным.

Простые логические выражения могут содержать идентификаторы констант, переменных, обращений к функциям, числовые значения, арифметические и алгебраические выражения и обязательно какой-либо один из знаков отношения.

Например:

  • x=2

  • x+2>=3/(y+1)

  • i<=N-i+1

  • j<=M

  • x>Z

Сложные логические выражения образуются объединением простых логических выражений с помощью логических операций.

Наиболее часто используются логические операции And (И) и Or (ИЛИ).

Например, если необходимо определить принадлежит ли значение переменной z промежутку [x;y], то используется сложное логическое выражение, состоящее из двух простых: z>=x и z<=y, - объединенных логической операцией And (И):

(z>=x) And (z<=y) или z>=x And z<=y

Если значение переменной z принадлежит заданному промежутку, то выражение принимает значение True, в противном случае значение выражения будет – False.

Если значение переменной z не должно принадлежать промежутку [x;y), то условие записывается с помощью следующего логического выражения

(z<x) Or (z>=y) или z<x Or z>=y

Если значение переменной z не принадлежит заданному промежутку, выражение принимает значение True, в противном случае значение выражения будет – False.

Примеры сложных логических выражений:

  • (i<=N) and (W=1)

  • ((a>0) or (b<0)) and (c<>0)

  • x>0 And (y>0 or z<0)

  • (i>N) Or (i<M)

  • c>3 or c>=10