Процедуры. Функция Определения
В Турбо Паскале процедурой называется часть программы, предназначенная для решения определенной задачи или подзадачи.
Процедура в Паскале имеет структуру, подобную структуре программы. Известно, что в стандартном Паскале программы имеют жесткий формат:
Program имя программы
Label метки;
Const объявление констант;
Type определение типов данных;
Var объявление переменных;
объявления подпрограмм;
BEGIN
тело программы
END.
Turbo Pascal обеспечивает более гибкую структуру программы. Главное – оператор Program должен быть первым, а тело программы последним. Порядок описания остальных составляющих жестко не регламентирован, но идентификаторы должны быть объявлены до их использования во избежание ошибок компиляции.
Общая структура процедуры будет иметь вид:
Procedure имя процедуры (параметры); {Заголовок процедуры}
Label метки;
Const объявление констант;
Type определения типов данных;
Var объявления переменных;
Процедуры, входящие в данную;
Begin
Тело главной процедуры;
End;
Таким образом, процедура состоит подобно основной программе из заголовка процедурой программного блока. Заголовок процедуры в отличие от заголовка программы не может быть опущен. Он имеет вид:
PROCEDURE < ИМЯ > (<СПИСОК ПАРАМЕТРОВ>);
где PROCEDURE - служебное слово; ИМЯ - имя процедуры, определяемое в соответствии с общими правилами построения идентификаторов; СПИСОК ПАРАМЕТРОВ (формальных) – перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов.
Допускается описание процедуры, не содержащее <СПИСКА ПАРАМЕТРОВ>:
PROCEDURE < ИМЯ >;
в этом случае парамедры в процедуру и из нее передаются через систему глобальных параметров.
Сразу за заголовком подпрограммы может следовать одна из стандартных директив ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.
Параметры в списке заголовка отделяются друг от друга точками с запятой. Если параметры однотипны, то их можно объединять в подсписки и записывать через запятую. Например:
Procedure Sub (a:real; b:real; n:integer; k:integer; ch:char);
Содержательная часть процедуры представляет собой блок и состоит, следовательно, из раздела описаний (меток, констант, типов, переменных, процедур и функций) и раздела операторов, представляющего собой составной оператор Begin – End, в котором для обеспечения наглядности программы слова Begin и End целесообразно записывать с заглавной буквы. Заканчивается блок процедуры точкой с запятой.