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