Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Процедуры пользователя типа Sub




Общая структура процедуры имеет вид:

Sub < имя процедуры > (< параметр1 >, < параметр2 >, …)

<программный код для определения процедуры>

End Sub

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

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

Sub < имя процедуры > ()

Для того чтобы использовать процедуру типа Sub в основной программе, надо записать ее имя в отдельной строке и через пробел после имени указать фактические аргументы, разделив их запятыми.

По существу в предыдущих разделах рассматривались процедуры, но процедуры обработки событий, привязанные к объекту, над которым это событие совершается. Например, запись Sub CommandButton1_Click() означает, что программа выполняется, когда по кнопке CommandButton1 делается щелчок Click.

Пользовательские процедуры могут быть доступны как для отдельной формы, так и для всех форм приложения. Если текст пользовательской процедуры записывается в окне программного кода рабочего листа, то она будет доступна во всех процедурах данного листа, но недоступной в программах других листов. Если же текст пользовательской процедуры записывается в специальном окне модуля (Insert/Module) в окне Редактора Visual Basic, то она будет доступна для процедур всей книги.

Пример 7.3. Рассмотрим пример использования процедуры со списком формальных параметров. Предположим, необходимо вычислить сумму двух различных произведений:

,где .

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

Sub product(k, z, p)

Dim i As Integer

p = 1

For i = 1 To k

p = p * z(i)

Next

End Sub

Здесь введены следующие имена для процедуры и параметров: product – имя процедуры; k – количество сомножителей в произведении; z – имя массива, произведение элементов которого перемножается; p – параметр, в котором после вычисления будет храниться значение вычисленного произведения.

Эту процедуру можно теперь использовать для решения исходной задачи:

Sub CommandButton1_Click()

Dim f(4) As Single, f1(4) As Single, S As Single

Dim p As Single, p1 As Single, i As Integer

For i = 1 To 4

f(i) = Val(InputBox("Введите f(i)"))

f1(i) = Sin(f(i))

Next

‘Обращение к процедуре

Product 4, f, p1

Product 3, f1, p2

S = p1 + p2

MsgBox S

End Sub

Здесь после ввода в память массивов f и f1 дважды вызывается процедура product. При этом первый раз в нее передаются фактические значения для формальных параметров k и z, соответственно равные 4 и f, а результат сохраняется в переменной p1. Во второй раз – значения параметров k и z, равные соответственно 3 и f1, а результат сохраняется в переменной p2.

Задание для выполнения на компьютере

1. Записать пользовательскую функцию листа для вычисления любого арифметического выражения и опробовать ее работу.

2. Создать на рабочем листе две кнопки. Одну кнопку использовать для программы вычисления выражений, представленных в таблице.

 

Таблица





Поделиться с друзьями:


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 325 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2223 - | 2171 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.