Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

Рекурсия   Найти похожие ветки 

 
Mike Kouzmine   (2002-10-11 16:08) [40]

Это не суть, важен принцип


 
han_malign ©   (2002-10-11 16:33) [41]

Короче на пальцах про рекурсию

function geompr1(b1,q,n:integer):integer;
begin
if n=1 then geompr1:=b1
else geompr1:=geompr2(b1,q,n-1)*q;
end;
function geompr2(b1,q,n:integer):integer;
begin
if n=1 then geompr2:=b1
else geompr2:=geompr3(b1,q,n-1)*q;
end;
.........................................
function geomprN(b1,q,n:integer):integer;
begin
if n=1 then geomprN:=b1;//однозначно N=n
end;

просто при рекурсии, вместо других экземпляров функции, используется тот же физический фрагмент кода


 
Anatoly Podgoretsky ©   (2002-10-11 16:38) [42]

Хороший пример бесконечной рекурсии это
"У попа была собака ..."


 
Oleg_Gashev ©   (2002-10-11 16:44) [43]

Например:
Дракон Хартера-Хейтуэя

function K(I:Integer):Integer;
begin
if i mod 2=0 then
k:=K(i div 2)
else
K:=i mod 4;
end;

procedure TForm1.FormPaint(Sender: TObject);
var x,y,i,Step,angle:Integer;
begin
Step:=1;
angle:=0;
x:=width div 2;
y:=height div 2;
canvas.Pen.Color:=0;
canvas.MoveTo(x,y);
for i:=1 to 100000000 do
begin
angle:=(angle+K(i)*90) mod 360;
if angle=0 then y:=y-step;
if angle=90 then x:=x-step;
if angle=180 then y:=y+step;
if angle=270 then x:=x+step;
canvas.LineTo(x,y);
end;
end;


 
Alx2 ©   (2002-10-11 16:49) [44]

>Oleg_Gashev © (11.10.02 16:44)
Классика в ход пошла!
Но кусты интереснее :)



Страницы: 1 2 вся ветка

Текущий архив: 2002.10.31;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.01 c
3-101144
Heathen
2002-10-10 19:15
2002.10.31
DBGrid and ADO


14-101480
Карлсон
2002-10-11 16:42
2002.10.31
про 2HD дискеты.


14-101451
Ghg
2002-10-10 09:55
2002.10.31
Принципиальные отличия писания программ в C++ Builder и MVS C++


3-101096
Vovaka
2002-10-09 15:16
2002.10.31
Знатоки и пользователи Sybase ASE подскажите


3-101065
alenka
2002-10-11 03:16
2002.10.31
обновить записи