Я стормозил) Жаль я не умею делить на ноль(
Конечный вариант решения задачи:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
function f(x:real):real;
begin
f := (3*ln(x+1))/(1+ln(x+1));
end;
function trap(a,b:integer):real;
var S, h, k, n:REAL;
begin
n:= b/0.1;
S := 0;
if n = 0 then
h := 0
else
h := (b - a) / n;
k:=0;
while k < n do
begin
S := S + f(a + h * k);
k:= k+ 1;
end;
result := h * ( ( f(a) + f(b) ) / 2 + S);
end;
var i:integer;
begin
i:=0;
while i <= 300 do begin
writeln(trap(0,i):0:5);
i:= i+50;
end;
Readln;
end.
Проверьте пожалуйста, все корректно? Просчет в принципе верен, но мне так поспокойнее будет.
Спасибо.