Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Глобальные, локальные блоки и объекты




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

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

Procedure treug(x,y,z:Integer;Var ss:Real; Var pp: Integer);

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

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

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

type tArr = array[l..100] of Real;

procedure ZapolnMas (l:integer, var A: tArr; Max);

Здесь A - параметр-переменная, l - параметр значение.

Для вызова подпрограммы следует указать ее имя и список фактических параметров, значения которых передаются формальным параметрам. Все фактические параметры при этом разделяются запятыми. Между формальными и фактическими параметрами должно быть взаимнооднозначное соответствие, т.е. они должны совпадать по количеству, типу и порядку следования.

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




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 474; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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