Приклади заголовків процедури:
procedure Picture;
procedure Power(X: real; n: Integer; var u, v: Real);
procedure Integral( a, b, epsilon: Real; var S: Real);
5.2. Формальні параметри. Локальні і глобальні об’єкти
Як бачимо з прикладів, у розділі формальних параметрів перелічуються імена формальних параметрів, а потім вказується їх тип. Таким чином, кожне описання формальних параметрів з точки зору синтаксису має такий же вигляд, як і описання змінних у розділі змінних. Перед деякими описаннями ставиться службове слово Var. Такі параметри називаються параметрами-змінними. Якщо перед описанням службове слово Var не стоїть, це параметри-значення. Різницю між цими типами параметрів описано нижче.
Мітки, імена констант, типів, змінних, процедур і функцій, що описані в тілі процедури, а також всі імена, що введені в розділі формальних параметрів є локальними для цієї процедури, яка називається областю дії для цих об’єктів. За межами цієї області вони не відомі.
Резервування пам’яті під локальні об’єкти здійснюється таким чином, що вона “захоплюється” процедурою при її виклику оператором і звільняється при виході з процедури. Такий механізм розподілу пам’яті називається динамічним. Динамічний розподіл дозволяє економити пам’ять, що адресується.
Об’єкти, що описані в основній програмі, доступні для використання в цій процедурі. Вони називаються глобальними. Відмітимо, що локальний і глобальний об’єкти цілковито різні, але можуть мати одне й те саме ім’я. Якщо, наприклад, змінна Х описана як в основній програмі, так і в процедурі, то в процедурі вона використовується як локальна. Якщо ж в процедурі змінна Х не описана, то в процедурі вона використовується як глобальна.
5.3. Оператор процедури. Фактичні параметри
Оператор процедури має вид:
< ім’я > або < ім’я > (< список фактичних параметрів >)
Синтаксична діаграма оператора процедури: