Формальные и фактические параметры
Рассмотрим более подробно вопросы взаимодействия формальных и фактических параметров. Определения формальных и фактических параметров являются исключительно важными для понимания механизма их взаимодействия в подпрограммах. Поэтому на этом вопросе следует остановиться подробнее. Формальные параметры подпрограммы указывают, с какими параметрами следует обращаться к этой подпрограмме (количество параметров, их последовательность, типы). Они задаются в заголовке подпрограммы в виде списка формальных параметров, разбитого на группы, разделенные точками с запятыми. В группу формальных параметров включаются однотипные параметры одной категории. Все формальные параметры можно разбить на четыре категории: - параметры-значения (эти параметры подпрограмма может изменить в основной подпрограмме); - параметры-переменные (эти параметры подпрограмма может изменить в основной программе); - параметры-константы (только в версии 7.0); - параметры-процедуры и параметры-функции (т.е. процедурного типа). Для каждого формального параметра следует указать имя и, как правило, тип, а в случае параметра-переменной или параметра-константы - категорию. Имена параметров могут быть любыми, в том числе и совпадать с именами объектов программы. Необходимо лишь помнить, что в этом случае параметр основной программы с таким именем становится недоступным для непосредственного использования подпрограммой. Тип формального параметра может быть практически любым, однако в заголовке подпрограммы нельзя вводить новый тип. Например, нельзя писать Function SUMM (A: array[1..100] of Real): Real; Чтобы правильно записать этот заголовок, следует в основной программе ввести тип-массив, а затем использовать его в заголовке: Type aArr = array[1..100] of real; Function SUMM (A: aArr): Real; При обращении к подпрограмме формальные параметры заменяются на соответствующие фактические вызывающей программы или подпрограммы.
|