Хотя набор встроенных функций языка ПАСКАЛЬ достаточно широк, он вряд ли может удовлетворить требованиям каждого программиста. Поэтому пользователю предоставлена возможность самому реализовать нужные ему алгоритмы в виде функций и обращаться к ним из программ по мере необходимости.
Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово 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.
ТЕМА 12. Символьные массивы. Строки
Цель лабораторной работы: изучить средства системы программирования Pascal, предназначенные для обработки символов и фрагментов текста – строк. Применять на практике процедуры и функции, разработанные для строкового типа данных.