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

27.2. Процедури і функції. Формальні і фактичні параметри.

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

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

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

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

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

Структура процедури майже співпадає із структурою програми:

– заголовок процедури; – розділ модулів; – розділ опису міток; – розділ опису констант; – розділ опису типів; – розділ опису змінних; – розділ операторів.

Заголовок процедури складається із зарезервованого слова Procedure, ідентифікатора (імені) процедури і необов'язкового розміщеного в круглих дужках списку формальних параметрів з вказівкою їх типів. Ім'я процедури повинно бути унікальним в межах всієї програми. Всі інші розділи процедури повністю аналогічні розділам програми, тільки розділ операторів закінчується крапкою з комою, а не крапкою (як у програми).

Для звертання до процедури використовується оператор виклику процедури. Він складається з ідентифікатора (імені) процедури і списку фактичних параметрів, розділених комами і розміщених у круглих дужках. Список параметрів може бути відсутнім, якщо процедурі не передається ніяких значень.

Наприклад: Screen; { без параметрів }. Sum (a,b+a); {з двома параметрами a і b+a }.

При виконанні процедури формальні параметри замінюються на фактичні. Це дозволяє виконувати процедуру з різними початковими даними. Кількість і тип фактичних параметрів повинні співпадати з кількістю і типом формальних параметрів. Якщо процедура вертає у програму якість значення, то відповідні формальні параметри повинні бути описані як параметри – змінні з використанням службового слова Var.

Функція, визначена користувачем має ту ж саму структуру, що й процедура. Заголовок функції містить зарезервоване слово Function, ідентифікатор (ім'я) функції, необов'язковий розміщений у круглих дужках список формальних параметрів з вказівкою їх типів і типу означення, яке повертається функцією. Ім'я функції повинно бути унікальним в межах всієї програми.

Наприклад: Function Logic:boolen; {без параметрів}. Function Max(x,y:real) {з параметрами x і y}.

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

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

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

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