Імена, оголошені в розділі опису основної програми, діють у розділі операторів основної програми й у будь-якій підпрограмі (процедурі чи функції). Ці імена називаються глобальними. Імена, оголошені в підпрограмі, у тому числі і формальні параметри, діють тільки в цій підпрограмі й у будь-якій оголошеній у ній чи процедурі функції. Такі імена називаються локальними. Вони недоступні для операторів основної програми. Формальні параметри являють собою список перемінних із указівкою їхнього типу.
Для виділення вихідних параметрів перед ними ставиться слово Var.
Приклад оформлення програми що містить процедуру:
Утворити блок-схему алгоритму, програму, що містить програму та підпрограму (процедуру) для обчислення значення функції. Дано дійсні числа t,s. Обчислити
D = max(t,-2s,1.17) + max(2.2, t, s - t), ДЄt=1.3, s=0.8
Складемо блок -схему алгоритму:

{Підпрограма Користувача PROCEDURE}
ProgrammyProgram;
Var
t,s,d,m : real;
procedureMax1(a,b,c : real;
varf : real);
Begin
f := a;
ifb > a thenf := b;
ifc > a thenf := c; end;
Begin
writeln('BeAiTbзначення змінних t,s'); read(t,s);
Max1(t, -2*s, 1.17, m); d := m;
Max1(2.2, t, s - t, m);
d := d + m;
writeln('Результат');
writeln('d=',d:6:2);
End.
Реакція ЕОМ:
Введіть значення змінних t, s
|
1.3 0.8
|
Результат
|
d= 3.50
|
В процедурі: а, в і с - вхідні параметри, їхні значення передаються з основної програми в цю процедуру. Результатами процедури (вихідними параметрами) є максимальне значення, що передається з процедури в основну програму і там використовується.
У загальному випадку процедури можуть містити один чи кілька вхідних і вихідних параметрів, або взагалі не мати їх. Виклик процедури в основній програмі має форму:
Ім'я процедури (фактичні параметри);
Ті з фактичних параметрів, що передаються в процедуру, можуть бути перемінними, чи константами вираженнями.