Часто необходимо использовать дополнительные переменные, которые будут использоваться только в подпрограмме. Такие переменные называются
локальными (или местными), с ними можно работать только внутри той подпрограммы, в которой они созданы.
Область видимости локальной переменной - это функция или процедура, внутри которой она объявлена
Таким образом, можно ограничить область действия (область видимости) переменной только той подпрограммой, где она действительно нужна. В программировании такой прием называется
инкапсуляцией - скрытие переменной от ее изменения извне.
Если необходимо объявить переменную, которая была бы видна в любом месте программы (в любой подпрограмме), то такие переменные описываются вне всех подпрограмм (см. программу 3 из таблицы ниже)
Такие переменные называются
глобальными.
Проанализируйте три программы:
1) В этой программе переменная i локальная. Локальная переменная описывается внутри подпрограммы |
2) Здесь, даже если есть переменная i в основной программе (со значением 7), будет создана новая локальная переменная i со значением 5.
При выполнении этой программы на экране появится значение 75 |
3) В этой программе существует глобальная переменная i. Ее значение можно изменить внутри подпрограммы, и внутри основной программы
Процедура будет работать с глобальной переменной i и ей будет присвоено новое значение, равное 2. На экран выводится значение 2 |
procedure test();
var i: integer;
begin
i := 5;
writeln(i);
end; |
var i: integer;
procedure test();
var i: integer;
begin
i := 5;
writeln(i);
end;
begin
i := 7;
write(i);
test();
end. |
var i: integer;
procedure test();
begin
i := 2;
end;
begin
test();
writeln(i);
end. |