Посчитать сумму всех элементов, до тех пор, пока последний член суммы будет равен заданному - 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 каждый раз. Правильно ли алгоритм реализован? Вот сам код:
program workwrec;
uses
  crt;
var
  tmp,numerator,denominator,sum:double;
  oddnum,count:cardinal;

begin
  clrscr;
  sum:=1;//т.к. к первому члену прибавляем 1
  tmp:=1;
  numerator:=1;//числитель
  denominator:=1;//знаменатель
  count:=1;
  oddnum:=1;
  while tmp>=10e-12 do
    begin
      numerator:=numerator*oddnum;
      denominator:=denominator*count*4;
      tmp:=numerator/denominator;
      sum:=tmp+sum;
      oddnum:=oddnum+2;
      inc(count);
    end;
 
end.

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

textual
Листинг программы
writeln('Сумма=',sum:0:12);
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
Похожие ответы