Функции

Функция — разновидность подпрограммы, которая возвращает значение результата.

Спецификация функции имеет вид

function <ИмяФункции> (<СписокФормальныхПараметров>)

return <ТипРезультата>;

Список формальных параметров объявляет аргументы, которые принимает функция. Элементы списка отделяются друг от друга точкой с запятой. Каждый элемент (формальный параметр) записывается в виде

<ИмяПеременной>:<ТипДанных>:= <ЗначениеПоУмолчанию>

Значение по умолчанию может не задаваться.

Пример спецификации:

function Box_Area (Depth: Float; Width: Float) return Float;

Тело функции включает спецификацию функции, объявления локальных переменных и констант, а также раздел исполняемых операторов. В общем случае тело функции имеет вид

function <ИмяФункции> (<СписокФормальныхПараметров>)

return <ТипРезультата> is

<объявления локальных переменных и констант>

begin

<операторы>

return <результат>; -- оператор возврата результата

end <ИмяФункции>;

Пример тела функции:

function Box_Area (Depth: Float; Width; Float) return Float is

Result: Float;

begin

Result:= Depth * Width;

return Result: -- возврат вычисленного значения

end Box_Area;

Описание тела функции само по себе действий не производит. Для выполнения функции необходимо ее вызвать. Чтобы вызвать функцию, записывают ее имя и список фактических параметров, запись помещается в правую часть оператора присваивания:

<ИмяПеременной>:= <ИмяФункции> (<СписокФактическихПараметров>);

Таким образом, вызов функции является элементом выражения. Фактические параметры в списке вызова отделяются друг от друга запятой.

Пример вызова:

Му_Вох:= Вох_Агеа (2.0. 4.15);

Фактические параметры задают фактические значения, то есть значения, обрабатываемые при выполнении функции.

Процедуры

Процедуры, в отличие от функций, не возвращают результат в точку вызова. Спе цификация процедуры задает минимальный набор сведений, необходимый для клиентов процедуры. Она имеет вид

procedure <ИмяПроцедуры> (<СписокФормальныхПараметров>);

Для записи каждого формального параметра принят следующий формат:

<Имя>: <Вид> <Тип данных>;

где <Вид> указывает направление передачи информации между формальным и фактическим параметрами (in — передача из фактического в формальный параметр, out — из формального в фактический параметр, in out — двунаправленная передача).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: