Пользовательские процедуры
Структура пользовательской процедуры:
Procedure Имя процедуры [(Список формальных параметров
с указанием типа каждого из них)] ;
[Раздел описаний локальных переменных]
Begin
Операторы тела процедуры
End;
Список формальных параметров может включать:
- входные параметры или параметры-значения, значения которых должны быть установлены до начала работы данной процедуры (определяют исходные данные для работы процедуры);
- выходные параметры или параметры-переменные, получающие свое конкретное значение в результате работы процедуры (определяют выходные данные процедуры). Перед перечислением выходных в списке формальных параметров должно стоять ключевое слово Var.
Для каждого параметра указывается его тип через знак двоеточие, по аналогии с объявлением переменных в разделе Var. Тип формального параметра может быть любым, но имя типа должно состоять из одного слова, поэтому сложный тип предварительно описывается в разделе Type. Параметры вместе с указанием их типа отделяются друг от друга точкой с запятой.
|
|
В разделе описаний локальных переменных перечисляются только те переменные, константы, а также вложенные процедуры и функции, которые используются только в данной процедуре, поэтому они называются локальными. Значения локальных переменных недоступно в главной программе. В отличие от локальных, переменные, описанные в главной программе называются глобальными. Их значения доступны и в процедуре тоже.
Обращение к процедуре осуществляется в основной программе путем задания имени процедуры и списка фактических параметров:
Имя процедуры [(Cписок фактических параметров)];
При вызове процедуры формальные параметры заменяются фактическими в порядке их следования. Количество, типы и порядок следования формальных и фактических параметров должно в точности совпадать!
Функции – это подпрограммы, в результате которой вычисляется только одно значение, которое присваивается имени функции. Обращение к функции можно использовать в правой части операторов или различных выражений, то есть там, где используются переменные соответствующего типа.
В общем виде блок типа Function имеет следующий вид:
Function Имя функции [(Список формальных параметров с указанием
типов каждого из них)]:Тип результата;
[Раздел описаний локальных переменных]
Begin
Операторы тела функции
End;
В разделе операторов тела функции должен обязательно присутствовать, по крайней мере, один оператор вида:
Имя функции:=Вычисленное значение;
в котором вычисленное значение присваивается переменной, совпадающей с именем функции. В точку вызова возвращается результат последнего такого присваивания. Если такого оператора нет, то возвращенное значение функции будет не определено.
|
|
При вызове функции, также как и при вызове процедуры, формальные параметры заменяются фактическими в порядке их следования. Между фактическими и формальными параметрами, объявленными в заголовке функции, должно быть соответствие по их количеству, типу данных и последовательности расположения.
Обращение к функции пользователя аналогично вызову встроенных функций Delphi: оно осуществляется в основной программе путем задания имени функции и списка фактических параметров того же типа и количества, что и формальные, например:
Например, функцию
Function Tangens(x:Real): Double;