В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.
Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть описана до того, как она будет использована в программе или другой подпрограмме.
Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как программе, так и всем ее подпрограммам.
Обмен информацией между основной программой и подпрограммой может осуществляться только с помощью глобальных параметров.
Подпрограмма может использовать глобальные параметры двояким образом:
- непосредственно обращаясь к глобальному параметру по его имени или используя механизм формальных параметров.
- Подпрограмма может непосредственно использовать любые глобальные параметры за исключением тех, которые имеют те же имена, что и ее локальные параметры.
10.1. Процедура
Подпрограмма-процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличие от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках - список формальных параметров:
procedure <имя процедуры>(<список формальных параметров>);
За заголовком могут идти такие же разделы, что и в основной программе.
В отличие от основной программы процедура завершается не точкой, а точкой с запятой.
Пример. Процедура ввода N целых чисел.
Пусть в основной программе определен тип
type tArr = array[1..100] of Integer;
Процедура может иметь вид:
procedure InpInt(var Mas: tArr; N: Integer);