Сделай Сам Свою Работу на 5

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





 

Выражения состоят из одной и долее следующих частей

– константы;

– переменные;

– знаки операций;

– элементы массива;

– функции.

Выражения используются для выполнения вычислений и сравнения значений, для предоставления переменных в качестве аргументов различным функциям и процедурам VBA. Все выражения Visual Basic вычисляются до значения, имеющего один из типов данных Visual Basic.

При вычислении сложных выражений VBA следует таким правилам:

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

– Конкретные операции выполняются в зависимости от иерархии операторов;

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

VBA вычисляет выражения в следующем порядке:

– Знаки арифметических операций.

– Знаки конкатенации (сложения) строк.

– Операторы сравнения.

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

В таблице приведена иерархия операторов VBA. Операторы/операции перечислены в порядке от самого высокого приоритета до самого низкого. Операции, помещенные в одной и той же строке этой таблицы, имеют равный приоритет. Операции с равным приоритетом вычисляются слева направо так, как они появляются в выражении.



Иерархия операция от наивысшего до самого низкого приоритета показана в таблице 4

 

Таблица 4. Иерархия операторов/операций

Оператор/ операция Комментарии
^ Возведение в степень, наивысший приоритет
- Унарный минус (присвоение знака числу)
*, / Умножение и деление имеют равные приоритеты; они вычисляются по мере появления в выражении слева направо
\ Вычисляет результат целочисленного деления первого математического выражения (X) на второе (Y). Перед вычислением значение каждого выражения округляется до целых по правилам математики.
Mod Вычисляет остаток от деления первого математического выражения (X) на второе (Y). Перед делением значение каждого выражения округляется до целых по правилам математики
+, - Сложение и вычитание имеют равный приоритет; они вычисляются по мере появления в выражении слева направо

 



Продолжение табл. 4

& Сложение строк выполняется после любых арифметических операций в выражении и перед любыми операциями сравнения или логическими операциями
<, <=, >, >=, =, <> Все операторы сравнения имеют равные приоритеты и вычисляются по мере появления в выражении слева направо. Для группирования операторов сравнения в выражениях надо использовать круглые скобки
Not Логическое отрицание
And Функция И (логическое умножение)
Or Функция ИЛИ (Логическое сложение)
Xor Исключающее ИЛИ
Eqv Функция эквивалентности
Imp Функция импликации

 

Математические выражения в программе записываются в одну строку. В строке должно быть не более 255 символов без учета пробелов. Главную роль в записи математических выражений играет правильное использование скобок. Они не только указывают очередность действий, но и отделяют аргументы математических функций, поэтому скобок бывает больше, чем других служебных знаков. Арифметическое выражение состоит из переменных, констант, функций и знаков арифметических действий.

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

 

Таблица 5

Функция Арифметическое выражение
PI = p PI = 4*ATN(1)
+3,15×1015 Y = (A+B)/(A*X-2)+3.15Е15
Y = (А+В)/(А*В)-.17Е-13
Y = SIN2X Y = SIN(X)12
Y = SIN X2 Y = SIN(X*X)

Продолжение табл. 5



Y = (LOG(X)/LOG(10))^(1/7)
Y = SIN(X)^(2/3)
Y = EXP(SQR(ABS(COS(X))))
Y = ctg2x Y = 1/TAN(X)^2
Y = arcsin Y = ATN(EXP(X)/SQR(1-EXP(2*X)))
Y = arccos3X Y = ATN(SQR(1-9*X*X)/(3*X))
Y = arccos3X Y = 3.14/2-ATN(3*X/SQR(1-9*X*X))
Y = Y = (ABS(LOG(EXP(X)))^(1/3)
Y = Y = SQR(1+1/TAN(X)^3-LOG(X)/LOG(10))
у = cos x2 Y = COS (x ^ 2)
у = cos2 х Y = COS (x) ^ 2
y = cosa+bx Y = COS (x) ^ (a + b)
у = Y = x ^ (1 / 5)
у = У = (x + 3) ^ (1 / (5 + b))
y = Y = SQR(xl + SQR(x2))
y = Y = SQR(xl + x2 ^ (1 / 3))
z = z = x ^ (y + 2)
z = z = a ^ (x ^ y)
y = (a +-b + 3)/((a. + l)/(b + 2))
PI = p PI = 4*ATN(1)
+3,15×1015 Y = (A+B)/(A*X-2)+3.15Е15
Y = (А+В)/(А*В)-.17Е-13
Y = (LOG(X)/LOG(10))^(1/7)
Y = SIN(X)^(2/3)
Y = EXP(SQR(ABS(COS(X))))
Y = ctg2x Y = 1/TAN(X)^2

Продолжение табл. 5

Y = arcsin Y = ATN(EXP(X)/SQR(1-EXP(2*X)))
Y = arccos3x Y = ATN(SQR(1-9*X*X)/(3*X))
Y = arccos3x Y = 3.14/2-ATN(3*X/SQR(1-9*X*X))
Y = Y = (ABS(LOG(EXP(X)))^(1/3)
Y = Y = SQR(1+1/TAN(X)^3-LOG(X)/LOG(10))

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.