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
Answers & Comments
Verified answer
Varx, 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