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