Вычислить сумму ряда - Turbo Pascal (29122)

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

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

НЕ пойму как это сделать. Составить программу для вычисления суммы членов бесконечного ряда с точностью до члена ряда, меньшего ε=0,001 при заданных значениях Х. (В 2 вариантах:С помощью оператора цикла Пока и До) При Х изменяющемся от –1 до -2 с шагом -0,2

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

textual
Листинг программы
const eps = 0.001;
      xn = -1;
      xk = -2;
      h = -0.2;
var x, a, s: real;
    i, n: integer;
begin
  writeln('+------+--------+');
  writeln('|   x  |  sh(x) |');
  writeln('+------+--------+');
  for i := 0 to round(abs((xn - xk) / h)) do
    begin
      x := xn + h * i;
      a := x;
      s := 0;
      n := 1;
      write('| ', x:4:1, ' | ');
      x := x * x;
      while abs(a) >= eps do
        begin
          s := s + a;
          a := a * x / 4 / n / (n + 0.5);
          inc(n)
        end;
      writeln(s:6:3, ' |')
    end;
  write('+------+--------+');
  readln
end.

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

  1. В начале кода объявляются необходимые переменные: eps (константа с очень маленьким значением для точности вычислений), xn (начальное значение переменной x), xk (значение x на предыдущей итерации), h (шаг изменения x), x (переменная для хранения значения x), a (переменная для хранения суммы a и b), s (переменная для хранения суммы a и b), i (переменная для хранения номера текущей итерации), n (переменная для хранения количества итераций).
  2. Затем идет строка с выводом заголовка таблицы, где будут отображаться значения.
  3. Далее идет цикл for, который выполняется столько раз, сколько нужно для приближенного вычисления значения функции sh(x). В каждой итерации цикла значение x увеличивается на h, а переменные a и s инициализируются нулем. Переменная n увеличивается на 1 после каждой итерации.
  4. Внутри цикла выполняется проверка, пока значение a не станет достаточно малым (не больше eps). Если это условие выполняется, то переменная s увеличивается на a, а a делится на x в четвертой степени, на 4, и на n в сумме с 0.5 (для получения более точного результата). После этого значение n увеличивается на 1.
  5. После окончания внутреннего цикла выполняется вывод значения s.
  6. В конце кода происходит вывод заголовка таблицы и вызов функции readln для чтения ввода.

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

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