ВУЗ:
Составители:
Рубрика:
5
Процедуры и функции
Процедуры и функции дают возможность часто повторяющиеся
фрагменты программ, снабдить именем и обращаться затем к ним с помощью
этого имени. При вызове можно также передавать различные параметры,
меняя их от случая к случаю. Это означает, что программу можно разделить
на части, снабдив их именами, что сделает программу более обозримой и
надёжной. Именно в этом состоит модульный принцип построения
программ, являющийся в настоящее время базовым для алгоритмических
языков высокого уровня.
Стандартные процедуры и функции Паскаля предоставляют
пользователю широкие возможности. Функции и процедуры вызываются с
помощью их имени и хранятся в библиотеке Паскаля LIB\TURBO.TPL в виде
отдельных модулей. Кроме того, существуют библиотеки для работы
с
графикой (BGI), аппаратными средствами и т.п. Они рассматриваются в
четвертой части пособия.
Здесь же остановимся на процедурах и функциях, написанных
пользователем. Пользователь может отдельно компилировать написанные им
процедуры и функции в отдельные модули, чтобы затем обращаться к ним из
других программ.
Подпрограмма процедуры
Под процедурой (подпрограммой) понимают совокупность
операторов, снабженных именем и вызываемых из другой части программы с
помощью этого имени. Процедуру используют тогда, когда требуется
получить несколько результатов по одному и тому же алгоритму. Например,
если необходимо отсортировать три массива разной размерности, то
целесообразно описать алгоритм сортировки один раз в процедуре. Затем
вызывать в основной программе три раза процедуру, передавая ей, какой
массив сортируется и число его элементов.
Структура подпрограммы (процедуры) почти буквально повторяет
структуру всей Паскаль программы, что имеет глубочайший смысл – “часть
подобна целому”, и подчеркивает регулярный характер построения языка
(модульный принцип).
6
При описании процедуры в общем случае необходимо задать
три
основных компонента:
• Интерфейс подпрограммы (сосредоточен в заголовке процедуры) –
т.е. информацию необходимую для ее вызова (активизации);
• Локальный контекст подпрограммы – совокупность описания
рабочих объектов (внутренних переменных подпрограммы) с которой
осуществляются действия;
• Совокупность операторов, составляющих смысл подпрограммы,
имеющие синтаксис блока – описание локальных переменных и
исполняемые операторы (алгоритм подпрограммы).
Можно сказать, что заголовок содержит информацию, что делает
подпрограмма, а тело процедуры (блок) описывает, как
она это делает.
Общая структура описания процедур иллюстрируется следующими
синтаксическими диаграммами.
Описание процедуры:
Заголовок процедуры:
Список формальных параметров
:
Список формальных
параметров
идентификатор
(имя процедуры)
procedure
Заголовок процедуры Тело процедуры
;
;
Имя
формального
параметра
var
Наименование
типа
String
,
(
)
:
;
При описании процедуры в общем случае необходимо задать три
Процедуры и функции
основных компонента:
• Интерфейс подпрограммы (сосредоточен в заголовке процедуры)
Процедуры и функции дают возможность часто повторяющиеся
т.е. информацию необходимую для ее вызова (активизации);
фрагменты программ, снабдить именем и обращаться затем к ним с помощью
• Локальный контекст подпрограммы совокупность описания
этого имени. При вызове можно также передавать различные параметры,
рабочих объектов (внутренних переменных подпрограммы) с которой
меняя их от случая к случаю. Это означает, что программу можно разделить
осуществляются действия;
на части, снабдив их именами, что сделает программу более обозримой и
• Совокупность операторов, составляющих смысл подпрограммы,
надёжной. Именно в этом состоит модульный принцип построения
имеющие синтаксис блока описание локальных переменных и
программ, являющийся в настоящее время базовым для алгоритмических
исполняемые операторы (алгоритм подпрограммы).
языков высокого уровня.
Можно сказать, что заголовок содержит информацию, что делает
Стандартные процедуры и функции Паскаля предоставляют
подпрограмма, а тело процедуры (блок) описывает, как она это делает.
пользователю широкие возможности. Функции и процедуры вызываются с
Общая структура описания процедур иллюстрируется следующими
помощью их имени и хранятся в библиотеке Паскаля LIB\TURBO.TPL в виде
синтаксическими диаграммами.
отдельных модулей. Кроме того, существуют библиотеки для работы с
графикой (BGI), аппаратными средствами и т.п. Они рассматриваются в
Описание процедуры:
четвертой части пособия.
Здесь же остановимся на процедурах и функциях, написанных
пользователем. Пользователь может отдельно компилировать написанные им Заголовок процедуры Тело процедуры
; ;
процедуры и функции в отдельные модули, чтобы затем обращаться к ним из
других программ.
Заголовок процедуры:
Подпрограмма процедуры
procedure идентификатор Список формальных
Под процедурой (подпрограммой) понимают совокупность (имя процедуры) параметров
операторов, снабженных именем и вызываемых из другой части программы с
помощью этого имени. Процедуру используют тогда, когда требуется
получить несколько результатов по одному и тому же алгоритму. Например, Список формальных параметров:
если необходимо отсортировать три массива разной размерности, то ,
целесообразно описать алгоритм сортировки один раз в процедуре. Затем
вызывать в основной программе три раза процедуру, передавая ей, какой Имя
Наименование
массив сортируется и число его элементов. ( формального : типа )
параметра
Структура подпрограммы (процедуры) почти буквально повторяет
структуру всей Паскаль программы, что имеет глубочайший смысл часть var
String
подобна целому, и подчеркивает регулярный характер построения языка
(модульный принцип).
;
5 6
