P
pro·school.ru
Каталог школ

Локальные и глобальные переменные

💻 Информатика · 9 класс

Область видимости переменной

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

Деление программы на процедуры — естественный способ справиться со сложностью. Каждая процедура решает свою маленькую задачу, и удобно, когда её внутренние переменные не мешают остальной программе. Именно это и обеспечивают локальные переменные.

Чем они отличаются

ПризнакГлобальная переменнаяЛокальная переменная
Где объявленаВ основной программеВнутри процедуры или функции
Где виднаВо всей программеТолько в своей процедуре
Когда существуетВсё время работы программыПока выполняется процедура

Глобальная переменная объявлена в основной части программы и доступна из любой её точки, в том числе изнутри процедур. Локальная переменная объявлена внутри процедуры и существует только во время её выполнения; за пределами процедуры обратиться к ней нельзя, программа просто «не знает» о её существовании.

Разбор примера

переменная s // глобальная, видна всюду процедура Сумма(a, b)   переменная r // локальная, видна только здесь   r := a + b   s := r // меняем глобальную переменную конец процедуры

В этом примере переменная s видна во всей программе, а переменная r — только внутри процедуры Сумма. После того как процедура завершит работу, локальная переменная r исчезает и освобождает память. А вот изменённое значение глобальной переменной s сохраняется и доступно дальше.

Зачем нужны локальные переменные

  • Они не мешают другим частям программы: одинаковые имена в разных процедурах не конфликтуют.
  • Уменьшают риск случайно испортить данные, которые использует другая часть программы.
  • Делают процедуру самостоятельной, понятной и легко переносимой в другую программу.

Частая ошибка. Полагаться на глобальные переменные там, где вполне хватило бы локальных. В этом случае одна процедура незаметно меняет данные, которыми пользуется другая, и найти причину сбоя становится очень трудно. Хорошее правило — делать переменные локальными везде, где это возможно.

Кратко о главном

  • Область видимости — это часть программы, где переменная доступна.
  • Глобальная переменная видна везде, локальная — только в своей процедуре.
  • Локальная переменная существует лишь во время работы процедуры.
  • Локальные переменные делают программу надёжнее и понятнее.