Вычислить сумму и найти число слагаемых, которые вошли в эту сумму - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Вычислить сумму и найти число слагаемых, которые вошли в эту сумму. Процессы вычисление требуется остановить, когда слагаемое по модулю окажется меньше E(это слагаемое при вычислении суммы не учитывается) ∞ ∑((-1)^n) * ((n+1)x^n)/(3^n) (n=0)

Решение задачи: «Вычислить сумму и найти число слагаемых, которые вошли в эту сумму»

textual
Листинг программы
var
  s, e, x, eps: Real;
  n: Longint;
begin
  Write('Введите eps и x: '); ReadLn(eps,x);
  if abs(x)>=3 then begin
    WriteLn('Ряд не сходится.'); Exit;
  end;
  n:=0; s:=0; x:=x/3; e:=1; { (-1)^0 * (0+1) * x^0 / 3^0 }
  while abs((n+1)*e)>=eps do begin
    s:=s+(n+1)*e;
    e:=-e*x; Inc(n); Write(n,#13);
  end;
  WriteLn('s=',s,', n=',n,', e=',(n+1)*e);
end.

Объяснение кода листинга программы

  1. Переменные s, e, x, eps инициализируются типом Real.
  2. Вводится значение eps и x с помощью функции ReadLn.
  3. Проверяется условие abs(x)>=3, и если оно истинно, то выводится сообщение Ряд не сходится. и программа завершается.
  4. Инициализируются переменные n, s, x, e значением 0 и 0 соответственно.
  5. Значение x делится на 3 и присваивается переменной x.
  6. Значение e присваивается значению -1, умноженному на (0+1), умноженному на x в степени 0, деленному на 3 в степени 0.
  7. Запускается цикл while, который выполняется до тех пор, пока abs((n+1)*e) не станет меньше или равным eps.
  8. Внутри цикла значение s увеличивается на (n+1)*e.
  9. Значение e умножается на -x, и переменная n увеличивается на 1.
  10. Значение n выводится на экран с помощью функции Write, а символ #13 используется для перехода на новую строку.
  11. По завершении цикла выводится значение s, n и (n+1)*e.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы