Типы данных и переменные
Тип данных определяет, каким образом величина хранится в памяти компьютера. Задавая тип данных, мы налагаем некоторые ограничения на сохраняемую величину, а именно: величина переменной, количество разрядов и др.
Наиболее распространенные типы данных приведены в таблице 2.
Таблица 2
Тип данных | Диапазон |
Byte (целый без знака) | От 0 до 255 |
Boolean (логический) | True или False |
Integer (целый) | от - 32768 до 32767 |
Long (длинный целый) | от - 2147483648 до 2147483647 |
Single (число с плавающей запятой обычной точности) | От - 3.402823Е +38 до - 1.401298Е-48 и от 1.401298Е-45 до 3.402823Е+38 |
Double (число с плавающей запятой двойной точности) | От -1,79769313486232Е308 до -4,94065645841247Е-324 для отрицательных значений; от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных значений |
Date (дата и время) | от 01. 01. 100 до 31. 12.9999 |
String (строка) | от 0 до 65535 символов |
Variant | Любой встроенный тип данных |
Переменные - это поименованные области в памяти компьютера. После вычисления какого-либо значения оно записывается в память, чтобы затем можно было к нему возвращаться. Использование переменных дает Visual Basic возможность создавать прямое соответствие между областями памяти и заданным именем. Затем можно использовать это имя в программе.
Имя переменной может содержать цифры, буквы и знак подчеркивания, но обязательно должно начинаться с буквы.
Объявляя переменную, можно указать ее тип, указывая тем самым Visual Basic, какой тип данных должен быть использован при записи переменной в память. Если тип не указан - по умолчанию используется тип Variant, который дает возможность хранить в нем практически любую величину. Переменная объявляется следующим образом:
Dim <ИмяПеременной> [As Тип]
Пример.
Dim A As Integer | Переменная А объявляется как целочисленная |
Dim Фамилия As String | Переменная Фамилия объявляется как строка символов |
? Напишите оператор объявления переменной Х, которая является числом с дробной частью.
______________________________
Константы, в отличие от переменных, не могут изменять свои значения. Использование констант делает программы легче читаемыми и позволяет проще вносить исправления — отпадает необходимость многократно исправлять значения по тексту программы, т. к. достаточно ввести новое значение при определении константы.
Const <ИмяКонстанты> [As Single] = <Выражение>
Пример
Const ПроцентнаяСтавка As Single =0.2
Const g=9.8
Над переменными и константами могут выполняться операции.
В таблице 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)))) |
? Напишите выражение на VBA для следующих функций
Математическое выражение | Выражение на VBA |
? Найдите ошибки в записи выражений на VBA
Математическое выражение | Выражение на VBA |
=tan2*a+1/2*cos(a)^2 | |
=abs(exp^x)-(cos^2*x)^1/3 |
Функции преобразования типов выполняют преобразование переменной некоторого типа в заданный тип (таблица 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 |
? Запишите выражение, в котором переменная W преобразуется к типу Double.
______________________________
? Какому типу принадлежит переменная Y, после выполнения функции
Y = CInt(Y0) | |
Y = CByte(Y0) |
Функции проверки типа позволяют узнать, является ли переменная выражением определенного типа (таблица 8).
Таблица 8
Функция | Проверка |
IsNumeric(х) | Является ли переменная числовым значением |
IsNull(х) | Является ли переменная пустым значением (Null) |
IsError(х) | Является ли переменная кодом ошибки |