Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Воробьева Соппа Программирование в Паскаль 2006...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Глава 8. Подпрограммы

8.1. Структура сложной программы

Любая программа в системе Турбо Паскаль может быть разбита на ряд самостоятельных программных единиц – подпрограмм. Такое разделение вызвано двумя причинами.

1. Экономия памяти. Каждая подпрограмма записывается в программе один раз, в то время как обращаться к ней можно многократно из разных точек программы.

2. Структурирование программы. Алгоритм решения задачи может быть достаточно сложным, поэтому целесообразно выделить самостоятельные смысловые части алгоритма и оформить их в виде подпрограмм.

Любая подпрограмма, в свою очередь, может содержать подпрограммы низшего уровня. Такие структурированные программы легче понять, и они удобны в отладке. В дальнейшем для простоты изложения будем рассматривать только такие подпрограммы, которые не содержат внутри себя других подпрограмм.

Сложная программа, составленная на языке Турбо Паскаль, состоит из двух основных частей: основной программы и раздела подпрограмм.

Раздел подпрограмм включается в описательную часть основной программы и располагается вслед за разделом описания переменных (Var) основной программы. Число подпрограмм в разделе может быть произвольным.

Описание подпрограммы само по себе никаких действий не вызывает. При запуске программы выполнение начинается с операторов основной программы. Чтобы выполнить подпрограмму, в нужной точке основной программы необходимо записать обращение к подпрограмме.

Ниже схематично приведена структура программы, в которой используются подпрограммы.

Замечание. В основную программу включен раздел типов Type, который может отсутствовать. Его назначение рассмотрим позднее.

Program <имя основной программы>;

Type {Раздел типов}

………….

Var {Описание переменных основной программы}

………….

Раздел описаний подпрограмм

Begin {начало основной программы}

…………

End. {конец основной программы}

В системе Турбо Паскаль различают два вида подпрограмм: процедуры и функции. В отдельных программах могут отсутствовать либо процедуры, либо функции.

8.2. Процедуры

Любая процедура состоит из заголовка и тела процедуры. Тело процедуры оформляется по тем же правилам, что и тело основной программы, т.е. состоит из раздела описания переменных и раздела операторов. Однако заканчивается тело процедуры точкой с запятой.

Общий вид описания процедуры

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

var {Раздел описания переменных процедуры}

………….

begin {Раздел операторов процедуры}

………….

end;

Список формальных параметров служит для связи процедуры с основной программой. В списке перечисляются входные и выходные параметры с указанием их типов. Входные параметры являются исходными данными для процедуры, а выходные параметры определяют результаты вычислений процедуры, которые передаются в основную программу.

На языке Турбо Паскаль допускается запись заголовка процедуры без списка параметров.

Обращение к процедуре

Чтобы выполнить процедуру, в нужной точке основной программы необходимо записать оператор вызова процедуры.

Общий вид записи оператора вызова процедуры

<имя процедуры>(<список фактических параметров>);

При выполнении процедуры фактические параметры заменяют формальные параметры. В качестве фактических параметров могут быть константы, переменные, функции или выражения.