//PascalABC.Net 3.1 сборка 1200
var
x0, xk, dx, e, x, a, s: real;
i: integer;
begin
write('Введите промежуток и шаг ([a,b] h) и точность Е ');
readln(x0, xk, dx, e);
x := x0;
writeln(' i ':3, ' | ', ' x ':10, ' | ', ' s ':10, ' | ', ' y(x) ':10);
repeat
a := 1;
s := a;
i := 0;
repeat
i := i + 1;
a := a * (-1) * 2 * x / (2 * i) / (2 * i - 1);
s := s + a;
until abs(a) < e;
writeln(i:3, ' | ', x:10:3, ' | ', s:10:3, ' | ', (cos(sqrt(2 * x))):10:3);
x := x + dx;
until x >= xk;
end.