Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документ Microsoft Office Word (2).doc
Скачиваний:
13
Добавлен:
29.05.2015
Размер:
41.3 Кб
Скачать

3.1. Функции

Функции — это подпрограммы, которые могут возвращать под своим именем

результирующее значение.

Типичным примером функции может быть арифметическая функция sin().

Запись:

a = Sin(3.14)

позволяет вызвать функцию вычисления синуса числа 3.14 и вернуть результат

под именем функции, а затем присвоить его переменной a.

Описание функции состоит из двух частей: заголовка и кода. Заголовок функции

имеет следующий вид:

[доступ] Function имя_функции ([ByVal параметр1 As тип, ByVal параметр2 As тип, ..])

As тип_результата,

где

. имя_функции — однозначно идентифицирует данную функцию и используется

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

Требования к именам функций те же, что и к именам переменных.

. параметры — это необязательная часть функции, которая содержит список

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

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

. тип_результата — показывает, какого типа будет результат выполнения

функции.

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

пределами других функций или процедур и начать вводить заголовок функции или

процедуры. После ввода заголовка функции (процедуры) и нажатия клавиши

<Enter> редактор кода Visual Basic автоматически создаст команду завершения

функции или процедуры (End Function или End Sub).

Все, что вы напишете внутри, между заголовком и концом функции, будет

являться кодом функции.

Код функции — это программный код, состоящий как минимум из операторов и

команд языка. Для возврата какого-либо значения из функции в Visual Basic

используется ключевое слово Return:

Return результат_выполнения_функции.

Значение реэультат_выполнения_функции будет возвращено в основную

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

Function WF() As Integer

Return 17 ' результат выполнения функции

End Function

Вызов данной функции приведет к возврату значения 17. Функция WF() в

данном примере не имеет параметров и возвращает значение целого типа (Integer).

Вызов функции осуществляется по ее имени и списку аргументов, заключенных

в круглые скобки после имени функции. Все аргументы должны быть совместимы

по типу с параметрами, указанными в заголовке описания функции.

В качестве примера рассмотрим описание функции нахождения максимального

значения среди элементов одномерного массива. В качестве параметров будем

передавать в функцию имя массива и количество его элементов.

Private Function MaxArray(ByVal a() As Double, ByVal n As Integer) As Double

Dim x As Double

Dim i As Integer

x = a(0)

For i = 1 To n – 1

If (x < a(i)) Then

x = a(i)

End If

Next i

Return x

End Function

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

Dim rez As Double

Dim b(4) As Double ' создаем массив на 5 элементов

b(0) =9 ' присваиваем значения элементам массива

b(1) = 4

b(2) = 12

b(3) = 1

b(4) = 2

rez = MaxArray(b, 5) ' вызываем функцию МахАггау().

При этом переменная rez должна иметь тип Double, массив b — тоже Double, а

вторым параметром должно быть целое число, равное количеству элементов

массива (в нашем примере 5). Таким образом, вызов данной функции при этих

параметрах поместит в переменную a самое большое значение из всех, хранящихся

в элементах одномерного пятиэлементного массива b. В нашем примере,

переменная a примет значение 12.