Обращение к процедурам и функциям в программе

Лабораторная работа № 9

Использование подпрограмм в VBA

Цель:

Изучить порядок оформления подпрограмм в среде программирования VBA.

Результат обучения:

После успешного завершения занятия пользователь должен:

oуметь использовать функции при программировании в среде VBA;

oуметь использовать процедуры при программировании в среде VBA.

Определение подпрограммы

Для создания подпрограмм в Бейсике предусмотрена возможность использования процедур. Подпрограммой (процедурой) называют часть программы, реализующую вспомогательный алгоритм. Алгоритм, оформленный в виде процедуры, может быть выполнен многократно.

Он вызывается из различных мест основной программы. Процедуры оформляются в виде процедур-функций и процедур.

Процедуры и функции в языке Visual Basic помещаются в стандартный модуль. Стандартный модуль (или просто модуль программы) представляет собой файл с расширением .bas. Он содержит переменные и процедуры, которые могут быть использованы в любом месте проекта. В VBA стандартный модуль подключается к проекту с помощью команды Insert/Module. Созданный модуль по умолчанию получает имя Module1 и появляется в окне Code.

В этом окне записываются процедуры-функции и процедуры.

Подпрограммы-функции

Синтаксис:

Function [(Формальные параметры)] [as Type]

=

End Function

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

Пример 1.

Имеются три переменные X, Y, Z. Необходимо найти наименьшее из этих трех переменных. Оформить поиск наименьшего в виде функции.

Код:

Function MinABC(x, y, z) As Single

m = x

If y < m Then m = y

If z < m Then m = z

MinABC = m

End Function

Процедуры

Синтаксис:

Sub[(Формальные параметры)]

End Sub

Пример 2.

Имеются три переменные X, Y, Z. Необходимо найти наибольшее из этих трех переменных. Оформить поиск наибольшего в виде процедуры.

Код:

Sub MaxABC(x, y, z, Max)

Max = x

If y > Max Then Max = y

If z > Max Then Max = z

End Sub

При использовании массивов в качестве формальных параметров необходимо записывать имена массивов и следом скобки, например,

Sub MatrT(n, A( ), B( ))

У процедуры имя MatrT. В скобках указаны формальные параметры, где

n — количество элементов в массиве.

A, B — одномерные массивы.

Обращение к процедурам и функциям в программе

К процедуре-функции в основной программе обращаются по имени так же, как и к стандартным функциям. То есть имя процедуры-функции может присутствовать в правой части оператора присваивания, в операторе вывода и т.д. Например, Min =MinABC(x, y, z).

В этом примере X, Y, Z — фактические параметры. Фактические параметры — это те переменные, с которыми будут выполняться вычисления в процедуре-функции. Результат вычисления передается основной программе через имя функции.

К процедуре обращаются с помощью специального оператора Call:

Call [(фактические параметры)]

В отличие от процедуры-функции в процедуре результат также передается через фактические параметры.

Пример обращения к подпрограммам:

Код:

Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

Call MaxABC(a, b, c, m)

Label5.Caption = m

Label7.Caption = MinABC(a, b, c)

End Sub

Самостоятельная работа

I) Оформите программу решения задачи в виде процедуры. Проверьте правильность работы процедуры.

Условие
Записать в виде процедурыопределение максимального числа в числовом массиве. С помощью созданнойпроцедуры найти максимальные элементы двух одномерных массивов.
Создать двухмерный массив спомощью датчика случайных чисел. Найти одномерный массив, элементы которогопредставляют собой среднее арифметическое соответствующей строкисформированной матрицы. Записать в виде процедуры определение среднегоарифметического одномерного числового массива.
Найти количество нулевыхэлементов в каждой строке матрицы. Определение количества нулевых элементов водномерном массиве оформить в виде процедуры.
Создать двухмерный массив спомощью датчика случайных чисел. Создать одномерный массив, элементы которогоравны суммам элементов столбцов сформированной матрицы. Определение суммыэлементов одномерного массива оформить в виде процедуры.
Сформировать одномерный массив,элементы которого равны максимальным элементам столбцов исходной матрицы Аразмером n на m.Исходную матрицу сформировать с помощью датчика случайных чисел.
Записать в виде процедурыалгоритм, который вычисляет, сколько раз введенное с клавиатуры числовстречается в массиве.
Найти сумму диагональныхэлементов матрицы. Определение суммы элементов одномерного массива оформить ввиде процедуры.
Записать в виде процедурыопределение минимального числа в числовом массиве. С помощью созданнойпроцедуры найти минимальные элементы двух одномерных массивов.
Записать в виде процедурыопределение среднего арифметического положительных элементов вектора. Спомощью созданной процедуры найти среднее арифметическое положительныхэлементов двух одномерных массивов.
Напишите программу, меняющуюместами минимальный и максимальный элементы вектора. Поиск минимального имаксимального элементов оформите в виде процедур.
Записать в виде процедурыопределение количества отрицательных элементов вектора. С помощью созданнойпроцедуры найти количество отрицательных элементов двух одномерных массивов.
Записать в виде процедурыалгоритм, который вычисляет математическое ожидание и дисперсию для данных,представленных в виде одномерного массива. Формулы для расчетаматематического ожидания и дисперсии:
Записать в виде процедурыопределение корня квадратного из суммы квадратов элементов одномерногомассива. Применить созданную процедуру для двух одномерных массивов.
Записать в виде процедурыалгоритм, который позволяет заменить все нулевые элементы массива на единицу.Применить созданную процедуру для двух одномерных массивов.
Записать в виде процедуры вычисление суммы и количества элементов массива, кратных 3. Применить созданную процедуру длядвух одномерных массивов.

II) Оформите программу решения задачи в виде процедуры-функции. Проверьте правильность работы функции.

Условие
Определить функцию Y. , где ;
Определить функцию Y. , где ;
Определить функцию Y. , где ;
Определить функцию r.
Определить функцию u. ;
Определить функцию v. ; ;
Определить функцию t. ; ;
Определить функцию Y. , где ;
Определить функцию h. ; ;
Определить функцию h. , где ;
Определить функцию Y. ; ;
Определить функцию t. ; ;
Определить функцию Y. , где ;
Определить функцию h. , где ;
Определить функцию h. , где ;

Рандомно подобранные статьи с сайта:

Процедуры и функции в 1С 8.3: чем они отличаются и как их использовать


Похожие статьи:

admin