Процедури і функції в Pascal

Процедури в Pascal

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

Procedure <ім’я> [(<список формальних параметрів>)];

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

За структурою процедура майже повністю аналогічна програмі. Однак в блоці процедурі відсутній розділ підключення модулів. Блок складається з двох частин: описової та виконавчої. В описовій частині міститься опис елементів процедури. А у виконавчій частині вказуються дії з доступними процедурі елементами програми (наприклад, глобальні змінні і константи), що дозволяють отримати необхідний результат. Розділ інструкцій процедури відрізняється від розділу інструкцій програми тільки тим, що після ключового слова End, завершального цей розділ, ставиться крапка з комою, а не крапка.

Для звернення до процедури використовується інструкція виклику процедури. Вона складається з імені процедури і списку аргументів, укладеного в круглі дужки. Оператори, які повинні виконуватися при запуску процедури, містяться в операторної частини модуля процедури.

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

Функції в Pascal

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

Function <ім’я> [(<список формальних параметрів>)]: <тип повертається результату>;

У реалізації Turbo Pascal 7.0 фірми Borland повертається функцією значення не може мати складовою тип. А мова Object Pascal, використовуваний в інтегрованих середовищах розробки Borland Delphi, допускає будь тип повертається результату, крім файлового типу.

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

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

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

Якщо ідентифікатор функції використовується при виклику функції всередині модуля – функції, то функція виконується рекурсивно.


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.00 out of 5)

Процедури і функції в Pascal