Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Математические функции

 

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

Дополнительные тригонометрические функции можно выводить из базовых математических функций VBA. Например, если необходимо вычислить котангенс угла, для его нахождения можно использовать формулу 1/Таn(х).

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

Функции (аргументы) Возвращает/ действие
Abs(N) Возвращает абсолютное значение N
Atn(N) Возвращает арктангенс N как угол в радианах
Сos(N) Косинус угла N, где N это угол, измеряемый в радианах
Sin(N) Возвращает синус угла; N – это угол, измеряемый в радианах
Sqr(N) Возвращает корень квадратный из N. VBA отображает ошибку, исполнения, если N – отрицательное
Tan(N) Возвращает тангенс угла; N – угол в радианах
Exp(N) Возвращает константу е, возведенную в степень N. (е – это основание натурального логарифма)
Fix(N) Возвращает целую часть N. Fix не округляет число, а отбрасывает любую дробную часть. Если N является отрицательным, Fix возвращает ближайшее отрицательное целое, большее, чем или равное N
Int(N) Возвращает целую часть N. Int не округляет число, а отбрасывает любую дробную часть. Если N является отрицательным, Int возвращает ближайшее отрицательное целое меньшее, чем или равное N
Log(N) Возвращает натуральный логарифм N
Rnd(N) Возвращает случайное число; аргумент является необязательным. Функцию Rnd используется только после инициализации VBA-генератора случайных чисел оператором Randomize
Sgn(N) Возвращает знак числа: -1, если N отрицательное; 1, если N – положительное; 0, если N равно 0

 

 

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

– константы;

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

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

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

– функции.

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

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

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

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

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

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

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

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

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

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

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

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

 

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

Оператор/ операция Комментарии
^ Возведение в степень, наивысший приоритет
- Унарный минус (присвоение знака числу)
*, / Умножение и деление имеют равные приоритеты; они вычисляются по мере появления в выражении слева направо
\ Вычисляет результат целочисленного деления первого математического выражения (X) на второе (Y). Перед вычислением значение каждого выражения округляется до целых по правилам математики.
Mod Вычисляет остаток от деления первого математического выражения (X) на второе (Y). Перед делением значение каждого выражения округляется до целых по правилам математики
+, - Сложение и вычитание имеют равный приоритет; они вычисляются по мере появления в выражении слева направо
& Сложение строк выполняется после любых арифметических операций в выражении и перед любыми операциями сравнения или логическими операциями
<, <=, >, >=, =, <> Все операторы сравнения имеют равные приоритеты и вычисляются по мере появления в выражении слева направо. Для группирования операторов сравнения в выражениях надо использовать круглые скобки
Not Логическое отрицание
And Функция И (логическое умножение)
Or Функция ИЛИ (Логическое сложение)
Xor Исключающее ИЛИ
Eqv Функция эквивалентности
Imp Функция импликации

 

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

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

 

Таблица 9.5

Функция Арифметическое выражение
   
PI = p PI = 4*ATN(1)
+3,15×1015 Y = (A+B)/(A*X-2)+3.15Е15
Y = (А+В)/(А*В)-.17Е-13
Y = SIN2 X Y = SIN(X)12
Y = SIN X 2 Y = SIN(X*X)
Y = (LOG(X)/LOG(10))^(1/7)
Y = SIN(X)^(2/3)
Y = EXP(SQR(ABS(COS(X))))
Y = ctg2 x Y = 1/TAN(X)^2
Y = arcsin Y = ATN(EXP(X)/SQR(1-EXP(2*X)))
Y = arccos3 X Y = ATN(SQR(1-9*X*X)/(3*X))
Y = arccos3 X 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
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))

 


<== предыдущая лекция | следующая лекция ==>
Вывод данных | Линейные алгоритмы
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1340; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.