Вычислить сумму бесконечного ряда с точностью е - Free Pascal (207)

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

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

Листинг программы
  1. program test;
  2. var u, s :real;
  3. z, n :integer;
  4. fac :longint;
  5. i :byte;
  6. const e=1e-3; x=0.25;
  7. begin
  8. fac:=1;
  9. s:=0;
  10. n:=0;
  11. u:=(exp(ln(ln(3))*n)/fac)*exp(ln(x)*n);
  12. while abs(u)>e do
  13. begin
  14. for i:=2 to n do
  15. fac:=fac*i;
  16. s:=s+u;
  17. n:=n+1;
  18. u:=u+(exp(ln(ln(3))*n)/fac)*exp(ln(x)*n);
  19. end;
  20. writeln('s=', s:17:2);
  21. end.
Выдает экситкод 215. Где ошибка? Что делать?

Решение задачи: «Вычислить сумму бесконечного ряда с точностью е»

textual
Листинг программы
  1. n:=0;
  2. u:=1;//значение нулевого члена ряда
  3. s:=u;
  4. while abs(u)>e do
  5.  begin
  6.   n:=n+1;//увеличим номер
  7.   u:=u*ln(3)*x/n;//домножим на ln(3)*x поделим на n получим ln^n(3)*x^n/n!
  8.   s:=s+u;
  9.  end;

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

  1. Инициализируем переменные: n := 0; u := 1; // значение нулевого члена ряда s := u;
  2. Запускаем цикл, который будет выполняться до тех пор, пока абсолютное значение u не станет меньше заданной точности e: while abs(u) > e do
  3. Увеличиваем номер n на единицу: n := n + 1;
  4. Вычисляем новое значение u, используя формулу: u := u ln(3) x / n;
  5. Добавляем новое значение u к сумме s: s := s + u;
  6. Повторяем шаги 3-5 до тех пор, пока условие цикла не будет выполнено. В результате выполнения данного кода будет получена сумма бесконечного ряда с заданной точностью e.

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


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

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

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы