Вычислить с точностью E. Проверить решение для E=0.01, 0.001, 0.0001, 0.00001, определив количество шагов, которые потребовалось выполнить для достижения поставленной точности. Выполнить сравнение решения со значением стандартной функции — Pascal(Паскаль)

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.

Leave a Comment

17 − = 8