Процедуры


В языке Паскаль существует два вида подпрограмм: процедура (PROCEDURE) и функция (FUNCTION).

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

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

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

но естественно, что если вводится переменная нового типа, заданного в разделе описания типов Type, то данный раздел Type должен предшество­вать разделу описания переменных Var. Принцип «то, что используется, должно быть описано справедлив и для раздела описаний».

Структура процедуры похожа на структуру программы. Отличия выделены жирным шрифтом.

Procedureимя процедуры (<параметры>);

Label <метки>;

Const <описание констант>;

Type <описание типов данных>;

Var <описание переменных>;

<вложенные процедуры и функции>;