Подпрограмма
Подпрограмма — это именованная логически законченная группа операторов языка, которую можно вызвать по имени для выполнения любое количество раз из различных мест программы. В языке Паскаль для организации подпрограмм используются процедуры и функции.
При создании процедур или функций пытаются достичь следующих целей:
разделения некоторой общей задачи на несколько меньших по объему и сложности частных задач;
уменьшения объема программы за счет многократного применения типовых программных действий, программируемых одни раз в виде отдельной процедуры или функции;
универсализации — по возможности полученное решение частной задачи обобщается, чтобы его можно было использовать при решении других задач.
Процедура — это независимая поименованная часть программы (подпрограмма), предназначенная для выполнения последовательности определенных действий.
Функция — это независимая поименованная часть программы (подпрограмма), направленная на получение некоторого результата (в виде значения).
Все процедуры и функции языка Паскаль подразделяются на две группы: стандартные и определенные пользователем.
Стандартные процедуры и функции располагаются в модулях Crt, Graph и т.д.; для использования стандартных процедур и функций необходимо в разделе Uses программы их необходимо подключить. После этого можно вызывать необходимые процедуры и функции по имени.
Язык программирования Паскаль позволяет создавать свои собственные процедуры и функции пользователя для решения специфических задач.
Если есть необходимость в использовании собственной процедуры или функции, то предварительно необходимо разместить текст данной процедуры (функции) в разделе текстов процедур и функций основной программы. После этого можно вызывать такую процедуру (функцию) пользователя по имени аналогично стандартным процедурам и функциям.
Общая структура процедур и функций
Общая структура процедур и функций схожа с общей структурой программы, за исключением: заголовка, а также того, что после раздела основного блока процедуры (функции) ставится знак «точка с запятой».
Итак, программа состоит из разделов:
1. Раздел объявлений и соглашений
2. Раздел процедур и функций
3. Раздел основной программы
В рамках данной темы мы подробно рассматриваем раздел функций и процедур.
Для процедуры:
Procedure <имя> |
(<список формальных параметров>); |
Const |
Подраздел объявления локальных констант |
Type |
Подраздел объявления локальных типов |
Var |
Подраздел объявления локальных переменных |
Begin |
|
… |
Тело процедуры |
End; |
|
Для функции:
Function <имя> |
(список формальных параметров>):<тип возвращаемого значения>; |
Const |
Подраздел объявления локальных констант |
Type |
Подраздел объявления локальных типов |
Var |
Подраздел объявления локальных переменных |
Begin |
|
… |
Тело функции |
End; |
|
Раздел текстов вложенных процедур и функций
Procedure (или Function) Заголовок вложенной процедуры (функции)
Label Подраздел объявления локальных меток
Const Подраздел объявления локальных констант
Type Подраздел объявления локальных типов
Var Подраздел объявления локальных переменных
Begin
… Основной блок вложенной процедуры (функции)
End;
Раздел основного блока процедуры (функции)
Begin
… Основной блок процедуры (функции)
End;
<Имя> представляет собой идентификатор.
Параметры, перечисленные в <списке параметров> при определении процедуры или функции, называются формальными. В качестве формальных параметров в простейшем случае используются идентификаторы переменных.
<Список параметров> заключается в круглые скобки и имеет следующий вид:
<параметры>;<параметры>;<параметры>….
Каждая из групп параметры может быть записана в одной из следующих форм:
<идентификатор1>,<идентификатор2>…:<тип>;
Var <идентификатор1>,<идентификатор2>…:<тип>;