Лекция: Пример 1.9.

Вычисление расстояний между N парами точек на плоскости. Использование функции с параметрами-значениями.

 

Program R5;

Var

X1, Y1, X2, Y2: Real; {Объявление глобальных переменных}

N, I: Integer; {Объявление глобальных переменных}

{Функция с параметрами-значениями и возвращаемым значением типа Real}

Function Rast5 (Xx1, Xx2, Yy1, Yy2: Real): Real;

Begin

Rast5 := Sqrt (Sqr (Xx1 — Xx2) + Sqr (Yy1 — Yy2)) {Возвращаемое значение}

End;

{Вызывающая программа}

Begin

Writeln (‘Введите количество пар точек’);

Readln (N);

For I:=1 To N Do

Begin

Readln (X1, X2, Y1, Y2);

{*}Writeln (Rast5 (X1, X2, Y1, Y2)){Вызов процедуры Rast5}

End

End.

 

Данная программа выполняет те же вычисления, что и программы, приведенные в примерах 1.1 – 1.3. Однако для вычисления расстояния между точками используется функция Rast4. Вычисленное функцией расстояние между точками передается в точку вызова с помощью возвращаемого значения. Точка вызова находится в списке фактических параметров оператора вызова стандартной процедуры вывода Writeln, поскольку по синтаксису языка Паскаль в списке вывода могут использоваться значения выражений.

Вместо оператора {*} в тексте программы можно использовать, например, такой фрагмент:

 

X1 := Rast5 (X1, X2, Y1, Y2);

Writeln (Х1) .

1.4. Рекурсивные подпрограммы

Рекурсия – это определение какого-либо понятия через само это понятие.

Классический пример рекурсивной функции – факториал n!:

 

 

Здесь n! определяется через (n-1)!.

Особенность рекурсивного описания подпрограммы – то, что в ее теле содержится обращение к ней самой.

 

еще рефераты
Еще работы по информатике