Функцией называется часть программы, имеющая уникальное имя, предназначенная для решения определенной задачи и возвращающая в точку вызова скалярное значение как значение имени этой функции.
Функция, определенная пользователем, содержит заголовок и тело. Заголовок функции имеет вид:
FUNCTION <имя функции> (<список параметров>):<тип результата>;
где FUNCTION – служебное слово; имя функции – идентификатор функции; список параметров – перечень формальных параметров (то есть исходных данных) с указанием их типов; тип результата – данное скалярного типа, значение которого должно приобрести имя функции. На рис. 5.1 представлена в виде «Черного ящика» функция, имеющая список входных параметров и использующая переменные, описанные на более высоком уровне. Выходной параметр у функции всегда один, его называют результатом. Как правило, это данное любого скалярного типа или строка типа STRING.
| Глобальные или локальные переменные
более высоких уровней
|
|
|
|
|
|
|
|
Параметры функции (параметры значения)
|
| Формальные параметры
| Алгоритм функции
| Результат
|
| | | | | |
Рис. 5.1 Структура функции, имеющей входные параметры
Допускается описание функции и без формальных параметров, примерами встроенных функций без входных параметров являются: PI (возвращает значение числа p) и RANDOM (возвращает случайное вещественное число в интервале от 0 до 1). Заголовок функции без параметров имеет вид:
FUNCTION <имя>:<тип результата>;
Такая функция может использовать глобальные или иные переменные более высокого уровня, а может обходиться и без них. Пример такой функции приведен на рис. 5.2.
Алгоритм функции
| Результат
|
Рис. 5.2 Структура функции без входных параметров
Тело функции аналогично по структуре основной программе. Функция содержит те же самые разделы описаний, что и основная программа, и раздел операторов.