birmaga.ru
добавить свой файл

1
Вычисление суммы членов бесконечного ряда.


Вычислить на ЭВМ значение суммы членов ряда (таблица 3) с заданной точностью ε. На печать вывести значение суммы и число членов ряда, вошедших в сумму. Сравните полученное на ЭВМ значение суммы ряда со значением, вычисленном вручную (в таблице).

Таблица 3


Вариант

Сумма членов ряда

Значение x

Точность вычисления

1



0,20

10-5

2



0,10


0,5·10-4

3



0,15

10-3

4



0,12

10-4

5



0,70

10-4

6





10-4

7



1,5

0,5·10-3

8






0,5·10-4

9



1,7

10-3

10






0,5·10-4

11



0,75

0,5·10-3

12



0,62

10-4

13



0,20

10-4

14


0,30

10-5

15



0,25

10-4

Пример. Вычислить значение суммы членов бесконечного ряда с точностью до члена ряда, меньшего ε=10-4 для x=0,1. Определить число членов ряда, вошедших в сумму.

Так как здесь присутствуют факториалы, то для простоты вычисления выразим n-ый член ряда через (n-1)-ый: , a1=x, n=2,3,4,…

Значение первого члена ряда вычислим до цикла с помощью оператора присваивания a=x, а значения всех последующих членов ряда – по формуле .
Блолк-схема

В блоке 3 подготовки цикла задано значение первого члена ряда, начальное значение суммы, равное этому члену, и номер члена ряда, равный 1 (просуммирован один член ряда). Блоки 4 и 5 выполняют расчет текущего номера члена ряда и значения этого члена с использованием рекуррентных соотношений. Блок 6 реализует функцию накопления суммы. Блок 7 выполняет проверку условия окончания цикла.
Программа на языке Бейсик

10 Input “введите значения x, eps”;x,eps

20 a=x: s=x: n=1

30 if abs(x)
40 a=-a*x*x/((2*n-2)*(2*n-1)): n=n+1: s=s+a: goto 30

50 print “сумма ряда=”;s

60 Print “число членов ряда=”;n

Программа на языке Паскаль

Program sum;

Var x, eps, a, s: real; n: integer;

begin

writeln (‘введите x, eps’); readln(x,eps);

a:=x; s:=0; n:=1;

while abs(a)>=eps do

begin

s:=s+a;

n:=n+1;

a:= =-a*x*x/((2*n-2)*(2*n-1));

end;

writeln(‘сумма=’,s:8:4);

writeln(‘число членов ряда=’,n:4);

end.