Найти сумму ряда с заданной точностью - Pascal (81237)

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

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

n и Е (Е=10-6)

Решение задачи: «Найти сумму ряда с заданной точностью»

textual
Листинг программы
const e = 1e-6;
 
var k: integer;
    x, a, s: double;
 
begin
  repeat
    write('|x| < 3;  x = ');
    readln(x)
  until abs(x) < 3;
  a := -2 * x / 3;
  s := a;
  k := 1;
  while abs(a) > e do
    begin
      inc(k);
      a := -x * a * (k + 1) / 3 / k;
      s := s + a
    end;
  write('S = ', s:0:6, ', n = ', k, ', eps = ', e:0:6);
  readln
end.

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

  1. В начале кода объявлены необходимые переменные: k - целое число, x и a - числа с плавающей точкой, s - число с плавающей точкой.
  2. Затем идет цикл repeat-until, который выполняется до тех пор, пока абсолютное значение переменной x не станет меньше 3. Внутри цикла выводится сообщение |x| < 3; x = , где x - это значение, введенное пользователем.
  3. После этого переменная a вычисляется как -2/3*x, а переменная s вычисляется как a.
  4. Затем переменная k инициализируется значением 1.
  5. Далее идет цикл while, который выполняется до тех пор, пока абсолютное значение переменной a больше заданной точности e. Внутри цикла значение переменной a увеличивается на 1, затем вычисляется как -xa(k+1)/3/k, и добавляется к переменной s.
  6. По завершении цикла выводится сообщение S = , где s - это значение переменной s, n - это значение переменной k, eps - это значение переменной e.
  7. Конец программы.

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

11   голосов , оценка 4 из 5
Похожие ответы