Список формальных параметров может отсутствовать. Это возможно, если в них нет необходимости, а переменные, используемые в процедуре, являются глобальными.
Формальные параметры считаются локальными в данной подпрограмме.
В списке формальных параметров имена параметров с указанием их типа перечисляются и отделяются друг от друга точкой с запятой. Однотипные параметры можно объединить через запятую.
Параметры, содержащиеся в заголовке подпрограммы, называются формальными.
Параметры представляют собой идентификаторы и служат для обмена значениями между подпрограммой и вызывающим ее программным блоком.
В заголовке процедуры или функции содержится список параметров.
Списки параметров
Пользователю блока недоступны детали реализации алгоритма этого блока.
Структура программ на языке ТР допускает любую степень вложенности программных блоков, т.е. подпрограмм.
П/п функция или процедура может иметь собственный раздел описаний, содержащий имена констант, типов, переменных и вложенных в нее п/п более низкого уровня.
Считается, что все имена описанные внутри блока, локализируются в нем, т.е. это « черный ящик», используемый для реализации того или иного алгоритма при соответствующем обращении к нему.
В Турбо Паскале предусмотрено два типа подпрограмм:
- функции Function;
- процедуры Procedure.
Формальные параметры задаются в заголовке п/п в виде списка, разбитого на группы.
Локальные имена – объявляются внутри конкретной подпрограммы, они доступны только ей. Они не могут совпадать с именем самого блока. Память для локальных переменных выделяется только на время выполнения данной п/п в специальной области, называемой стеком. При завершении п/п память освобождается.
Глобальные имена – имена, объявленные в основной программе ( или во «внешней» п/п); т.е. глобальные имена являются именами «верхнего уровня » по отношению к данной подпрограмме и объявлены (описаны) до обращения к данной подпрограмме.
Эти имена доступны как самой программе (или внешней п/п), так и всем ее подпрограммам.
Фактические параметры – это параметры программы, имена которых фактически подставляются в оператор вызова подпрограммы в момент обращения к п/п.
При обращении к конкретной п/п формальные параметры заменяются на соответствующие фактические параметры вызывающей программы и над ними осуществляются действия, определенные алгоритмом п/п.