Тема 2.7 Создание пользовательских библиотек процедур и функций
1. Понятие и виды программ
2. Особенности описания и использования процедур и функций
3. Создание и использование библиотек программ
Понятие и виды подпрограмм
Часто, работая над программой, программист замечает, что некоторая последовательность инструкций встречается в разных частях программы несколько раз.
Преимущества использования подпрограмм очевидны.
Подпрограммы решают три важные задачи:
-Разделение некоторой общей задачи на несколько меньших по объему и сложности частных задач
-Уменьшение объема программы за счет многократного применения типовых программных действий, программируемых один раз в виде отдельной процедуры или функции
-Универсализации программных модулей - по возможности решение частной задачи обобщается, чтобы его можно было использовать при решении других задач.
Подпрограммой называют самостоятельный фрагмент программы, оформленный особым способом и снабженный именем. Подпрограммы в языке ВР реализованы в виде процедур и функций.
Подпрограмма - это небольшая программа, которая решает часть общей задачи. В языке Delphi есть два вида подпрограмм, различающихся назначение и способом их использования - процедура и функция.
У каждой подпрограммы есть имя, которое используется в программе для вызова подпрограммы (процедуры).
отличие функции от процедуры состоит в том, что с именем функции связано значение, поэтому функцию можно использовать в качестве операнда выражения, например, инструкции присваивания.
|
|
Как правило, подпрограмма имеет параметры. Различают формальные и фактические параметры.
Параметры, которые указываются в объявлении функции, называются формальными. Параметры, которые указываются в инструкции вызова процедуры, называются фактическими.
Параметры используются:
-для передачи данных в подпрограмму;
-для получения из результата подпрограммы.
В общем случае в качестве фактического параметра процедуры можно использовать выражение, тип которого должен совпадать с типом соответствующего формального параметра.
Особенности описания и использования процедур и функций
Функция - это подпрограмма, т.е. последовательность инструкций, имеющая имя.
Процесс перехода к инструкциям функции называется вызовом функции или обращением к функции. Процесс перехода от инструкций функции к инструкциям функции, вызвавшей функцию, называется возвратом функции.
В общем виде инструкция обращения к функции выглядит так:
Переменная:=Функция (Параметры);
Следует обратить внимание на то, что:
|
|
-каждая функция возвращает значение определенного типа,
поэтому тип переменной, которой присваивается значение
функции, должен соответствовать типу функции;
-тип и количество параметров для каждой конкретной функции строго определены.
Объявление функции в общем выглядит следующим образом:
function Имя (параметр1 : тип1,..., параметрК : типК):Тип;
var
//здесь объявления локальных переменных
begin
//здесь инструкции функции
Имя :=Выражение;
end;
Последовательность инструкций, реализующих его функцию, обязательно должна завершатся функцией, которая присваивает значение имени функции. Тип выражения, определяющего значение функции, должен совпадать с типом функции, указанным в ее объявлении.
В общем виде объявление процедуры выглядит следующим образом:
procedure Имя (var параметр1 :тип1; ... var параметрК: типК);
var
//здесь объявление локальных переменных
begin
//здесь инструкции процедуры
end;
Параметры процедуры используются для передачи данных в процедуру, а также для возврата данных из процедуры в вызывающую ее программу.
Разработанная процедура должна быть помещена в раздел implementation, перед подпрограммой, которая использует эту процедуру.
|
|
Инструкция вызова процедуры в общем виде выглядит так:
Имя (Список Параметров);
Фактическим параметром, в зависимости от описания формального параметра в объявлении процедуры может быть переменная, выражение или константа соответствующего типа.
Если в описании процедуры перед именем параметра стоит слово var, то при вызове процедуры на месте соответствующего параметра должна стоять переменная основной программы. Использование константы или выражения считается ошибкой, и компилятор в этом случае выведет сообщение: Types of actual and formal var parameters must be identical (ТИП фактического параметра должен соответствовать типу формального параметра).
Дата добавления: 2018-04-05; просмотров: 632; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!