Приближенное вычисление суммы бесконечно убывающего ряда 1+x/1!+x^2/2!+x^3/3!+…- Pascal(Паскаль)

Program Summer2;
  var
      Eps:real;     { Заданное число "эпсилон" }
      X: real;     { Основание степени в числителе дроби }
      S: real;     { В этой переменной будем накапливать сумму }
      Y; real;    { Для хранения очередного слагаемого }
      i: integer;    { Счетчик числа шагов }
begin
  write('Введите X и Epsilon:');
  readln(X, Eps);
  Y:=l;    { Первое слагаемое }
  S:=Y;     { Положим в сумматор первое слагаемое }
  i:=0;    { Обнулим счетчик шагов }
  while abs(Y)>=Eps do   { Пока добавленное слагаемое не меньше "эпсилон", считаем сумму. Если "эпсилон" сразу не меньше 1, цикл не выполнится ни разу! }
    begin     { Началось тело цикла }
      i:=i+l;    { Вычислили номер текущего шага }
      Y:=Y*X/i;    { Посчитали новое слагаемое }
      S:=S+Y    { Увеличили сумму на текущее слагаемое }
    end;    { Тело цикла завершилось. После этой строки компьютер перейдет на оператор while для сравнения переменной "эпсилон" с только что добавленным слагаемым }
{ Теперь выведем результат на экран }
  Writeln('Сумма чисел=', S:6:4);
  readln
end.

Leave a Comment

89 − 88 =