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