Операция '+' не применима к function (x: real): real и real Работу программы проверить для a=0.1; b=1.0; h=0.1, значение параметра n выбрать в зависимости от задания.
Program test; var i, n: integer; x, k, h, sx: real;
function Y(x: real): real; begin Y := x * arctan(x) - 0.5 * ln(1.0 + x * x) end;
function S(x: real): real; var sum, xx, p, znak, e: real; begin S := 0.5 * exp(ln(x)*x); p := x * x; xx := - x * x; k := 2; e := 1e303; while abs(e) > 1e-14 do begin k := k + 2; p := p * xx; e := p / (k * (k - 1)); S := S + e end end;
begin h := 0.1; writeln('x': 2, 'S(x)': 14,'Y(x)': 18, 'n': 15); for i := 1 to 10 do begin x := i * h; sx := S(x); n := round(k / 2); writeln(x: 3: 1, sx: 18: 14, Y(x): 18: 14, n: 10) end end.