Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA 4 Пишем функцию.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
122.37 Кб
Скачать

- 8 -

4. Пишем функцию

В этом разделе описано все, что нужно для написания функции на VBA и ее дальнейшего использования в Excel. Функция помещается в одну из категорий Мастера функций и далее используется наравне с другими функциями. Научившись создавать функции, пользователь получает возможность программировать алгоритмы специальной обработки данных и вставлять их в формулы на рабочем листе Excel.

Алгоритм и программа

Любая программа написана человеком. Компьютерные программы типа «Студия разработки …» облегчают программирование, но не заменяют человека.

Прежде чем писать программу, программист составляет себе план на «человеческом» языке, как должен работать компьютер под управлением программы. Этот план называется алгоритм. На этом этапе важно уметь разбить сложное действие на ряд простых шагов и описать последовательность выполнения этих шагов. И так, запомним следующее.

Алгоритм – описание последовательности действий на «человеческом» языке. Программа – запись алгоритма на языке, понятном ЭВМ, то есть с помощью операторов языка программирования. Алгоритм будущей программы никак не связан с языком программирования. Программа пишется на конкретном языке программирования и не годится для другого языка.

В жизни люди используют алгоритмы, даже не зная об этом. Например, рецепт заваривания чая – алгоритм, рецепт выпечки торта – тоже алгоритм, потому что и то, и другое – описание последовательности действий. Меню – не алгоритм, это список блюд, но не действий.

Существует только три основных типа действий, три типа алгоритмов: линейный (действия выполняются последовательно), ветвящийся (в точке ветвления определяется, делать или не делать следующие действия) и циклический (действия повторяются многократно). Алгоритм реальной программы представляет собой смесь всех трех типов действий. Когда мы пишем алгоритм, нам все равно, на каком языке программирования будет написана программа. Потому что в каждом языке программирования есть операторы линейной, ветвящейся и циклической структуры. Такие операторы есть и в языке VBA.

Функция Герона

Напишем функцию для вычисления площади треугольника по формуле Герона, то есть по заданным сторонам треугольника.

Алгоритм работы функции Герона.

Из вызывающей программы в функцию Герона передаются длины сторон треугольника в трех переменных a, b, c .

Вычисляется полупериметр p=(a+b+c)/2

Вычисляется квадрат площади треугольника s=p×(pa)×(pb)×(pc)

Вычисляется площадь треугольника s=корень(s)

Площадь треугольника возвращается в вызывающую программу.

Так как в вызывающую программу возвращается только одно значение, и не нужно изменять объекты Excel, напишем программу Герона как функцию. Тогда ее можно будет вставлять в формулы рабочего листа.

В программе VBA создадим новый модуль командой InsertModule. В окне проекта в папке Modules появится модуль Module2. Щелчком мыши выделим Module2. В окне свойств в поле Name изменим имя Module2 на имя Герон (так мы решили назвать новый модуль).

В окне кода в модуле Герон напишем текст функции Герона.

Function Geron(a As Double, b As Double, c As Double) _

As Double

'Вычисление площади треугольника по формуле Герона

Dim p As Double

Dim s As Double

p = (a + b + c) * 0.5

s = p * (p - a) * (p - b) * (p - c)

Geron = Sqr(s)

End Function

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]