Разложение синуса в ряд Тейлора


Задача:

  Используя разложение в ряд Тейлора найти значение sin(x) с заданной точностью e.

Описание:

  

Код:


program sin_teilor;
var x,stx,sint,e: real;
    i,fakt,z: integer;
Begin
Write('Введите x: ');
Readln(x);
Write('Введите точность e: ');
Readln(e);
 stx:= x;  {x в степени}
 fakt:= 1;  {значение факториала в знаменателе}
 sint:= 0;  {первый элемент в разложении}
 i:= 1;  {счётчик}
 z:= 1;  {знак элемента}
while stx/fakt>=e do begin  {до тех пор, пока элемент в разложении не меньше точности}
                      sint:=sint+z*stx/fakt;
                      inc(i,2);
                      stx:=stx*x*x;
                      fakt:=fakt*(i-1)*i;
                      z:=z*(-1);  {смена знака}
                      end;
Writeln('Количество элементов в разложении = ',i div 2);
Writeln('Значение sin(',x:6:6,')= ',sint:6:6);
Writeln('Значение компьютера: ',sin(x):6:6);
Readln;
End.




Hosted by uCoz