Последовательности и ряды: Вычислить сумму ряда

Здравствуйте. Читаю самоучитель, в процессе появились задачи, которые я так и не смог написать. Прошу помочь с решением.Дано действительное число х. Вычислить: ...
4 ответа

uses crt;
var x,y: real;
    i,j: integer;
 
function pow(x:real;n:integer):real;
var r:real;
    i:integer;
begin
 r:=x;
 for i:=1 to n-1 do
  r:=r*x;
 pow:=r;
end;
 
function fact(n:integer): integer;
var i,r: integer;
begin
 r:=1;
 for i:=1 to n do
  r:=r*i;
 fact:=r;
end;
 
begin
 readln(x);
 writeln('Answer: ',x-(pow(x,3)/fact(3))+(pow(x,5)/fact(5))-(pow(x,7)/fact(7))+
 (pow(x,9)/fact(9))-(pow(x,11)/fact(11))+(pow(x,13)/fact(13)));
end.


Там в конце должно было быть многоточие(после редактирования модератором благополучно исчезло). Можете подсказать, как будет выглядеть код программы для некоторого n количества слагаемых, которое задаёт пользователь?Забыл сказать - в задании прослеживается закономерность, следующие слагаемые вычисляются по ней.


KirKap, ок, сейчас исправлю.
uses crt;
var x,y: real;
    i,j,n: integer;
 
function pow(x:real;n:integer):real;
var r:real;
    i:integer;
begin
 r:=x;
 for i:=1 to n-1 do
  r:=r*x;
 pow:=r;
end;
 
function fact(n:integer): integer;
var i,r: integer;
begin
 r:=1;
 for i:=1 to n do
  r:=r*i;
 fact:=r;
end;
 
begin
 write('x,n: ');
 readln(x,n);
 y:=x;
 j:=3;
 for i:=1 to n do
  begin
  if odd(i) then
   y:=y+(-1)*((pow(x,j)/fact(j)))
  else
   y:=y+((pow(x,j)/fact(j)));
  inc(j,2);
  end;
  writeln('Answer: ',y);
end.
uses crt;
var x,y: real;
    i,j,n: integer;
 
function pow(x:real;n:integer):real;
var r:real;
    i:integer;
begin
 r:=x;
 for i:=1 to n-1 do
  r:=r*x;
 pow:=r;
end;
 
function fact(n:integer): integer;
var i,r: integer;
begin
 r:=1;
 for i:=1 to n do
  r:=r*i;
 fact:=r;
end;
 
begin
 write('x,n: ');
 readln(x,n);
 y:=x;
 j:=3;
 for i:=1 to n do
  begin
  if odd(i) then
   y:=y+(-1)*((pow(x,j)/fact(j)))
  else
   y:=y+((pow(x,j)/fact(j)));
  inc(j,2);
  end;
  writeln('Answer: ',y);
end.


Var x,f,pr,s:real;
    i,j,t,n:byte;
Begin
    write('Введите N: ');readln(n);
    write('Введите x: ');readln(x);
    i:=1;s:=x;pr:=x;t:=1;f:=1;
    While i<n do
     Begin
      inc(i,2);
      pr:=pr*x*x;
      For j:=i-1 to i do
       f:=f*j;
      if t=1 then s:=s-pr/f
       else s:=s+pr/f;
      if t=1 then t:=0 else t:=1;
     End;
    writeln('S = ',s:0:2);
End.