| 
           
 Задача 25. 
Приближенное вычисление суммы бесконечно убывающего ряда  1+x/1!+x2/2!+x3/3!+ ... 
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. 
	
  
       |