var
k,h:integer;
p,s,x,eps,n,p1:real;
begin
x:=10;
while (x<0) or (1<x) do begin {Условие ввода 0>x>1}
write('Введите X = '); readln(x);
end;
eps:=1e-@; //В место @ нужно ввести погрешность в положительном числовом виде (вычислить до @-го знака после запятой)
p:=x;
n:=2;
p1:=1;
h:=1;
while abs(p)>eps do {Условие выхода: очередной член ряда по модулю меньше eps}
writeln('[Отладка] ',eps,' ',p,' ',s,' ',n); //отладка
for var i:=0 to 1 do begin
k:=k+1;
p1:=p1*k;
h:=h*-1;
p:=h*(power(2*x,n))/p1; {Вычисление очередного члена ряда}
s:=s+p;
n:=n+2;
writeln('cos(2x-1) = ', s);
end.
var
k,h:integer;
p,s,x,eps,n,p1:real;
begin
x:=10;
while (x<0) or (1<x) do begin {Условие ввода 0>x>1}
write('Введите X = '); readln(x);
end;
eps:=1e-@; //В место @ нужно ввести погрешность в положительном числовом виде (вычислить до @-го знака после запятой)
p:=x;
n:=2;
p1:=1;
h:=1;
while abs(p)>eps do {Условие выхода: очередной член ряда по модулю меньше eps}
begin
writeln('[Отладка] ',eps,' ',p,' ',s,' ',n); //отладка
for var i:=0 to 1 do begin
k:=k+1;
p1:=p1*k;
end;
h:=h*-1;
p:=h*(power(2*x,n))/p1; {Вычисление очередного члена ряда}
s:=s+p;
n:=n+2;
end;
writeln('cos(2x-1) = ', s);
end.