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

Пусть n=5, k=3. Когда в программе встречается оператор a1:=factorial(n), выполняются следующие действия:

· выделяется память для переменных, описанных в функции factorial;

· формальному параметру присваивается значение фактического: n:=n (n=5);

· выполняется функция, вычисляется факториал числа 5;

· значение функции передается в место обращения к этой функции, то есть присваивается переменной a1;

· в операторах a2:=factorial(k) a3:=factorial(n-k) еще дважды вызывается функция factorial с параметрами k=3 n-k=2.

Функция - это самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное место в памяти ЭВМ. Этим объясняется тот факт, что переменные с одинаковыми именами, используемые в функции и в основной программе, являются разными ( переменная n основной программы и параметр n функции). При выполнении программы машина «не путает» имена этих переменных, т.к. области их действия не совпадают.

 

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

Programchisla;

Varn1, n2 : longint;

k1, k2 : byte;

Functionkol(x : longint): byte;

var k: byte;

Begin

k:=0;

While x<>0 do

Begin

Inc(k);

x:=x div 10;

End;

kol:=k;

End;

BEGIN

writeln(‘Введите два числа’); readln(n1, n2);

k1:=kol(n1);

k2:=kol(n2);

if k1=k2 Then writeln(‘одинаковое количество цифр’)

else if k1>k2 Then Writeln(‘в первом числе цифр больше’)

else writeln(‘во втором числе цифр больше’)

END.

 

 








Дата добавления: 2015-01-15; просмотров: 1359;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.