Студопедия — Локальные и глобальные переменные.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






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

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


Пример использования локальных и глобальных переменных:

program p;

Var

x: integer; {глобальная переменная}

procedure p1;

Var

y: integer; {локальная переменная}

Begin

{здесь можно использовать переменные x и y}

end;

Begin

{здесь можно использовать только переменную x}

{попытка использовать y приведет к сообщению об ошибке}

end.

 

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

Если в процедурах описаны переменные с одинаковыми именами, пусть даже одинакового типа, то это разные переменные, и изменение переменной внутри одной процедуры не меняет значение переменной другой процедуры.


Так, в результате работы программы:

 

program p;

Var

i:integer;

procedure proc;

Var

i:integer;

Begin

i:=100;

end;

Begin

i:=1;

proc;

writeln(i);

end.

 

на экран будет выведено число 1, так как процедура proc изменяет только значение локальной переменной i, которое после завершения процедуры уничтожается.

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

program p;

Var

name: string [10]; {переменная основной программы}

procedure GetName;

Begin

Write(‘Ваше имя’);

Readln(name);

end;

begin {инструкции основной программы}

GetName

Writeln(name);

end.


В результате выполнения приведенной программы на экран будет выведена введенная с клавиатуры строка, так как процедура GetName меняет значение глобальной переменной.

 







Дата добавления: 2015-08-12; просмотров: 339. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия