Вызов подпрограммы - процедуры Function

Основным способом вызова подпрограммы Function является вызов из выражения вызывающей программы (из выражения оператора присваивания, оператора if и д.р.). Cам вызов состоит из имени подпрограммы, за которым в круглых скобках записываются фактические параметры, которые могут быть переменными и выражениями. При этом в подпрограмме формальные аргументы заменяются фактическими, выполняются ее операторы, и результат в виде имени подпрограммы возвращается в место вызова из основной программы. Если имени процедуры не присваивается никакого значения - числовая функция возвращает нулевое значение.

Function max (n As single, m As single ) As single

 

y = max(a, b) + max(a+b,c)

 

1-й вызов 2-й вызов

Примечание 1.

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

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

Например, Function F (ByVala,ByValb).В этом случае a, b не возвращается на место c,d.

Примечание 2. Существует еще два способа вызова подпрограммы Function, в которых возвращаемое значение F теряется:

1. Отдельным оператором: Call F(c,d)

2.Отдельным именем и фактическими параметрами без скобок : F c,d

Пример 17.2.При заданных a,b,c cоставить программную единицу для вычисления y= max(a,b) + max(a+b, c).Значение max определить в подпрограмме Function,которая расположена ниже:

Function max(n As Single, m As Single) As Single ‘Заголовок подпрограммы

If n < m Then max = m Else max = n

End Function ‘ Конец подпрограммы

Основная программа: