End Function

Виклик функції користувача здійснюється за допомогою вказування в правій частині оператора присвоєння її імені і параметрів.

Формальні параметри – імена змінних, які використовуються в записі функції. Вони не мають значень, а служать для опису функції.

Фактичні параметри – конкретні значення, для яких функція буде обчислюватись.

Обчислення функції.Якщо в тексті процедури зустрічається ім’я функції користувача, то середовищем будуть виконані такі дії:

1.Обчислюється значення фактичного параметра.

2.Передача керування до коду функції.

3.Формальним параметрам, які оголошені в заголовку функції, присвоюються значення фактичних та обчислюються вирази, записані в рядках коду функції.

4.Отримане значення присвоюється імені функції.

5.Керування передається в точку виклику функції.

 

Приклад1. Скласти програму для побудови таблиці мір, використовуючи нестандартну функцію, якщо 1 дюйм=2,54 см.

На форму помістимо елемент управління ListBox для виведення таблиці мір та командну кнопку CommandButton для виконання програмного коду. Формулу переведення дюймів у сантиметри запрограмуємо, як нестандартну функцію Mira.

Private Sub Command1_Click( )

For а=1 to 10 step 1

Fun=Mira(a)

List1.AddItem а & “дюйм=” & Fun & ”сантиметрів”

Next

End Sub

Public Function Mira(x as integer) as single

Dim y as single

Y=x*2.54

Mira=y

End Function

Приклад2. Обчислити значення виразу, використовуючи нестандартну функцію.

  1. Виділимо з виразу функцію, що повторюється f(k,p)=, к, p – формальні параметри.
  2. Запишемо вираз з використанням імені нестандартної функції: y=b*Fun(a,x)+a*Fun(x,b), а,х,b – фактичні параметри.

Private Sub Command1_Click( )

a=3 : x=-2 : b=6

y=b*Fun(a,x)+a*Fun(x,b)

Text1.Text=str(y)

End Sub

Public Function Fun(k,p as integer) as single

Dim f as single

f=sqr(k^2+sin(p))

Fun=f

End Function

Приклад3 Обчислити значення змінної g у програмі.

Private Sub Command2_Click( )

x=5 : n=3 : k=4

g= Suma (n,x)+2* Suma (n,k)

Text1.Text=str(g)

End Sub

Public Function Suma(a,b as integer) as integer

Dim f as integer

f=2*a+b

Suma =f

End Function

Виконання програми:

1) a=n, b=x, тобто a=3, b=5, Suma (n,x)=2*3+5=11

2) a=n, b=k, тобто a=3, b=4, Suma (n,k)=2*3+4=10

3) g=11+2*10=31