
- •Е. А. Сидорова, п. С. Челобанов основы программирования на vba омск 2011
- •1. Понятие и свойства алгоритма
- •1.1. Понятие алгоритма
- •1.2. Свойства и виды алгоритмов
- •1.3. Способы представления алгоритмов
- •2. Язык программирования vba
- •2.1. Языки программирования
- •2.2. Общие сведения о vba
- •2.3. Основные понятия языка программирования
- •2.4. Алфавит vba
- •2.5. Типы данных
- •2.6. Формы записи вещественных чисел в программе
- •2.7. Переменные
- •2.8. Константы
- •2.9. Встроенные функции
- •2.10. Выражения
- •2.11. Редактор Visual Basic
- •2.12. Правила записи и ввода программ на vba
- •2.13. Создание первой программы
- •3. Управление вводом и выводом данных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода данных
- •3.3. Генерирование случайных чисел
- •3.4. Операторы вывода данных
- •4. Линейные вычислительные процессы
- •5. Разветвляющиеся вычислительные процессы
- •5.1. Алгоритм разветвляющегося процесса
- •5.2. Оператор условного перехода If
- •5.2.1. Однострочный (линейный) оператор If
- •If Условие Then Операторы_1 [ Else Операторы_2 ],
- •5.2.2. Блочная форма оператора If
- •5.3. Объединение условий с помощью логических операций
- •5.4. Оператор безусловного перехода GoTo
- •5.5. Оператор выбора Select Case
- •6. Символьные переменные
- •6.1. Общие понятия
- •6.2. Сравнение строк
- •6.3. Строковые функции
- •6.4. Оператор Mid
- •7. Введение в объектно-ориентированное программирование
- •7.1. Основные понятия
- •7.2. Создание пользовательского интерфейса
- •7.3. Установка свойств объектов и определение методов
- •7.4. Составление программного кода
- •7.5. Создание пользовательского приложения с использованием формы
- •7.5.1. Создание формы
- •7.5.2. Разработка программного кода
- •8. Циклические вычислительные процессы
- •8.1. Понятие цикла
- •8.2. Арифметический цикл
- •8.2.1. Цикл с разветвлением
- •8.2.2. Цикл со счетчиком. Вычисление максимума и минимума
- •8.2.3. Вложенные циклы
- •8.3. Вычисление сумм и произведений
- •8.4. Итерационные циклы
- •8.4.1. Операторы цикла Do … Loop
- •9. Модульное программирование.
- •9.1. Понятие процедуры
- •9.2. Параметры процедур – формальные и фактические
- •9.3. Разработка процедур-функций
- •9.4. Разработка процедур-подпрограмм
- •9.5. Срочный выход из процедур и циклов
- •10. Переменные с индексами. Одномерные массивы
- •10.1. Понятие массива
- •10.2. Ввод массива
- •10.2.1. Считывание массива с листа Excel
- •10.2.2. Заполнение массива случайными числами
- •10.3. Вывод массива
- •10.4. Решение задач с использованием массивов
- •644046, Г. Омск, пр. Маркса, 35
2.9. Встроенные функции
В VBA имеется большой набор встроенных функций, использование которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории: математические функции, функции обработки строк, проверки, определения и преобразования типов данных, функции времени и даты, финансовые функции и др.
Функция задается с помощью указателя функции, который записывается в виде имени, и аргументов, заключенных в круглые скобки:
Имя_функции(аргументы)
Аргументами функций могут быть константы, переменные, функции, арифметические выражения.
Список встроенных математических функций приведен в табл. 3.
Таблица 3
Перечень основных встроенных математических функций
Наименование функции |
Математическая запись |
Запись на VBA |
Примечание |
Целая часть числа |
– |
Fix(x) |
Выделение целой части числа x; дробная часть при этом отбрасывается, число не округляется, например: Fix(1.2) = 1; Fix(–2.7) = –2 |
Абсолютное значение |
|x| |
Abs(x) |
|
Корень квадратный |
|
Sqr(x) |
x>0 |
Показательная |
ex |
Exp(x) |
|
Логарифм натуральный |
ln x |
Log(x) |
x>0 |
Синус |
sin x |
Sin(x) |
|
Косинус |
cos x |
Cos(x) |
|
Тангенс |
tg x |
Tan(x) |
|
Арктангенс |
arctg x |
Atn(x) |
|
Функции, отсутствующие в числе встроенных, необходимо записывать с использованием встроенных функций и известных математических соотношений:
корень
n-й
степени:
→
x^(1/n),
→
Log(b)/Log(a),
lg
x
= log10
x
→ Log(x)/Log(10),
arcsin
x
=
→ Atn(x/Sqr(1 – x^2)),
arccos
x
=
→ Atn(Sqr(1 – x^2)/x).
Аргумент тригонометрической функции должен быть в радианах. Формула перевода градусов в радианы: xрад = xград ∙ π/180°.
Например, sin 60° → Sin(60*3.14/180).
2.10. Выражения
Выражения представляют собой последовательную запись операндов, т. е. констант, переменных, функций, или любых их комбинаций, образованную с помощью знаков арифметических операций, а также операций отношения.
В VBA всего семь арифметических операций: пять стандартных – сложение (+), вычитание (–), умножение (*), деление (/), возведение в степень (^) и две дополнительные:
целочисленное деление (\), при котором дробная часть отбрасывается, (число не округляется), например: 5 \ 2 = 2;
остаток от деления целых чисел a на b: a Mod b. Например, в результате выполнения операции X = 10 Mod 3 переменной X будет присвоено значение 1 (остаток от деления 10 на 3).
Арифметические выражения соответствуют общепринятым алгебраическим выражениям. Результатом вычисления является число. Операции в сложном выражении выполняются в порядке старшинства: вычисление значения функции, возведение в степень, умножение и деление, сложение и вычитание. Операции одного приоритета выполняются последовательно слева направо. Для изменения приоритета используются круглые скобки. Запись выражения выполняется в одну строку, в выражении нельзя опускать знак умножения, ставить подряд два знака операций. Если в числителе или знаменателе дроби имеется многочлен, то его необходимо заключать в скобки.
Логические выражения, примером которых являются отношения, применяются для сравнения значений выражений. Приоритет операций отношения ниже приоритета арифметических операций. Операции отношения (сравнения) следующие:
– равенство ( = );
– больше ( > ), меньше ( < );
– больше или равно ( >= ), меньше или равно ( <= );
– не равно ( < > ).
Операторы сравнения возвращают значение True, если утверждение истинно, или False, если утверждение ложно.
При проверке нескольких условий применяются логические операции:
And – логическое И;
Or – логическое ИЛИ;
Not – логическое отрицание.
Примеры записи арифметических и логических выражений на языке VBA приведены соответственно в табл. 4 и 5.
Таблица 4
Запись арифметических выражений на языке VBA
Математическая запись |
Запись на языке VBA |
|
2 * a* (–b) |
|
a / (b * c) или a / b /c |
|
(a * x ^ 2 + b * x + c) / (d – 2.5) ^ (1 / 3) |
|
Sin(x ^ 3) ^ 2 + Exp(–4 * x) |
|
Log(x) / Log(10) * Cos(2 * x) / (Sqr(b) +c) |
Таблица 5
Запись логических выражений на языке VBA
Математическая запись |
Запись на языке VBA |
b2 – 4 ac > 0 |
b ^ 2 – 4 * a * c > 0 |
k ≠ m |
k < > m |
– 5 ≤ x ≤ 7 |
x >= –5 And x <= 7 |
x > y и y > 0 |
x > y And y > 0 |
x = 0 или x = 1 |
x = 0 Or x = 1 |