Вычислить сумму и найти число слагаемых, которые вошли в эту сумму - 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.
Объяснение кода листинга программы
- Переменные s, e, x, eps инициализируются типом Real.
- Вводится значение eps и x с помощью функции ReadLn.
- Проверяется условие abs(x)>=3, и если оно истинно, то выводится сообщение
Ряд не сходится.
и программа завершается. - Инициализируются переменные n, s, x, e значением 0 и 0 соответственно.
- Значение x делится на 3 и присваивается переменной x.
- Значение e присваивается значению -1, умноженному на (0+1), умноженному на x в степени 0, деленному на 3 в степени 0.
- Запускается цикл while, который выполняется до тех пор, пока abs((n+1)*e) не станет меньше или равным eps.
- Внутри цикла значение s увеличивается на (n+1)*e.
- Значение e умножается на -x, и переменная n увеличивается на 1.
- Значение n выводится на экран с помощью функции Write, а символ #13 используется для перехода на новую строку.
- По завершении цикла выводится значение s, n и (n+1)*e.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д