Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teor_zoshit_2013.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
5.9 Mб
Скачать

Тема14. Поняття про використання функцій користувача і підпрограм

  1. Різновиди процедур і функцій у Visual Basic.

  2. Створення і виклик простої процедури.

  3. Створення і обчислення функції користувача.

  4. Розв’язування вправ.

Visual Basic є процедурною мовою програмування. Це означає, що у Visual Basic можна створювати блоки програмного коду, на які потім можна посилатися по імені. Після того, як блок коду одержить ім’я, він може бути неодноразово викликаний на виконання з різних місць програми. Такі блоки програмного коду називаються підпрограмами (процедурами і функціями).

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

Існує декілька різновидів процедур і функцій.

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

Процедури користувача(підпрограми) – це групи операторів, що створюються програмістом для виконання окремих підзадач основної задачі і не залежать від подій, що відбулися з елементами управління.

Вбудовані функції - це певні набори команд, які існують в мові Visual Basic і призначені для виконання обчислень на підставі вихідних даних, наприклад Abs, Sin, Sqr, Val, Str та ін..

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

Створення і виклик простої процедури.

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

Загальний опис процедури такий:

Private SUB <назва > ( )

<Рядки програмного коду>

END SUB

Процедуру викликають з головної програми за допомогою команди виклику:

CALL <назва> (<параметри>)

Приклад1. Процедура Povidomlenna( ) викликається з процедури ItmOpen за допомогою оператора Call.

Private Sub Povidomlenna( )

MsgBox “Дані не знайдені”

End Sub

Private Sub ItmOpen_Click

Call Povidomlenna( )

End Sub

При виклику цієї підпрограми з довільної точки на екрані зявиться вікно повідомлення Windows, що відображає рядок “Дані не знайдені”.

Приклад2. Процедура з передачею параметра.

Private Sub Message(message as string )

MsgBox message

End Sub

Private Sub ItmOpen_Click

Call Message (“Наша перша процедура” )

End Sub

Зустрівши рядочок з викликом процедури, Visual Basic перевіряє чи потрібні цій процедурі параметри. Переконавшись в тому, що потрібні (параметр message) він передає в процедуру рядочок “Наша перша процедура”. Тобто в процедурі відбувається присвоєння змінній message значення “Наша перша процедура”. Далі відбувається виклик функції MsgBox і виведення повідомлення на екран. Якщо кількість параметрів, які передаються при виклику процедури не співпаде з кількістю параметрів в оголошенні процедури, Visual Basic згенерує помилку.

Створення простої функції

Функція користувача– це процедура, що виконує рядки свого коду і повертає в програму деяке значення.

Public Function <ім’я> (формальні параметри as <тип параметрів> ) as <тип значення, яке повертається функцією>

<Рядки коду>

<ім’я>=<значення, що обчислюється у функції>

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

Запитання та завдання.

  1. Які різновиди процедур і функцій використовуються у Visual Basic?

  2. Синтаксис та правила виконання процедури користувача.

  3. Що таке функція користувача?

  4. Синтаксис функції користувача.

  5. Яка відмінність між формальними та фактичними параметрами?

  6. Як відбувається обчислення функції користувача?

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

  8. Скласти програму для обчислення значення виразу з використанням нестандартної функції. , якщо x=5, a=3, n=2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]