Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_pechat.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
378.79 Кб
Скачать

11) Фактические и формальные параметры и процедур.

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

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

Пример параметров-значений:

Имя подпрограммы ( P1, P2, ..., PN : Тип );

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

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

Пример параметров-переменных:

Имя Подпрограммы ( VAR P1, P2, ..., PN : Тип );

Описание параметров-переменных отличается от описания параметров- значений лишь наличием ключевого слова VAR перед идентификатором параметра.

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

Синтаксис описания параметров-констант:

Имя Подпрограммы ( CONST P1, P2, ..., PN : Тип );

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]