zadach319.PAS

{* Задача 319 *}

Unit ZADACH319;
Interface
Implementation
Begin
 writeln('Вычислить приближённое значение бесконечной суммы последовательности х-(х^2)/2+(x^3)/3… . Нужное приближение считается полученным, если вычислена сумма нескольких первых слагаемых, и очередное слагаемое оказалось по модулю меньше 0, 0001.');
End.

Program zadach319;

Uses zadach319.pas; {* Эту строку можно удалить *}
Var {* Необходимые переменные *}
  l   : integer;
  i   : integer;
  x   : real;
  sum : real;
  a   : real;
  k   : real;
Begin
  write('вводим х');
  readln(x);
  l := 1;
  a := x;
  While a > abs(0.0001) Do
  Begin
    If l Mod 2 = 0 Then
      sum := sum - a
    Else sum := sum + a;
      l := l + 1;
    k := x;
    For i := 1 To l Do {* Цикл для i => [1 .. l] *}
      x := x * k;
    a := x / l;
  End;
  writeln('сумма равна ', sum);
  readln; {* Ждем нажатия Enter *}
  readln; {* Ждем нажатия Enter *}
End.