Формальні та фактичні параметри
Підпрограма-функція призначена для обчислення єдиного значення порядкового, речового, стандартного типу string або покажчика. Заголовок функції має вигляд:
Тип функції – це тип результату, що повертається. При описі функції в розділі операторів імені функції має бути присвоєно значення результату, що повертається.
Приклади:function f (x: integer): real;
Щоб викликати функції з програми або іншої підпрограми, слід вказати ім'я функції зі списком фактичних параметрів у виразі, де необхідно використовувати значення функції.
Формальні та фактичні параметри
Параметри-значення передаються основною програмою підпрограму через стек у вигляді їх копій і, отже, підпрограма не може змінити власний параметр програми. Іншими словами, формальний параметр-значення при виклик підпрограми отримує своє значення шляхом копіювання відповідного йому фактичного параметра і при зміні такого формального параметра відповідний йому фактичний параметр не змінюється.
Параметр-значення вказується в заголовку підпрограми своїм ім'ям та через двокрапку – типом. Тип параметра-значення може бути будь-яким, за винятком файлового. Як фактичний параметр на місці параметра-значення під час виклику підпрограми може виступати будь-який вираз сумісного для присвоєння типу.
Параметр-змінна вказується в заголовку підпрограми аналогічно до параметра-значення, але тільки перед ім'ям параметра записується зарезервоване слово var. Дія var поширюється найближчої точки з комою, тобто. у межах однієї групи.
procedure summa (a: integer; b: real; var c: real);
Локальні та глобальні параметри
Параметри, оголошені всерединіпідпрограми та доступні тільки їй самій, називаються локальними.
У розділі описів підпрограми можуть зустрітися описи підпрограм нижчого рівня, а них – описи інших підпрограм тощо. При вході в підпрограму нижчого рівня стають доступними не тільки оголошені в ній імена, а й зберігається доступ до всіх імен верхнього рівня. Підпрограмі доступні лише об'єкти верхнього рівня, які описані до опису цієї підпрограми. Ці об'єкти називаються глобальними стосовно цієї підпрограми.
Параметри, оголошені до опису цієї підпрограми, доступні для цієї підпрограми і називаються глобальними параметрами.
Однойменні глобальні та локальні параметри – це різні параметри. Будь-яке звернення до таких параметрів у підпрограмі трактується як звернення до локальних параметрів, тобто глобальні параметри у разі недоступні.
Обмін інформацією між основною програмою та підпрограмою може здійснюватися не лише за допомогою формальних та фактичних параметрів, а й глобальних параметрів.