Приближенное вычисление значения суммы сходящегося ряда Задача Найти приближенное значение суммы сходящегося ряда y a n 0 n n , общий член которого имеет вид an x / n! . Суммирование прекратить, как только очередное слагаемое станет по абсолютной величине меньше eps (0< eps< 1). x x2 x3 y 1 ... 1! 2! 3! Входные данные: x – значение, при котором вычисляется y, eps – константа для оценки величины члена ряда Выходные данные: y – приближённое значение суммы ряда. Промежуточные переменные: an – очередной член ряда, n – целочисленная переменная обозначает номер очередного члена ряда. Метод решения Вычисление суммы y a n 0 n сходящегося ряда осуществляется на основе рекуррентного соотношения: yn yn1 an , y 0 a0 Для получения n 1,2,... рекуррентной зависимости, используемой при вычислении очередного члена ряда, находят отношение следующего члена ряда к предыдущему: an x n (n 1)! x 1 2 ...(n 1) x , a n 1 1 2 ... n n n!x n 1 откуда a n an 1 x / n , n=1,2,… , a 0 =1, n=0. Описание алгоритма В цикле на каждой итерации – проверяется абсолютная величина очередного члена суммы ряда: |an| > eps, – если условие выполняется, то слагаемое прибавляется к сумме, определяется значение следующего члена ряда, и вычисления продолжаются, – если условие |an| > eps не выполняется, то завершается подсчёт суммы. Текст программы program Row1; var x, y, an, eps :real; n:integer; begin writeln('введите x и eps'); readln(x,eps); y:=0; n:=0; an:=1; while abs(an)>eps do begin y:=y+an; n:=n+1; an:=an*x/n end; writeln('сумма=', y:12:7) end. При нахождении суммы ряда следует использовать рекуррентную формулу для нахождения следующего члена ряда (если рекуррентная зависимость существует). Например, при вычислении суммы s=1+1/2 2 +1/3 3 +… an=1/i 2 отношение следующего члена ряда к предыдущему имеет вид: 1 2 an i ; 1 an _ 1 (i 1) 2 (i 1) 2 an (i 1) 2 ; an=an_1 , n=2, 3, … an _ 1 i2 i2 a1=1; Но в этом примере проще an вычислять, не пользуясь выведенной зависимостью , а по формуле an=1/i 2 Задания Найти приближенное значение функции y=f(x), используя ее разложение в ряд. Суммирование прекратить, как только модуль очередного слагаемого станет меньше eps, (0 < eps << 1). Проверить полученный результат, используя соответствующую стандартную функцию. e x ex x3 x5 x7 x ... 1) y shx 2 3! 5! 7! e x ex x2 x4 x6 1 ... 2) y chx 2 2! 4! 6! x2 x3 x4 ... 3) y ln( 1 x) x 2 3 4 для 1 x 1 4 ) y ln x ( x 1) ( x 1) 2 ( x 1) 3 ( x 1) 4 ... 2 3 4 для 0 x 2 x 1 ( x 1) 3 ( x 1) 5 ... 5) y ln x 2 3 5 5 ( x 1) x 1 3 ( x 1) 1 1 x x3 x5 x7 x ... 6) y arthx ln 2 1 x 3 5 7 7) y arthx 1 x 1 1 1 1 1 ln ... 2 x 1 x 3x 3 5 x 5 7 x 7 x3 x5 x7 ... 8) y arctgx x 3 5 7 9) y arctgx 2 10) y arctgx 2 1 1 1 1 ... x 3 x 3 5 x5 7 x 7 1 1 1 1 ... x 3 x3 5 x5 7 x 7 для x 0 для x 1 для x 1 для x 1 для x 1 для x 1 2 3 x 2 x2 2 4 x2 2 4 6 x2 y arctgx 1 ... 11) 1 x 2 3 1 x 2 3 5 1 x 2 3 5 7 1 x 2 y arcsin x arctg ( 12) x 1 x2 ) x 1 x3 1 3 x5 1 3 5 x7 ... 2 3 24 5 246 7 для x 1 1 x3 1 3 x5 1 3 5 x7 y arsh x ln( x 1 x ) x ... 2 3 2 4 5 2 4 6 7 13) для x 1 2 y arsh x ln( x 1 x 2 ) ln( 2 x) 14) 15) 1 1 3 1 3 5 ... 2 4 2 2x 2 4 4x 2 4 6 6x6 для x 1 y arsh x ln( x 1 x 2 ) ln 2 x 1 1 3 1 3 5 ... 2 4 2 2x 2 4 4x 2 4 6 6x6 для x 1 1 1 1 1 1 3 1 3 5 y arcsch x ln 1 2 ... 3 5 7 x x x 2 3 x 2 4 5 x 2 4 6 7 x 16) для x 1 1 1 2 1 x 2 1 3 x 4 1 3 5 x 6 y arcsch x ln 1 2 ln ... x 22 244 2466 x 17) x для 0 x 1 1 1 2 1 x 2 1 3 x 4 1 3 5 x 6 y arcsch x ln 1 2 ln ... x x 2 2 2 4 4 2 4 6 6 x 18) для 1 x 0 m 19) y (1 x) 1 m x m (m 1) 2 m (m 1) (m 2) 3 m (m 1) (m 2) (m 3) 4 x x x ... 2! 3! 4! для натурального m m 20) y (1 x) 1 m x m (m 1) 2 m (m 1) (m 2) 3 m (m 1) (m 2) (m 3) 4 x x x ... 2! 3! 4! для любого действительного m и | x |<1