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

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

Первая строка любой функции:

function <имя >(<список формальных параметров>):<тип>;

<список формальных параметров> - список имен переменных с указанием их типа, передающих информацию в функцию;

<имя> - возвращает результат в основную программу;

<тип> - тип возвращаемого результата.

Обращение из основной программы к функции возможно в структуре какого либо оператора, например оператора присваивания:

<переменная>:= <имя> (список фактических параметров);

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

Задача.

Составить программу вычисления n! с использованием функции.

n! = 1* 2 * 3 * …* n

program factorial;

{описательная часть основной программы}

var

n,k:integer;

function fun(k:integer):integer;

{описательная часть подпрограммы}

var

p,i:integer;

begin

{исполнительная часть подпрограммы}

p:=1;

for i:=1 to k do

p:=p*i;

fun:=p;

end;

{ исполнительная часть основной программы }

begin

writeln('введите n');

readln(n);

for k: = 1 to n do

writeln(fun(k));

end.

n, k - глобальные переменные.

p, i - локальные переменные.

fun - имя функции, возвращает результат в основную программу.

Имя функции в теле функции в операторах присваивания может стоять только слева от знака «:=», поэтому использована дополнительная переменная p для подсчета произведения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: