Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТП_н_посібник2.doc
Скачиваний:
11
Добавлен:
11.11.2019
Размер:
27.54 Mб
Скачать

5.8. Програмування за допомогою процедур і функцій

5.8.1. Характеристика процедур

У практиці програмування часто виникає потреба у виконанні одних і тих самих обчислень, але з використанням різних початкових даних. Щоб уникнути повторення однакових записів і зробити тим самим програму простішою та зрозумілішою, можна виділити повторювані обчислення, в самостійну частину програми, яка при потребі може бути використана багато. Така автономна частина програми, що реалізовує певний алгоритм і допускає звернення до нього з різних частин загальної програми, називається процедурою. Будь-яка процедура містить заголовок і розділ операторів з відомостями про послідовність їх застосування. По суті, процедура дуже схожа на програму. Синтаксис оголошення процедури такий

Sub MyProc(A1, A2, A3, ... ,AN)

[Оператори]

End Sub,

Де MyProc – ім'я створюваної процедури;

Оператори – оператори, використовувані в процедурі.

Присвоєння процедурі певного імені повинне відбуватися за певними правилами. У дужках після ім'я процедури роблять перелік формальних параметрів A1, A2, A3, ... ,AN, від яких залежатиме результат виконання процедури.

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

Характеризуючи процедури й функції, слід зазначити, що змінні, які використовуються в програмі, можуть бути локальними й глобальними. Локальні змінні (оголошені тільки в процедурі або функції) існують тільки під час виконання певної процедури або функції. Глобальні змінні (оголошені в самій програмі) одночасно поширюються на процедури і функції. Такі змінні величини існують, поки програма виконується.

Для того щоб "запустити" процедуру в роботу, необхідно до неї звернутися (тобто викликати її). Виклик процедури відбувається за допомогою операторів виклику, а саме:

MyProc A1, A2, AЗ ...,AN

або

call MyProc (A1, A2, AЗ ...,AN)

При цьому список фактичних параметрів може бути відсутнім.

Одночасно діють такі правила зв’язку між фактичними і формальними параметрами процедури:

● кількість фактичних параметрів має дорівнювати кількості формальних параметрів;

● порядок проходження і процедурі й тип фактичних та формальних параметрів мають бути однаковими, але не обов'язково однаково позначені ( тобто формальний і фактичний параметри можуть мати різні імена).

Виконання оператора виклику процедури відбувається таким чином:

● усі формальні параметри замінюються відповідними фактичними;

● виникає так званий динамічний екземпляр процедури, який і виконується;

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

Приклад використання процедури в програмі (без врахування параметрів).

Завдання. Вивести на форму значення такого виразу: (4 + 5 + 6) * 200 / 2, використовуючи процедуру Res.

Текст програми:

Sub Res

Print ( (4+5+6)*200/2)

End Sub

Результат обчислення: 1500.

Оголошувати процедуру можна в будь-якій частині програми (на початку, у середині чи в кінці).

Приклад використання процедури в програмі (з урахуванням параметрів).

Завдання. Увести значення трьох змінних за допомогою процедури vvod і роздрукувати їх значення.

Текст програми:

option explicit

dim а, b, с 'опис глобальних змінних

Sub Vvod(x) 'процедура введення значень змінних, х – формальний

' параметр

x=InputBox ("Уведіть значення змінної:")

End Sub

Vvod а→'Звернення до процедури vvod, а – фактичний параметр

Vvod b→'Звернення до процедури vvod, b – фактичний параметр

Vvod з→'Звернення до процедури vvod, с – фактичний параметр