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

Классификация параметров подпрограмм

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

По области действия параметры подпрограмм подразделяются на глобальные и локальные. Глобальные параметры описываются в программе, и их область действия - программа с подпрограммами.

Желательно не использовать глобальные параметры в подпрограммах.

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

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

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

Фактические параметры должны соответствовать формальным параметрам по типу, количеству и порядку следования.

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

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

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

Procedure PR(<имя параметра>:<тип>);

Параметры-значения имеют свойства:

  1. Тип параметра может быть любой (простой или описанный в разделе Type), кроме файлового типа.

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

  3. Эти параметры могут быть только входными.

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

Параметры-переменные. В списке формальных параметров подпрограммы описание параметра-переменной следующее:

Procedure PR(Var <имя параметра>:<тип>; Out <имя параметра>:<тип>);

Параметры-переменные имеют свойства:

  1. Тип параметра может быть любой (простой или описанный в разделе Type).

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

  3. Ключевое слово Var позволяет передавать данные в подпрограмму и возвращать из процедуры результаты обработки (параметры могут быть одновременно входными и выходными). Передача параметра как выходного может быть выполнена с ключевым словом Out, но при этом не гарантируется передача в процедуру входного значения.

  4. В качестве фактических параметров могут быть только переменные того же типа, что и соответствующий формальный параметр.

Параметры-константы. В списке формальных параметров подпрограммы описание параметра-константы следующее:

Procedure PR(Const <имя параметра>:<тип>);

Параметры-константы имеют свойства:

  1. Тип параметра может быть любой (простой или описанный в разделе Type).

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

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

  4. В качестве фактических параметров могут быть только переменные того же типа, что и соответствующий формальный параметр.