double arrow

Способ

Вызов выполняется отдельной строкой с указанием имени подпрограммы и без круглых скобок фактические параметры. Например: max a, b, r1.

Пример 17.1.

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

Переменные в подпрограмме и основной программе описаны по умолчанию как тип Variant.

Sub max ( ByVal N,ByVal M, R ) ' Заголовок подпрограммы max

If N < M Then R = M Else R = N ' Выходной параметр R

End Sub ' Конец подпрограммы

В окне кода подпрограмма может быть расположена рядом с основной программой (до нее или после ее).

Private Sub Command1_Click() ' Основная программа

Dim a, b, c, y, r1, r2

a = Val(InputBox(" Введите а "))

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

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

Call max(a, b, r1) ' Первый вызов подпрограммы

Call max(a + b, c, r2) ' Второй вызов подпрограммы

y = r1 + r2 ' r1 и r2 - результаты работы подпрограммы

MsgBox " y=" & y

End Sub

Подпрограмма - процедура Function

Такую подпрограмму называют встроенной функцией (подобно sin(x)). В ней выполняется определенный набор операторов и возвращается один результат, присвоенный имени подпрограммы

Синтаксис процедуры Function:

[Public | Private] [Static] Function ИМЯ [(параметры)] [As тип]

[операторы процедуры]

[ИМЯ= результат работы подпрограммы - процедуры]

End Function

[Public | Private] [Static] – аналогично процедуре Sub.

Function - название процедуры. ИМЯ - имя процедуры.

параметры - в простейшем случае их называют формальными параметрами.

тип - тип имени процедуры Function.

Ниже приведена подпрограмма типа Function с именем max:

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

if n<m then max=m else max=n

End Function


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



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