{Интересно, составитель задачи сам её писал? При отрицательном x возвращает NaN, так как пытаемся вычислить квадратный корень отрицательного числа}
//Pascal ABC.NET v3.0 сборка 1111
Var
a,b,h,f1,f2,e,x,g:real;
k,i:integer;
function fact(n:integer):integer;
Var i,r:integer;
begin
r:=1;
for i:=1 to n do
r:=r*i;
fact:=r;
end;
begin
read(a,b,h,e);
x:=a-h;
i:=1;
writeln('№':4,' ','X':4,' Sum value:':10,' y(x) value:':10,' Δy');
while x begin
x+=h;
f2:=(x+1-sqrt(x))*exp(sqrt(x))-(x+1+sqrt(x))*exp(-sqrt(x));
k:=1;
f1:=(8*sqrt(x)*x)/fact(2*k+1);
g:=f1;
while abs(g)>e do
begin
inc(k);
g:=(8*sqr(k)*sqrt(x)*power(x,k))/fact(2*k+1);
f1+=g;
end;
writeln(i:4,' ',x:4,' ',f1:3:2,' ',f2:3,' ',abs(f1-f2):4);
inc(i);
end;
end.
Пример ввода:
0.25
1
0.25
0.0001
Пример вывода:
№ X Sum value: y(x) value: Δy
1 0.25 0.18 0.175112298527988 2.45214984428976E-09
2 0.5 0.52 0.51982336355304 1.11228378951722E-07
3 0.75 1.00 1.0012462553695 1.03686469699049E-06
4 1 1.61 1.61464350494472 4.65512599578943E-08