Понятие формальных и фактических параметров

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

Формальные параметры - это переменные, используемые при описании подпрограммы в её заголовке, а фактические - это те параметры, которые мы передаем подпрограмме при ее вызове. Количество, порядок и типы формальных и фактических параметров должны совпадать. Примеры:

 

function sin(x: Real): Real;

 

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

…………….

t:= sin(3.14);

…………….

В этом фрагменте параметр 3.14 используется в выражении при вызове функции, значит это фактический параметр.

………….

t:= sin(u);

…………..

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

Задача: Написать функцию для возведения целых чисел в натуральную степень.

 

program р11_1;

Var k : integer; { Описание переменных головной программы }

{ Описание функции: хn }

function Istep(x, n: integer) : Longint; { заголовок функции }

{ формальные параметры: x - целое число, n - натуральная степень }

var

i: integer;

p: Longint ;

begin

p:= x;

for i:= 2 to n do p:= p * x;

Istep:= p; { значение функции присваиваем её идентификатору }

end;

{ Тело головной программы }

Begin

Writeln ('3 в кубе=' , Istep (3, 3)); { в этом операторе при обращении к

функции Istep оба фактических параметра равны 3 }

k := 5;

Writeln ('5 в шестой степени=', Istep (k, 6)); { в этом операторе при

обращении к функции Istep первый фактический

параметра равен переменной k, второй -6 }

Writeln ( Istep (k, 6 mod k +1)); { в этом операторе при обращении к

функции Istep первый фактический параметра равен переменной k,

второй - арифметическому выражению целого типа }

end.