Пример. Простейшая рекурсия (зацикленная).

Program DemoRecurs;
 Uses Crt;

Procedure PrintA;
begin
 writeln('Рекурсия');
 PrintA; {Процедура вызывает сама себя}
end;

Begin
 PrintA {Стартовый вызов рекурсивной процедуры}
end.

Пример. Вычисление факториала.

Program Factorial;
 Var F,N:integer;

Procedure FACT(N:integer; Var F:integer);
begin
 IF N=0 THEN F:=1
 ELSE
 begin
 FACT(N-1,F);
 F:=N*F
 end
end;

Begin
 Write('Введите число= '); 
 Readln(N);
 FACT(N,F);
 Writeln(F);
 Readln
End.


2008-03-11 • Просмотров [ 12765 ]