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

Пример 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 - список фактических параметров, численные значения которых передаются в функцию.

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