Система программирования Турбо паскаль 7.0


Функции


 

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

Общий вид описания функции

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

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

.

При вычислении выражения операнд обращения к функции заменяется значением функции.

Связь формальных параметров с фактическими параметрами осуществляется по тем же правилам, что и в процедуре. Разница заключается лишь в том, что имени функции может быть присвоено только одно значение. Если в функции вычисляются несколько выходных переменных, то они могут возвращаться в основную программу через списки параметров.

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

Пример программы с функцией

Решить предыдущую задачу (см. параграф 8.2) с использованием функции.

 



                  Program Primer_2;

                  Var

                       a, Z: real;

                  Function ST (x: real; n: integer): real;

                   var

              i: integer;

              P: real;

           begin

               P := 1;

               for i := 1 to n do P := P * x;

               ST := P;

           end;

                   Begin {начало основной программы}

                      writeln(‘Введите число а’);

                            read(a);

                  Z := (ST(a, 5) + ST(1/a, 5)) / (2 * ST(a, 7));

                  writeln(‘Z=’,  Z:6:2);

                   End.

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



Содержание раздела