Лекция: Program Summa;

const n=1024;

var x: real; m: integer;

procedure Sum(n: integer; var S:real);

var I: integer;

Begin

s:=0;

for i := 1 to n

do S := S+1/i

End;

Begin

for m := 1 to n

Do begin

Sum(m, x); write(m, x)

End

End.

Здесь в списке параметров процедуры Sum n – параметр значение, S – параметр-переменная.

 

РЕКУРСИИ

Рекурсивные алгоритмы и определения

 

Программист обычно разрабатывает программу, сводя исходную задачу к более простым. Среди этих задач может оказаться и первоначальная, но в упрощенной форме.

Например, вычисление функции F(N) может потребовать вычисления F(N-1) и еще каких-то операций. Иными словами, частью алгоритма вычисления функции будет вычисление этой же функции.

Алгоритм, который является своей собственной частью, называется рекурсивным. Часто в основе такого алгоритма лежит рекурсивное определение какого-то понятия.

Например, о факториале числа N можносказать, что

(Определение 1) N! = 1 *2 * … (N — 1 ) * N или 1, если N = 0;

(Определение 2) N! =(N — 1)! * N, или 1, если N = 0.

Второе определение рекурсивное.

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

Записать рекурсивный алгоритм на Паскале можно с помощью рекурсивной процедуры (функции).

 

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