Функции. Если результатом подпрограммы является только одно значение, то имеет смысл оформить такую подпрограмму в виде функции.
Если результатом подпрограммы является только одно значение, то имеет смысл оформить такую подпрограмму в виде функции.
Первая строка любой функции:
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 для подсчета произведения.
Дата добавления: 2015-05-21; просмотров: 576;