Правильно подсчитывается сумма ряда и число итераций при точностях ? - Turbo Pascal

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

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

Правильно ли будет считаться сумма ряда и число итераций , при точностях 0.01, 0,001 и точного значения суммы ряда 1/18 ?
Листинг программы
  1. uses
  2. SysUtils;
  3. const e1=0.01; e2=0.001;
  4. var delta, acry,sum:real;
  5. k:integer;
  6. begin
  7. k:=1;
  8. sum:=0;
  9. acry:=1/18;
  10. writeln('for e1=0.01 and ' ,acry:4:3);
  11. repeat
  12. sum:=sum+1/(k*(k+1)*(k+2)*(k+3));
  13. delta:=acry-sum;
  14. k:=k+1;
  15. until(delta <= e1);
  16. writeln('sum: ', sum:4:3);
  17. writeln('number of iteration ' ,k);
  18. writeln('for e1=0.001 and ' ,acry:5:4);
  19. repeat
  20. sum:=sum+1/(k*(k+1)*(k+2)*(k+3));
  21. delta:=acry-sum;
  22. k:=k+1;
  23. until(delta <= e1);
  24. writeln('sum: ', sum:5:4);
  25. writeln('number of iteration ' ,k);
  26. readLn;
  27. end.
Сам ряд

Решение задачи: «Правильно подсчитывается сумма ряда и число итераций при точностях ?»

textual
Листинг программы
  1. const e1=0.01; e2=0.001; e3=0.0000001;
  2. var delta, acry,sum:real;
  3.     k:integer;
  4. begin
  5. writeln(' ');
  6. writeln('for e1=0.01');
  7. k:=1;
  8. delta:=1/24;
  9. sum:=delta;
  10. repeat
  11. k:=k+1;
  12. delta:=1/(k*(k+1)*(k+2)*(k+3));
  13. sum:=sum+delta;
  14. until(delta<=e1);
  15. writeln('sum=',sum:0:4);
  16. writeln('number of iteration=',k);
  17. writeln;
  18. writeln('for e2=0.001');
  19. k:=1;
  20. delta:=1/24;
  21. sum:=delta;
  22. repeat
  23. k:=k+1;
  24. delta:=1/(k*(k+1)*(k+2)*(k+3));
  25. sum:=sum+delta;
  26. until(delta<=e2);
  27. writeln('sum=',sum:0:4);
  28. writeln('number of iteration=',k);
  29. writeln;
  30. writeln('for e2=0.0000001');
  31. k:=1;
  32. delta:=1/24;
  33. sum:=delta;
  34. repeat
  35. k:=k+1;
  36. delta:=1/(k*(k+1)*(k+2)*(k+3));
  37. sum:=sum+delta;
  38. until(delta<=e3);
  39. writeln('sum=',sum:0:4);
  40. writeln('number of iteration=',k);
  41. writeln('1/18=',1/18:0:4);
  42. readln
  43. end.

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

В данном коде на Turbo Pascal выполняется подсчет суммы ряда чисел с точностью до трех знаков после запятой. Код состоит из трех блоков, каждый из которых предназначен для работы с разными точностями.

  1. В первой части кода задаются начальные значения переменных: e1, e2, e3, k, delta, acry, sum. Здесь же происходит инициализация переменной k.
  2. Во второй части кода происходит повторное вычисление переменной delta для каждого значения k, начиная с 1 и до тех пор, пока значение delta не станет меньше или равно значению e1. При этом значение sum увеличивается на каждое новое значение delta.
  3. В третьей части кода аналогичным образом происходит вычисление и сравнение для точности e2.
  4. В последней части кода вычисляется значение 1/18 и выводится на экран. В данном коде используются следующие переменные:
    • e1, e2, e3: константы, определяющие точность вычислений;
    • k: переменная, инициализируется значением 1 и увеличивается на единицу на каждой итерации;
    • delta: переменная, в которой вычисляется новое значение для каждого значения k;
    • acry: переменная, в которой накапливается сумма всех значений delta;
    • sum: переменная, в которой накапливается окончательная сумма ряда чисел.

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


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

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

14   голосов , оценка 4.071 из 5

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

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

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