Разработка и реализация программ с использованием процедур и функций, страница 2

раздел описаний

begin

раздел операторов

end;

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

·  количество формальных и фактических параметров должно быть одинаковым;

·  первый фактический параметр отвечает первому формальному, второй - второму и т.д.;

·  каждый фактический параметр должен иметь тот же тип, что и соответствующий ему формальный параметр.

Turbo Pascal поддерживает три вида параметров: параметры-значения, параметры-переменные и нетипизирующие параметры-переменные. Этом трем видам параметров отвечают три способа передачи параметров: за значением, за ссылкой и передача нетипизирующих параметров за ссылкой.

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

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

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