Лекция: Пример на правила видимости и передачи параметров

unit factorials;

uses... ;

var

k,n,m: integer; {глобальные целые переменные}

p:extended;

ch: char; {глобальная литерная переменная}

function fact1(n:integer): extended;{процедура-функция, передача

входного параметра n по значению}

var i: integer;

begin

if n=0 then n:=1;

result:=1;

for i:=1 to n do result:=result*i;

end;

procedure fact2;{процедура, передача входного параметра через

глобальную переменную n, возврат результата через

глобальную переменную p}

var i: integer;

result:extended;

begin

if n=0 then n:=1;

result:=1;

for i:=1 to n do result:=result*i;

p:=result;

end;

procedure fact3(n:integer; var r:extended);{процедура, передача

входного параметра n по значению,

возврат результата через параметр r по имени}

var i: integer;

result:extended;

begin

if n=0 then n:=1;

result:=1;

for i:=1 to n do result:=result*i;

r:=result;

end;

function fact4(n:integer):extended; {процедура-функция, передача

входного параметра n по значению, побочный

эффект – изменение глобальной переменной m}

var

i: integer;

begin

if n=0 then n:=1;

result:=1;

for i:=1 to n do result:=result*i;

fact4 =result;

m:=m+1;{побочный эффект}

end;

begin {тело основной программы}

k:=…;

m:= 0;n:=…;p=…;

case ch of

'1': p := fact1( n );

'2': fact2 ;

'3': fact3( n, p );

'4': p := fact4( n );

end;

……

End.

еще рефераты
Еще работы по информатике