Здравствуйте уважаемые Форумчане! Мне очень нужно заручиться Вашей поддержкой, по одному, весьма интересному вопросу. При построении данного алгоритма и его запуска с любыми начальными условиями, результат сходиться к одному и тому же числу... Прошу найти возможную ошибку в программе и порекомендовать, что нужно сделать, что бы результат не сходился, а продолжал хоатическим образом выдавать числа.... пекарь
[syntax='delphi']
function Pekar(p:extended ; q:extended): longint;
var
res,j,i,n:longint;
k1,x1:double;
begin
xm[0]:=p;
ym[0]:=q;
n:=1;
// p,q любое[0,1], а результат в p сходиться к одному...
while(xm[n]<>xm[n-1])
do begin
if (p<1/2) and (p>=0) then begin
p:=2*(p); q:=q/2;
//end;
//if (p<=1) and (p>1/2) then begin
end
else begin
p:=2*(p)-1; q:=(q+1)/2;
end;
n:=n+1;
xm[n]:=p; ym[n]:=q;
end;
pekar:=n;
end;
[/syntax]