Var a,b,h,eps,s1,s2,s:real; n,i:integer;
function f(x:real):real;
begin
f:=exp(2*x)-2*x*x;
end;
begin
readln(a,b,eps);
n:=10;
s2:=0;
s:=(f(a)+f(b))/2;
repeat
s1:=s2;
s2:=s;
h:=(b-a)/n;
for i:=1 to n-1 do s2:=s2+f(a+i*h);
s2:=s2*h;
writeln(n,' ',h:6:4,' ',s1:6:3,' ',s2:6:3);
n:=n*2;
until abs(s1-s2)<eps;
end.
Пример (для ε=0,01):
1 2 0.01
<span>10 0.1000 0.000 19.013
20 0.0500 19.013 18.957
40 0.0250 18.957 18.943
80 0.0125 18.943 18.939</span>
Это определение стандартной неэлементарной кусочно-постоянной математической функции sgn(x) - сигнум От латинского signum - знак).
В языке Паскаль эта функция уже определена.
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
// Также проверено в WDE: http://pascalabc.net/WDE
begin
Writeln('y=',Sign(ReadReal('x=')))
end.
<u><em>Тестовое решение</em></u>
x= 4.564
y=1
Для начала.
1.Помоем "заварник" в раковине. (от предыдущего чая)
2.Достаем баночку с заваркой
3.Берём чайную ложечку
4.Сыпим заварку в "заварник"
5.Наливаем кипяток
6.Даём завариться чаю.