Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ПАЯ (1-й семестр).doc
Скачиваний:
10
Добавлен:
20.11.2019
Размер:
1.23 Mб
Скачать

Подпрограммы и функции

Одна из трактовок понятия функции – функция с несколькими входами (аргументами) и несколькими результатами (выходами). Когда число результатов равно 1 получаем понятие многоместной функции. В этом случае Паскаль позволяет вернуться к обычной функциональной нотации .

Описание функции

Function – пользовательское имя функции (список формальных параметров) (как в случае процедур).

Тип значений функций (имя типа) (в стандартном Паскале скалярный)

Блок.

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

Чистая ошибка – применение имени функции справа. Справа имя функции может появиться только в специальном случае. В Delphi то же самое может выглядеть так:

Result:= выражение, где result – стандартная переменная соответствующего типа.

Function max(var a: tVector; n: tIndex): tComponent;

Begin

M:=a[1];

For I:=2 to n do

If m<a[i] then m:=a[i]; max:=m;

End.

Обращение к функции

Синтаксис: имя функции: список фактических параметров.

Семантика: выражение соответствующего типа. Может использоваться выражение этого типа.

Формальная семантика: достаточно ограничения случаем

V:= обращение к функции, где V – переменная, подставляемая вместо имени функции.

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

41