Подпрограмма-функция обрабатывает
данные, переданные ей из главной программы,
и затем возвращает полученный результат (в
отличие от процедуры). Функция,
определенная пользователем, состоит из
заголовка и тела функции. Заголовок
содержит зарезервированное слово Function,
имя, список формальных параметров (заключенный
в скобки) и тип возвращаемого функцией
значения. Тело функции представляет собой
локальный блок, по структуре сходный с
программой. Общий вид описания функции:
Function
<имя> (<параметры>): <тип результата>;
Const …;
ù
…
ý блок
описания
Var ….;
û
begin
<операторы>
end;
В разделе операторов должен
находиться, хотя бы один оператор,
присваивающий имени функции значение.
Обращение к функции осуществляется по
имени с указанием списка аргументов. Каждый
аргумент должен соответствовать
формальным параметрам и иметь тот же тип.
Пример
1. Найти
значение следующего выражения: F(t)
– F(c),
где F(x)=Öx
+2x2
+3x
Program m;
Uses crt;
Var t, c, r : real;
Function F(x: real) : real;
Begin
F:= sqrt(x)+ 2*sqr(x) + 3*x;
End;
Begin
Clrscr;
Write(‘Введите числа’);
Readln (t, c);
r:= F(t) – F(c);
write(‘результат =’,
r:8:3);
{8 символов на все число, 3 – на дробную
часть, см п.1.4.2}
end.
Пример
2.
Найти наибольшее из четырех
чисел, используя подпрограмму нахождения
наибольшего из двух чисел.
Program max;
Uses crt;
Var a, b, c, d, m, p, q:real;
Function Bid(x, y: real) : real;
Begin
If x>y then bid:=x
else bid:=y;
End;
Begin
Clrscr;
Write(‘Введите числа’);
Readln (a, b, c, d);
p:=bid(a, b);
q:= bid(c, d);
m:=bid(p, q);
write(‘наибольший элемент’,
m:8:3);
end.
<<<Предыдущий урок | К содержанию | Следующий урок>>>