Справочная информация

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

В зависимости от назначения различают процедуры обработки событий и процедуры общего назначения. Шаблон процедуры обработки событий создаются Visual Basic автоматически при двойном щелчке мыши по элементу интерфейса. Он выглядит:

Private Sub <имя процедуры> (<аргументы>)

End Sub

В нем:

Private – ключевое слово, определяющее зону види мости процедуры только

внутри контейнера (формы или модуля), в котором она описана;

Sub – оператор начала процедуры;

<имя процедуры> – идентификатор, по которому происходит обращение к процедуре из

программы. Имя процедуры обработки событий состоит из имени

объекта и имени события, разделенных знаком подчеркивания;

End Sub – оператор конца процедуры;

(<аргументы>) – аргументы – величины, при помощи которых процедуре передаются

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

аргументы устанавливаются средой Visual Basic.

Процедуры общего назначения не связаны с каким-либо событием и их вызов программист осуществляет по своему усмотрению. Для создания такой процедуры достаточно в окне кода (но не внутри другой процедуры или функции) ввести ключевое слово Sub и имя процедуры, а затем нажать клавишу Enter. После этого Visual Basic автоматически дополнит введенный текст оператором конца процедуры End Sub и внесет имя создаваемой процедуры в список процедур окна кода для секции General, т. е. будет создан шаблон процедуры, который выглядит:

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

End Sub

При создании процедуры аргументы перечисляются через запятую в круглых скобках, следующих сразу же за именем процедуры. При этом указывается и тип аргументов. Например,

Sub Summa (Chislo1 As Double, Chislo2 As Double)

Summa = Chislo1 + Chislo2

End Sub

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

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

Закрытыми называются процедуры, доступные только внутри контейнера, в котором они содержатся. В Visual Basic все процедуры формы являются закрытыми и перед ключевым словом Sub всегда имеют другое ключевое слово Private. Процедуры общего назначения формы могут не иметь ключевого слова Private, но по умолчанию также являются закрытыми процедурами.

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

При вызове процедуры в программе нужно указать ее имя и, при необходимости, список аргументов. Например,

Summa Chislo1, Chislo2

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

Общий вид записи функции в программе выглядит:

[Public|Private] Function <Имя функции> (<аргументы>) As <Тип возвращаемого значения>

<Операторы, определяющие содержание процедуры>

<Имя функции> = <возвращаемое значение>

End Function

В ней приняты следующие обозначения:

Public, Private – необязательные ключевые слова, определяющие зону видимости функции;

Function – оператор начала функции;

Имя_функции – идентификатор, по которому происходит обращение к функции из программы;

(<аргументы>) – аргументы функции – величины, при помощи которых функции передаются

необходимые ей значения;

As <Тип_возвращаемого_значения> – выражение, задающее тип возвращаемого значения;

End Function – оператор конца функции.

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

Function Summa (Chislo1 As Double, Chislo2 As Double)

Dim Result As Double

Result = Chislo1 + Chislo2

Summa = Result

End Function

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

Summa (Chislo1, Chislo2)

Задание

1. Войдите в рабочий каталог и скопируйте в него файлы: Functii.vbp, Functii.vbw, Main.frm (путь к файлу указывает преподаватель). Запустите файл Functii.vbp и разберитесь в содержании программы.

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

3. Создайте приложение, выполняющее основные арифметические действия (сложение, вычитание, произведение и деление) над двумя введенными пользователем числами. Необходимо, чтобы все действия по обработке чисел были оформлены как процедуры и функции. Предусмотрите различные варианты их использования:

– процедуры и функции без аргументов;

– процедуры и функции с аргументами.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: