Посчитать сумму всех элементов, до тех пор, пока последний член суммы будет равен заданному - Free Pascal

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

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

Добрый вечер, прошу знатоков проверить код. Есть последовательность: x=1+(1/1)*(/1*4)+(1*3/1*2)*(1/4^2)+(1*3*5/1*2*3)*(1/4^3)+...; Задача, в том чтобы просто посчитать сумму всех элементов, до тех пор, пока последний член суммы будет <=10e-12; Как устроен алгоритм, в числителе происходит умножение на нечетное число, в начале 1,потом 3, 5 и т.д. В знаменатели происходит умножение предыдущего результата на величину большую предыдущей на 1, было 1,потом умножаем на 2, потом на 3, на 4 и т.д. и на 4 в определенной степени, значит предыдущей результат еще умножаем на 4 каждый раз. Правильно ли алгоритм реализован? Вот сам код:
Листинг программы
  1. program workwrec;
  2. uses
  3. crt;
  4. var
  5. tmp,numerator,denominator,sum:double;
  6. oddnum,count:cardinal;
  7.  
  8. begin
  9. clrscr;
  10. sum:=1;//т.к. к первому члену прибавляем 1
  11. tmp:=1;
  12. numerator:=1;//числитель
  13. denominator:=1;//знаменатель
  14. count:=1;
  15. oddnum:=1;
  16. while tmp>=10e-12 do
  17. begin
  18. numerator:=numerator*oddnum;
  19. denominator:=denominator*count*4;
  20. tmp:=numerator/denominator;
  21. sum:=tmp+sum;
  22. oddnum:=oddnum+2;
  23. inc(count);
  24. end;
  25. end.

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

textual
Листинг программы
  1. writeln('Сумма=',sum:0:12);
  2. weite('sqrt(2)=',sqrt(2):0;12);

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

  1. В начале программы на экран выводится строка Сумма= с помощью функции writeln
  2. Затем вычисляется сумма элементов, начиная с 0 и заканчивая 12, с помощью функции sum
  3. Далее на экран выводится строка sqrt(2)=, а затем вычисляется квадратный корень из числа 2 с помощью функции sqrt
  4. Результат вычисления квадратного корня числа 2 округляется до 12 знаков после запятой с помощью функции round
  5. Затем на экран выводится результат вычисления квадратного корня числа 2 с помощью функции weite

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


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

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

6   голосов , оценка 3.5 из 5

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

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

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