Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 311

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

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

По своему назначению параметры подразделяются на три вида:

входные, inпараметры, которые поставляют значения для выполнения процедуры;

выходные, outпараметры, которые принимают значения, вырабатывае­мые в ходе выполнения процедуры, для внешнего использования;

совмещенные, входные и одновременно выходные, или inoutпараметры, которые и поставляют значения, и принимают их, т. е. совмещают два предыдущих назначения.

Фактический inпараметр — это выражение того типа, которого требует со­ответствующий формальный параметр. Небольшая оговорка здесь требуется по поводу передачи подпрограмме в качестве параметров для внутреннего использования процедур и функций, которые при обсуждении параметриза­ции удобно рассматривать как значения специальных типов: процедурного и функционального. Если в языке определить переменные этих типов, то они будут принимать в качестве значений алгоритмы процедур или функций. Ни в одном развитом языке эта концепция не доведена до логической завершен­ности. Ее непоследовательно реализованные фрагменты имеются во многих языках (Алгол 68, несколько более ограниченно — Ada, TurboPascal).

Фактические outпараметры — это переменные, т. к. только они в состоя­нии принимать значения. Если рассматривать операнды выражений как еще одну возможность принимать значения, то подпрограммуфункцию можно считать частным случаем процедуры со специально синтаксически выделен­ным outпараметром, который предписано использовать в синтаксической позиции операнда выражения, когда он представлен конструкцией вызова функции.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама