В некоторых случаях явное использование имени функции в теле функции в составе некоторых арифметических выражений и т.д. может быть выполнено не адекватно, поэтому, если это не нарушает реализацию алгоритма, следует объявить переменную имеющую тот же тип данных, что и функция и использовать ее в теле функции. В конце тела функции следует присвоить имени функции эту временную переменную.
При описании процедуры или функции можно указать список параметров, передаваемых в нее из вне. Такие параметры носят название формальных, т.к. они не связаны с каким-либо конкретным значением.
В Turbo Pascal 7.0. в качестве формальных параметров могут использоваться:
· параметры-переменные;
· параметры-значения;
· константы;
· параметры-функции.
При описании списка формальных параметров необходимо указать их тип, причем:
· параметры одного типа разделяются запятыми;
· параметры разного типа разделяются точкой с запятой;
· нестандартные и структурированные типы указываются с помощью идентификаторов и не могут быть описаны в списке формальных параметров.
Для того чтобы использовать созданные процедуры и функции необходимо указать имя процедуры или функции и значения фактических параметров, т.е. значения, передаваемые в процедуру или функцию для обработки.
Соответствующие друг другу формальные и фактические параметры должны иметь один и тот же тип данных.
При передаче параметров в процедуру или функцию различают параметр-значение и параметр-переменная.
Параметр-значение передают значение процедуре или функции для обработки. После окончания работы процедуры или функции их первоначальное значение сохраняется независимо от действий совершаемых с этим параметром в теле процедуры или функции.
Параметр-переменная в отличии от параметра-значения после окончания работы процедуры или функции приобретают значение, полученное в результате операции, совершаемой с этим параметром в теле процедуры или функции.
В общем случае можно сказать, что параметр-значение передают значение в процедуру или функцию, а параметр-переменная не только передает, но и возвращает некоторое значение.