Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Приоритет выполнения операций




Если выражение содержит несколько операций, то приоритет их выполнения следующий:

1. Сначала выполняются арифметические операции в таком порядке, как они представлены в таблице 2.2.

Таблица 2.2. Приоритет арифметических операций

Описание операции Обозначение в VВА
Унарный минус (изменение знака) - (в начале выражения)
Возведение в степень ^
Умножение и деление *, /
Деление нацело и остаток от деления \, Mod
Сложение и вычитание +, -

2. Далее операции отношения (они имеют одинаковый приоритет).

3. Последними выполняются логические операции в таком порядке, как они представлены в таблице 2.3.

Таблица 2.3. Приоритет логических операций

Описание операции Обозначение в VВА
Логическое отрицание Not
Логическое "И" And
Логическое "ИЛИ" Or

 

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

Выражения бывают арифметические, отношения и логические.

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

Таблица 2.4. Стандартные математические функции VBA

Математическая запись Имя функции в VBA Описание
½Х½ Abs(число) Возвращает значение, тип которого совпадает с типом переданного аргумента, равное абсолютному значению указанного числа.
arctg X Atn(число) Возвращает значение типа Double, содержащее арктангенс числа.
cos X Cos(число) Возвращает значение типа Double, содержащее косинус угла.
]X[ Int(число) Возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа.
ln X Log(число) Возвращает значение типа Double, содержащее натуральный логарифм числа.
eX Exp(число) Возвращает значение типа Double, содержащее результат возведения числа e (основание натуральных логарифмов) в указанную степень.
Sign X Sgn(число) Возвращает значение типа Variant (Integer), соответствующее знаку указанного числа.
sin X Sin(число) Возвращает значение типа Double, содержащее синус угла.
  Sqr(число) Возвращает значение типа Double, содержащее квадратный корень указанного числа.
tg X Tan(число) Возвращает значение типа Double, содержащее тангенс угла.

 

Выражения отношения определяют истинность или ложность результата при сравнении двух операндов. Сравнивать можно данные любого одинакового типа. Результат операции отношения только логический: True - "истина" или False - "ложь".

Логические выражения. Результатом логического выражения является логическое значение True или False. Простейшими видами логических выражений являются: логическая константа, логическая переменная, логическая функция, выражение отношения. Логические операции выполняются только над операндами логического типа.

Пример. Записать 1£Х£5 и определить значение выражения при Х=3.1

Выражение в VВА будет выглядеть так:

X>=1 And X<=5

Результатом выражения будет True.

Чтобы получить перечень всех математических функций, достаточно набрать имя любой известной математической функции (например, SIN), а затем нажать клавишу F1 и ниже описания выбранной функции выбрать ссылку на Математические функции. В полученном перечне можно получить справку о назначении любой из встроенных математических функций и ее аргументе.

Чтобы получить перечень всех производных математических функций и правила их формирования, достаточно набрать имя любой известной математической функции (например, SIN), а затем нажать клавишу F1 и ниже описания выбранной функции выбрать ссылку на Производные математические функции.

Ниже, в таблице 2.5, приведен список функций, которые могут быть получены с помощью встроенных математических функций.

 

 

Таблица 2.5. Производные математические функции

Математическая запись Название функции Комбинация встроенных функций
sc X Секанс 1/Cos(X)
csc X Косеканс 1/Sin(X)
ctg X Котангенс 1/Tan(X)
arcsin X Арксинус Atn(X/Sqr(-X*X+1))
arccos X Арккосинус Atn(-X/Sqr(-X*X+1))+2*Atn(1)
arcsc X Арксеканс Atn(X/Sqr(X*X-1))+Sgn((X)-1)*2*Atn(1)
arccsc X Арккосеканс Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*2*Atn(1)
arcctg X Арккотангенс Atn(X)+2*Atn(1)
sh X Гиперболический синус (Exp(X)-Exp(-X))/2
ch X Гиперболический косинус (Exp(X)+Exp(-X))/2
th X Гиперболический тангенс (Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))
sch X Гиперболический секанс 2/(Exp(X)+Exp(-X))
csch X Гиперболический косеканс 2/(Exp(X)-Exp(-X))
сth X Гиперболический котангенс (Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))
arsh X Гиперболический арксинус Log(X+Sqr(X*X+1))
arch X Гиперболический арккосинус Log(X+Sqr(X*X-1))
arth X Гиперболический арктангенс Log((1+X)/(1-X))/2
arsch X Гиперболический арксеканс Log((Sqr(-X*X+1)+1)/X)
arcsch X Гиперболический арккосеканс Log((Sgn(X)*Sqr(X*X+1)+1)/X)
arcth X Гиперболический арккотангенс Log((X+1)/(X-1))/2
lognX Логарифм по основанию N Log(X)/Log(N)

3. ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА VBA

Автор: bobfisherman |

17 февраля 2011 |

Просмотров: 7 |

Комментарии (0)

Правила записи операторов

При записи операторов необходимо придерживаться следующих правил:

- Каждый новый оператор записывается с новой строки.

- Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:).

- Если оператор не помещается в одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания (_), а затем продолжить не поместившуюся часть на следующей строке.

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

Оператор присваивания используется, если какой-то переменной нужно присвоить новое значение. Он имеет следующий синтаксис:

ИМЯ_ПЕРЕМЕННОЙ = ВЫРАЖЕНИЕ

Сначала вычисляется выражение в правой части, а затем результат присваивается переменной, стоящей в левой части.

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

На VВА это выражение можно записать в виде следующего оператора:

Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))

Операторы ввода-вывода

Оператор и функция MsgBox

Оператор MsgBox осуществляет вывод информации в диалоговом окне и устанавливает режим ожидания нажатия кнопки пользователем.

Он имеет следующий синтаксис:

MsgBox Сообщение[,Кнопки][, Заголовок]

Аргументы:

Сообщение - обязательный аргумент, задающий в окне выводимое информационное сообщение. Может состоять из нескольких текстовых строк, объединенных знаком &. Использование в этом аргументе Chr(13) приводит к переходу на новую строку при выводе информации.

Кнопки - значение этого аргумента определяет категории появляющихся в окне кнопок. От значения аргумента кнопкизависит также, появляется ли в окне какой-либо значок. Если не указано, какие кнопки необходимо отображать в окне сообщений, то используется значение по умолчанию, соответствующее кнопке ОК. В табл. 3.1 приведены возможные комбинации кнопок и значков в окне сообщений.

Заголовок - задает заголовок окна.

Функция MsgBox возвращает значение типа Integer, указывающее, какая кнопка была нажата в диалоговом окне.

Таблица 3.1. Допустимые значения переменной кнопки

Отображение Аргумент
Кнопка ОК VbOKOnly
Кнопки ОК и Отмена VbOKCancel
Кнопки Да и Нет VbYesNo
Кнопки Да, Нет и Отмена VbYesNoCancel
Кнопки Прекратить, Повторить и Игнорировать VbAbortRetryIgnore
Кнопки Повторить и Отмена. VbRetryCancel
Информационный знак VbInformation
Знак VbCritical
Знак вопроса VbQuestion
Знак восклицания VbExclamation

Например. Вывести сообщение о текущей дате.

Для этого можно использовать следующий оператор:

MsgBox "Сегодня на календаре" & Date,, "Внимание"


В результате будет выведено следующее окно (рис.3.1).

 

 

Рис. 3.1

После щелчка по кнопке ОК окно сообщения закроется, и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом MsgBox.

Функция InputBox

Функция InputBox осуществляет ввод значений переменных с помощью окна ввода и имеет следующий синтаксис:

Имя_Переменной = InputBox( Сообщение[, Заголовок] )

Аргументы:

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

Заголовок - задает заголовок окна.

Например, Ввести значение переменной N с клавиатуры, предусмотрев значение по умолчанию равное 10.

Для этого можно использовать следующий оператор:

N = InputBox("Введите N", "Ввод исходных данных",10)

В результате будет выведено следующее окно для ввода значения переменной N (рис.3.2).

 

 

Если значение по умолчанию подходит пользователю, то после щелчка кнопки ОК окно ввода закроется, переменной N присвоится значение 10 и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом InputBox.

Если же значение по умолчанию не подходит пользователю, то перед щелчком по кнопке ОК необходимо ввести нужное значение переменной N.

Условный оператор IF

Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:

If УСЛОВИЕ Then ОПЕРАТОР_1 Else ОПЕРАТОР_2

ОПЕРАТОР_1 выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2. При этом оператор If…Then…Else записывается в одну строку.

УСЛОВИЕ – это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 3.2.

Таблица 3.2. Логические отношения

Операция Название Выражение Результат
= Равно A = В True, если А равно В
<> Не равно A<>В True, если А не равно В
> Больше А>B True, если А,больше В
< Меньше A<B True, если А меньше В
>= Больше или равно A>=B True, если А больше или равно В
<= Меньше или равно A<=B True, если А меньше или равно В

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

Таблица 3.3. Логические операции

  Название Выражение А В Результат
Not Логическое отрицание Not A False True   True False
And Логическое И A And B True True False False True False True False True False False False
Or Логическое ИЛИ A Or B True True False False True False True False True True True False

В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:

If УСЛОВИЕ Then

БЛОК_ОПЕРАТОРОВ_1

Else

БЛОК_ОПЕРАТОРОВ_2

End If

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

If УСЛОВИЕ_1 Then

БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2 Then

БЛОК_ОПЕРАТОРОВ_2

Else

….

End If

Пример 1. Написать часть программы для алгоритма на рис. 3.3.

 

 

Пример 2. Написать часть программы для алгоритма на рис. 3.4.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...