русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Параметр-переменная и параметр-значение.


Дата добавления: 2015-01-08; просмотров: 964; Нарушение авторских прав


Программист имеет дело с параметрами при описании и при использовании процедур и функций. Различают формальные и фактические параметры.

Параметры, определяемые при описании процедуры или функции, называются формальными параметрами.

Параметры, задаваемые при вызове процедуры или функции, называются фактическими параметрами.

В описании формального параметра перед именем параметра может стоять слово var, показывающее, что параметр является параметром-переменной. Отличие параметра-переменной от обычного параметра (т. е. параметра-значения) состоит в том, что инструкции процедуры или функции могут изменить значение переменной, являющейся фактическим параметром. Использование параметров-переменных позволяет использовать процедуры для изменения значений переменных основной программы.

В следующей программе для вычисления площади круга и длинны окружности по значению радиуса используется процедура программиста SqLeOkr.

Пример использования процедуры программиста

 

program sqring;

Var

{переменные основной процедуры}

r,l,s:real; {радиус, длинна окружности и площадь круга}

{процедура программиста}

procedure SqLeOkr (r:real;var s:real;var l:real);

{r - радиус,s - площадь круга, l - длинна окружности }

Const

pi=3.14159;

Begin

s:=pi*r*r;

l:=2*pi*r;

end;

{основная процедура}

Begin

Writeln (‘Вычисление длинны окружности и площади круга:’);

Write (‘Задайте радиус и нажмите <Enter>’);

Readln (‘r’);

l:=0; s:=0;

SqLeOkr (r,s,l);

{переменные программы – фактические параметры процедуры}

Writeln (‘Радиус окружности:’,r:6:3’);

Writeln (‘Длина: ’, l:6:3, ’ Площадь: ‘, s:7:3);

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

Программа на языке 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меняет значение глобальной переменной.

 



<== предыдущая лекция | следующая лекция ==>
Использование функции. | Задача 10.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.046 сек.