Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример на правила видимости и передачи параметров



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.





Дата публикования: 2014-11-29; Прочитано: 251 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...