Вычислить сумму ряда по формуле

помогите пожалуйста надо вычислить: Дано действительное число x Вычислить x-x3/3!+x5/5!-x7/7!+x9/9!-x11/11!+x13/13! !-фрактал
2 ответа

Факториал скорее. Вот код факториала и степени, остальное сможете сами:
function fact(n : integer) : longint;
  begin
    if n <= 1 then
      fact := 1
else
      fact := n * fact(n - 1);
  end;
Function stn(Var chislo, stepen:Real) of Real;
     Var per:real;
     Begin 
      Per:= Abs(chislo);
      If chislo < 0 Then Pow:= (-1)*Exp((stepen)*Ln(per))
       Else Pow:= Exp((stepen)*Ln(per));
     end;


AvizerScript, такие задачи решаются с применением рекуррентного соотношения.Строго по заданию:
var x, a, s: real;
    n: integer;
begin
  write('x = ');
  readln(x);
  a := x;
  s := a;
  for n := 1 to 6 do
    begin
      a := -a * x * x / 4 / n / (n + 0.5);
      s := s + a
    end;
  writeln('S = ', s:0:15);
  readln
end.
И, на всякий случай, вычисление упомянутого бесконечного ряда для данного x с заданной точностью и сравнение результата со значением, вычисленном встроенной паскалевской функцией. Упомянутый ряд является рядом Тейлора для функции sin(x).
const eps = 1e-10;
var x, a, s: real;
    n: integer;
begin
  write('x = ');
  readln(x);
  x := frac(x / 2 / pi) * 2 * pi;
  a := x;
  s := a;
  n := 0;
  repeat
    inc(n);
    a := -a / 4 * x / n * x / (n + 0.5);
    s := s + a
  until abs(a) < eps;
  writeln('Precision = ', eps:0:15);
  writeln('     S(x) = ', s:0:15);
  writeln('   sin(x) = ', sin(x):0:15);
  readln
end.