Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа.Часть 2

.doc
Скачиваний:
5
Добавлен:
27.12.2020
Размер:
53.25 Кб
Скачать

Лабораторные работы по программированию на VBA

Для реализации процедур на VBA необходимо:

1 – изучить операторы языка VBA;

2 – уметь разрабатывать алгоритмы для решения конкретных задач;

3 – уметь работать в среде редактора Visual Basic в одном из приложений (Word, Excel, Access). Будем рассматривать примеры подпрограмм и функций VBA в среде редактора Visual Basic Excel.

Для входа в среду VBA Excel необходимо выполнить команду Сервис / Макрос / Редактор Visual Basic или воспользоваться горячей клавишей Alt+F11 (непосредственно в среде Microsoft Excel).

Для начала набора текста функции или подпрограммы на языке VBA необходимо находясь в среде VBA выполнить команду - Insertcтавить) / Module(Модуль) и затем воспользоваться командой - Insertcтавить) / Procedure(Процедуру). В появившемся окне необходимо выбрать функцию или подпрограмму и задать ее имя. После этого будут автоматически сформированы операторы начала и конца процедуры и можно переходить непосредственно к набору операторов процедуры на VBA.

Для набора следующей процедуры в том же модуле необходимо повторить команду - Insertcтавить) / Procedure(Процедуру). Если нужно создать новый модуль повторяется команда - Insertcтавить) / Module(Модуль).

Проверка правописания осуществляется командой - Debug(Отладка) / Compile VBAProject(компилировать). Проверка работоспособности разработанной процедуры производится путем ее использования в Excel (вызов функции путем вставки функции из списка функций Excel или вызов подпрограммы путем запуска макроса или пользовательской формы).

2 Разработка функций для реализации циклических алгоритмов

Алгоритм – набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий, при любом наборе исходных данных.

Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

Для реализации циклических алгоритмов в VBA используются 3 вида операторов цикла For, While, Do Loop

  1. Формат оператора For

For переменная = начальное_значение To конечное_значение [Step шаг] [операторы] [Exit For] [операторы]

Next [перменная]

Пример цикла For:

For I = 1 To 10

For J = 1 To 10

For K = 1 To 10

...

Next K

Next J

Next I

Цикл For будет выполняться заданное число раз (в примере – 10 раз с шагом 1).

  1. Формат оператора While – цикл с предусловием. Операторы цикла выполняются до тех пор пока, условие оператора while имеет истинное значение. В случае, если при в ходе в цикл условие while имеет ложное значение, то цикл выполняться не будет.

While условие [операторы]

Wend

Пример цикла While

While i <= 10 s=s+i

i=i+1

Wend

  1. Формат оператора Do ... Loop имеет две разновидности

Do [{While | Until} условие] [операторы] [Exit Do] [операторы]

Loop

или

Do [операторы] [Exit Do] [операторы]

Loop [{While | Until} условие]

Примеры функций циклических алгоритмов

  • функция вычисления суммы S=12+22+…+n2;

Public Function FunS(n)

Dim s As Integer

Dim i As Integer

s = 0

For i = 1 To n

s = s + i ^ 2

Next

FunS=s

End Function

  • функция вычисления приближенного значения sin(x) по формуле у=x/1!-x3/3!+x5/5!-….+x2n+1/(2n+1)! с заданной погрешностью;

Public Function sinus(x, погрешность)

i = 2

p = x

s = x

While Abs(p) > погрешность

p = -p * x ^ 2 / (i * (i + 1))

i = i + 2

s = s + p

Wend

sinus = s

End Function

Задание для самостоятельного выполнения:

На VBA составить функции для:

  1. найти , где m и n заданные числа;

  2. вычислить сумму кубов трехзначных четных чисел;

оператор mod – остатока от деления.

Пример: (22 mod 5) = 2.

  1. найти сумму S=1*100+2*99+3*98+…+ 50 *51

  2. вычисления произведения P=n!=1*2*….*n;

  1. вычисления приближенного значения cos(x) по формуле у=1-x2/2!+x4/4!-….+x2n/(2n)! для заданного числа n;

  2. вычисления приближенного значения ex по формуле , с заданной точностью E;

Составить блок-схему для одного из реализованных алгоритмов