Обращение к функции
Пример 1
Структура функции
Функция
Структура подпрограмм
Структура подпрограмм на ПАСКАЛЕ имеет вид:
PROCEDURE (либо FUNCTION) <имя> - заголовок;
LABEL - раздел описания меток
CONST - раздел описания констант
TYPE - раздел описания типов
VAR - раздел описания переменных
BEGIN
<оператор>
END;
Как видно отсюда, она аналогична структуре основной программы. Отличие лишь в заголовке и в том, что программный модуль заканчивается точкой с запятой ”;”, а не точкой, как в основной программе.
Подпрограммы описываются в специальном разделе описательной части программы вслед за разделом переменных.
Функция, как и процедура есть некоторая последовательность операторов, оформленных в виде отдельного программного модуля. Она используется, когда в подпрограмму выносится участок вычислений, предназначенный для получения одного результата (единственного скалярного значения).
Функция состоит из заголовка функции и ее тела. Заголовок функции имеет вид:
FUNCTION имя (P1:T1; ... Pn:Tn):TR;
FUNCTION - ключевое слово;
имя - имя функции, задаваемое пользователем;
Pi - необязательный список формальных параметров (исходных данных); в списке формальные параметры, в качестве которых могут быть использованы имена переменных, других подпрограмм, перечисляются через запятую.
Ti - тип параметров( REAL, INTEGER и т.п.);
TR - тип результата (тип имени функции).
FUNCTION FI (X,Y:REAL; R:INTEGER):REAL;
Заголовок функции с именем FI, тип функции задан ключевым словом REAL; формальные параметры X и Y описаны как переменные вещественного типа, параметр R как переменная целого типа.
В содержательной части функции (ее теле) имени функции обязательно должно быть присвоено значение результата, вычисленное подпрограммой. Объясняется это тем, что результат счета передается в вызывающую программу посредством имени функции.
Общая структура функции может быть записана так:
FUNCTION имя (P1:T1; P2:T2;. Pn:Tn):TR;
. . .
разделы описаний
. . .
BEGIN
оператор
. . .
оператор
имя := результат;
END;
Описание функций, расположенное в разделе описаний программы, само по себе никаких действий не вызывает. Чтобы исполнить функцию, необходимо в нужном месте программы поместить обращение к ней. Обращение осуществляется аналогично обращению к стандартным функциям (SIN, COS и т.п.).
Структура обращения к функции имеет вид
имя(b1, b2,... bn);
где имя - имя вызываемой функции, b1, b2,... bn - список фактических параметров, численные значения которых передаются в функцию.
Обращение к функции записывается в вызывающем операторе. Вызывающими операторами могут быть операторы присваивания, передачи управления, вывода, т.е. операторы, которые в своем составе содержат выражения. В том месте выражения, где это необходимо, записывается имя функции, вслед за которым в скобках перечисляются фактические параметры. Фактическими параметрами здесь могут быть константы, выражения, переменные (в качестве переменных могут быть использованы, например, как элементы массива, так и массивы целиком), имена других функций.