Основы программирования на языке Visual Basic for Applications (VBA). Виды выражений. Оператор присваивания.
Над переменными и константами могут выполняться операции.
В таблице 3 представлены математические операции VBA.
Таблица 3
Выражение | Операция | Пример | ||
А | B | Результат | ||
A+B | Сложение | 2.75 | 7,75 | |
А – В | Вычитание | 2,75 | 2,15 | |
А * В | Умножение | |||
А/В | Деление | 3.5 | ||
A \ В | Целочисленное деление | |||
A mod В | Остаток от деления по модулю | |||
A^B | Возведение в степень |
Стандартные математические функции VBA представлены в таблице 4.
Таблица 4
Обращение | Функция |
Abs(х) | Модуль аргумента |
Atn(x) | Арктангенс (радианы) |
Соs (x) | Косинус (x в радианах) |
Eхр(х) | ex — экспонента |
Int(x) | Целая часть х, полученная отбрасыванием дробной части |
Fix(x) | Число, округленное до ближайшего меньшего целого |
Log(x) | Натуральный логарифм |
Sin(x) | Синус (х—в радианах) |
Sqr(x) | Корень квадратный |
Tan(x) | Тангенс числа |
Старшинство операций (в порядке убывания приоритета):
ð операции в скобках;
ð вычисление функции;
ð ^ ;
ð смена знака;
ð *, /, \, mod;
ð +, -
ð = , >,<,>=,<=,<>,
ð Not,
ð And,
ð Or,
ð Xor.
Логические выражения в результате вычисления принимают логические значения True (Истина) или False (Ложь). Операндами логического выражения могут быть логические константы, переменные логического типа, отношения. В VBA чаще используют 4 логические операции: отрицание — NOT, логическое умножение — AND, логическое сложение — OR, исключающее “или” — XOR. Результаты логических операций для различных значений операндов приведены в таблице 5. Использованы обозначения: Т — True, F — False.
Таблица 5
А | В | not A | A and В | А оr В | А хоr В |
Т | Т | F | Т | Т | F |
Т | F | F | F | Т | Т |
F | F | Т | F | F | F |
F | Т | Т | F | Т | Т |
Пример. Записать математические выражения в виде арифметических выражений на VBA
Математическое выражение | Выражение на VBA |
x2-7x+6 | x^2-7*x+6 |
(Abs(x)-Abs(y))/(1+Abs(x*y)) | |
ln | Log(Abs((y-Sqr(Abs(x)))*(x-y/(z+(x)^2/4)))) |
Функции преобразования типов выполняют преобразование переменной некоторого типа в заданный тип (таблица 6). Чаще всего выполняется преобразование из строки символов в число и числа в его строковое представление.
Таблица 6
Функция | Назначение |
Val (строка) | Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа |
Str(число) | Возвращает значение типа variant (String), являющееся строковым представлением числа |
В качестве допустимого разделителя функция Str воспринимает только точку. При наличии другого десятичного разделителя следует использовать функцию CStr. Остальные функции преобразования из данного типа в указанный приведены в таблице 7.
Таблица 7
Функция | Тип, в который преобразуется выражение |
CBool | Boolean |
CByte | Byte |
CDate | Date |
CDbl | Double |
CInt | Integer |
CLng | Long |
CSng | Single |
CStr | String |
Функции проверки типа позволяют узнать, является ли переменная выражением определенного типа (таблица 8).
Таблица 8
Функция | Проверка |
IsNumeric(х) | Является ли переменная числовым значением |
IsNull(х) | Является ли переменная пустым значением (Null) |
IsError(х) | Является ли переменная кодом ошибки |
Оператор присваивания (=)
Оператор присваивания позволяет задать (присвоить) переменной значение другой переменной, выражения или объекта.
Синтаксис: <переменная> =<выражение>
Порядок выполнения: вычисляется значение <выражения> и присваивается полученное значение <переменной> (вычисляется значение выражения, стоящего справа от знака присваивания, и присваивается переменной, стоящей слева от знака присваивания).
Изображение в блок – схеме:
Пример: вычислить значение функции f(x,y)=|x|+sin2(y+5).
Public Sub prog1() Dim x As Double, y As Double Dim f As Double x=CDbl(InputBox("Введите х")) y=CDbl(InputBox("Введите y")) f = Abs(x) + Sin(y + 5) ^ 2 MsgBox "Результат = " & f End Sub | Заголовок процедуры prog1 (начало программы) Описание переменных: переменные x,y,f вещественного типа (Double) Ввод значений х и у. Функция InputBox выводит на экран окно с полем ввода и сообщением «Введите х» и возвращает значение типа строка (String). Для преобразования вводимого значения к вещественному типу – Double- используется функция CDbl. Вычисление значения переменной f: функция Abs(аргумент) возвращает модуль аргумента, Sin(аргумент) – синус аргумента, ^ - степень числа. Процедура MsgBox выводит на экран окно сообщений с текстом «Результат = 12» (если f=12). Конец программы. |
Блок-схема программы prog1