• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Помогите найти ошибку в программе на языке Pascal

  • Автор темы ALFIR
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

ALFIR

Вот текст программы, где ошибка??. Помогите пожалуйста, заранее спасибо!)
Код:
Program PR;
uses crt;
var i,n,k:integer;
eps,x_0,x_1,a,lim:real;
function step(x,k:integer):longint;
begin
if k=0 then step:=1;
if k>=0 then step:=step(x,k-1)*x;
end;
function XN(k:integer):real;
begin
xn:=k/step(2,k);
end;
begin
clrscr;
eps:=0.1;
n:=0;
x_0:=1;
x_1:=2;
while abs(x_0-x_1)>eps do
begin
x_0:=XN(n);
x_1:=XN(n+1);
n:=n+1;
lim:=x_0+x_1;
writeln(n,'	',x_0:6:2,'	',x_1:6:2,'  ',lim:9:6);
end;
writeln('Kol-vo vishislenii e=0.1--->',n,' lim= ',lim:9:9);
eps:=0.001;
n:=0;
x_0:=1;
x_1:=2;
while abs(x_0-x_1)>eps do
begin
x_0:=XN(n);
x_1:=XN(n+1);
n:=n+1;
lim:=x_0+x_1;
end;
writeln('Kol-vo vishislenii e=0.001--->',n,' lim= ',lim:9:9);
eps:=0.0001;
n:=0;
x_0:=1;
x_1:=2;
while abs(x_0-x_1)>eps do
begin
x_0:=XN(n);
x_1:=XN(n+1);
n:=n+1;
lim:=x_0+x_1;
end;
writeln('Kol-vo vishislenii e=0.0001--->',n,' lim= ',lim:9:9);
readkey;
end.
 
N

nayke

А зачем функция step? может я быстро посмотрев не понял но помоему это x[sup]k[/sup]. И опишите подробнее задачу в чем ошибка.. какие условия..
 
A

ALFIR

Замени if k>=0 then step:=step(x,k-1)*x; на
if k>0 then step:=step(x,k-1)*x;

спасибо большое!) вроде работает=)

Добавлено: nayke
А зачем функция step? может я быстро посмотрев не понял но помоему это xk. И опишите подробнее задачу в чем ошибка.. какие условия..
да, это x в степени к
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!