Преобразование пекаря.

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
bilymo
Сообщения: 3
Зарегистрирован: 11 май 2013, 00:39

17 мар 2014, 21:28

Здравствуйте уважаемые Форумчане! Мне очень нужно заручиться Вашей поддержкой, по одному, весьма интересному вопросу. При построении данного алгоритма и его запуска с любыми начальными условиями, результат сходиться к одному и тому же числу... Прошу найти возможную ошибку в программе и порекомендовать, что нужно сделать, что бы результат не сходился, а продолжал хоатическим образом выдавать числа.... пекарь

[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]
Ответить