![]() ![]() ![]() ![]() |
|
|
![]() |
Данные из вызывающей подпрограммы в вызываемую и наоборот, из вызываемой в вызывающую можно передавать с помощью глобальных переменных .
Другой способ передачи данных между вызывающей и вызываемой программами - с помощью фактических и формальных параметров.
Формальными параметрами в языке ПАСКАЛЬ могут быть имена переменных, имена массивов, имена множеств, имена записей, имена файлов, имена процедур, имена функций. Для всех параметров необходимо в списке формальных параметров определить тип* .
Каждому формальному параметру в заголовке процедуры или функции соответствует фактический параметр в операторе вызова процедуры или в обращении к функции. Формальному параметру скалярного типа в качестве фактического параметра может соответствовать выражение* . Частным случаем выражения может быть переменная или константа. Формальному параметру структурированного типа в качестве фактического параметра может соответствовать только имя данных структурированного типа. Формальным параметрам - именам процедур или функций - могут в качестве фактических параметров соответствовать только имена процедур или функций.
Необходимо соблюдать строгое соответствие между количеством, типом и порядком следования фактических и формальных параметров.
В языке ПАСКАЛЬ передача данных между вызывающей и вызываемой программами с помощью фактических и формальных параметров выполняется двумя способами: передача параметров по значению и передача параметров по адресу . Эти способы не относятся к параметрам - именам процедур и функций .