
- •Понятие алгоритма
- •Изображение алгоритма в виде блок-схемы
- •Программирование на языке
- •5. Представление вещественного числа
- •7. Переменные в vba
- •8. Константы в vba
- •9. Операции и функции языка vba
- •10. Структура программы
- •11. Правила записи операторов
- •14. Ввод и вывод данных с использованием рабочего листа ms Excel
- •17. Ввод и вывод данных с использованием встроенных функций vba
- •18. Условный оператор
- •20. Операторы циклической структуры
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •21. Решение задач с использованием циклов
- •22. Обработка массивов
- •23. Ввод-вывод элементов массива
9. Операции и функции языка vba
В VBA определены следующие арифметические операции:
+ (сложение),
- (вычитание),
* (умножение),
/ (деление),
\ (деление на цело)
^ (возведение в степень),
mod (остаток от деления),
div (целочисленное деление);
логические операции:
And (и),
Or (или),
Not(отрицание),
Xor (исключающее или);
операции сравнения:
=, <, <=, >, >=, <>.
В состав VBA входит множество различных функций.
Стандартные функции VBA
Название |
Описание |
Значение |
Abs(x) |
Модуль числа х |
Double |
Sin(x) |
Синус числа х |
Double |
Cos(x) |
Косинус числа х |
Double |
Tan(x) |
Тангенс числа x |
Double |
Atn(x) |
Арктангенс х |
Double |
Exp(x) |
Экспонента х |
Double |
Log(x) |
Натуральный логарифм числа |
Double |
Sqr(x) |
Корень квадратный |
Double |
Вычисление тригонометрических функций происходит в радианах. Чтобы преобразовать градусы в радианы, необходимо умножить градусы на π/180. Чтобы преобразовать радианы в градусы, необходимо умножить радианы на 180/π.
В VBA отсутствуют функции arcsin(x) и arcos(x), их необходимо выражать через arctg(x) следующим образом:
,
.
10. Структура программы
Программа на VBA имеет следующую структуру:
Sub имя программы()
тело программы
End Sub
11. Правила записи операторов
Каждый новый оператор записывается с новой строки.
Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:).
Если оператор не помещается на одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания ( _ ), а затем продолжить с новой строки.
12. Оператор комментария
Комментарий – это текст, который компилятором игнорируется. Начинается он либо с символа апостроф:
‘ Это комментарий
либо c оператора REM:
REM Комментарий
13. Оператор присваивания
Оператор присваивания в общем виде:
Имя_переменной = Выражение
Знак « = » читается «присвоить».
Выполняется операция так. Сначала вычисляется значение выражения указанного в правой части оператора, а затем его результат записывается в область памяти, имя которой указано слева.
c=5
a=c-3
c=c+1
Выражение в правой части и переменная в левой должны иметь совместимые типы.
ПРИМЕР. Фрагмент модуля
Dim X As Single, Y As Single
Dim Z As Single, B As Boolean
Dim A As Integer
X=Y+sin(Z) ‘Верно
X=A+B ‘Не верно
A=X/Y ‘Не верно
14. Ввод и вывод данных с использованием рабочего листа ms Excel
Cells(n, m) – ячейка активного листа, находящаяся на пересечении строки с номером n и столбца с номером m.
Ввод данных из рабочего листа
имя переменной = Cells(n, m)
a = Cells(2, 2)
b = Cells(3, 2)
c = Cells(4, 2)
Вывод данных в рабочий лист
Cells(n, m) = имя переменной
Cells(5, 2) = p
Cells(6, 2) = S
ЗАДАЧА 1. Зная a, b, c – длины сторон треугольника, вычислить площадь S и периметр P этого треугольника.
Входные данные: a, b, c.
Выходные данные: S, P.
Применим формулу Герона:
,
где p – полупериметр.
Блок-схема алгоритма
Текст программы
Option Explicit
Sub prim1()
Dim a As Single
Dim b As Single
Dim c As Single
Dim S As Single
Dim p As Single
a = Cells(2, 2)
b = Cells(3, 2)
c = Cells(4, 2)
p = (a + b + c) / 2
S=(p*(p-a)*(p-b)*(p-c))^0.5
Cells(5, 2) = 2*p
Cells(6, 2) = S
End Sub