Локальные и глобальные параметры - Структурирование программы

Параметры, объявленные внутри подпрограммы и доступные только ей самой, называются локальными.

В разделе описаний подпрограммы могут встретиться описания подпрограмм низшего уровня, а в них - описания других подпрограмм и т. д. При входе в подпрограмму низшего уровня становятся доступными не только объявленные в ней имена, но и сохраняется доступ ко всем именам верхнего уровня. Подпрограмме доступны только те объекты верхнего уровня, которые описаны до описания данной подпрограммы. Эти объекты называются глобальными по отношению к этой подпрограмме.

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

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

Примеры:

Program Project 1; var x, y,z: integer; procedure newval;

Var x, y:integer; {x и у - локальные параметры} begin

Х:=1;

Y:=1;

End; {конец процедуры} begin х:=0; у:=0; newval; z:=x+y; writeln(z); readln end.

Результат z=0, так как переменные х и у, используемые в основной программе, остаются равными нулю. Для того, чтобы результат z стал равным 2, нужно параметры х и у использовать как глобальные, для этого в теле процедуры newval следует убрать описание переменных х и у:

Program Project2; var x, y,z:integer; procedure newval; begin x:=l; y:=1; end; begin x:=0; y:=0;

Newval; z:=x+y; writeln(z); readln; end.

Результат z=2, так как x и у - глобальные параметры.

Похожие статьи




Локальные и глобальные параметры - Структурирование программы

Предыдущая | Следующая