Var
x, a, b, h, s: real;
n: integer;
function Y(t: real): real;
begin
Y := System.Math.log(1 + t)/t;
end;
begin
write('Отрезок интегрирования [a,b] = ');
read(a, b);
write('На сколько частей нужно разделить отрезок? n = ');
read(n);
h := (b - a) / n;
s := 0;x := a + h;
while x < b do
begin
s := s + 4 * Y(x);
x := x + h;
s := s + 2 * Y(x);
x := x + h;
end;
s := h / 3 * (s + Y(a) - Y(b));
writeln('Интеграл = ', s);
end.
Пример
Отрезок интегрирования [a,b] = 1 2
На сколько частей нужно разделить отрезок? n = 100
Интеграл = 0.614279333466083