uses crt;
var mas:array[1..20,1..5] of real;
x,p,e,s2,s1,s,m:real; n,i,k:integer;
function step(x:real; n:integer):real;
begin
p:=1;
if n=0 then p:=1
else begin
for i:=1 to n do begin
p:=x*p;
end; end;
step:=p;
end;
function fact(x:real):real;
begin
if x=0 then fact:=1
else
fact:=fact(x-1)*x;
end;
function sum(x:real; n:real):real;
begin
k:=0;
e:=0.0000000001;
while abs(s2-s1)>=e do begin
s1:=step(-1,k)*(step(x/2,2*k)/(fact(k)*fact(k+n)));
s2:=step(-1,k+1)*(step(x/2,2*(k+1))/(fact(k+1)*fact(k+1+n)));
inc(k);
s:=s+s1;
sum:=s;
end;
end;
begin
clrscr;
for n:=0 to 4 do begin
x:=0;
while x<=10 do begin
x:=x+0.5;
m:=step(x/2,n)*sum(x,n);
write(m:7:6,' | ');
end;
writeln;
end;
readln;
end.
Работает неправильно. Не могу понять, в чем ошибка...Сообщение отредактировано: marwell -