ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ
Хотя набор встроенных функций языка ПАСКАЛЬ достаточно широк, он вряд ли может удовлетворить требованиям каждого программиста. Поэтому пользователю предоставлена возможность самому реализовать нужные ему алгоритмы в виде функций и обращаться к ним из программ по мере необходимости. Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово Function, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Формат. Function < имя> < (Формальные параметры)>:< тип результата > Пример. Function Prov (X, Y, T: integer): real; Function Zx: boolean; Имя функции - уникальный в пределах блока идентификатор. Возвращаемый результат может иметь любой скалярный тип, тип string и тип "указатель". Тело функции представляет собой локальный блок, по структуре аналогичный программе: Function <имя> {(Формальные параметры)>: <тип результата> <разделы описаний> begin <раздел операторов> end; В разделе операторов должен находиться по крайней мере один оператор, присваивающий идентификатору функции значение. Если таких присваиваний несколько, то результатом выполнения функции будет значение последнего оператора присваивания. Обращение к функции осуществляется по имени с необязательным указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип. Для иллюстрации использования функций рассмотрим подпрограмму, которая возводит в степень положительное или отрицательное число.
Program DewoFunction; Var Z: integer; К: real; Function Step (F: real; Exp: integer): real; Var С: integer; T: real; begin if Exp = 0 then Step:= 1 else begin T:= F; for С: = 2 to Abs(Exp) do T: - T * F; if Exp < О then Step:= 1 / T else Step: = T; end end; Begin wri teln (' Введите число:'); read (Z); writeln (Step(Z,3)); {вывод Z в 3-й степени} wri teln (Step(Z,4)); {вывод Z в 4-й степени} К: =1.4; wri teln (Step(K,4)) {вывод К в 4-й степени} End.
|