program prg;
uses crt;
procedure cosinus(eps:real;x:real;var y:real;var n:integer);
var prev,next: real;
p: boolean;
begin
y:=1; n:=1; prev:=1; p:=true;
while p do begin
next:=-prev*x*x/((2*n-1)*2*n);
y:=y+next;
p:=abs(prev-next) > eps;
prev:=next;
n:=n+1;
end;
n:=n-1;
end;
var eps,y,x:real;
i: integer;
begin
clrscr;
eps:=0.1;
x:=2.34;
while (eps > 0.00001) do begin
eps:=eps/10;
cosinus(eps,x,y,i);
writeln('ans=',y,' ',i,' cos=',cos(x));
end;
readkey;
end.