Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Если результатом подпрограммы является только одно значение, то имеет смысл оформить такую подпрограмму в виде функции.
Первая строка любой функции:
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 для подсчета произведения.
Дата публикования: 2014-11-02; Прочитано: 434 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!