Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания.pdf
Скачиваний:
81
Добавлен:
13.02.2015
Размер:
1.2 Mб
Скачать

7. ЛАБОРАТОРНАЯ РАБОТА №5 «РЯДЫ И ПОСЛЕДОВАТЕЛЬНОСТИ»

Цель работы: Сформировать навыки по вычислению суммы n членов бесконечных рядов и использованию элементов приближенных вычислений средствами изучаемого языка программирования

13.1 Примеры решения задач

Вычисление суммы n-первых членов ряда

Пример 7.1 Дано целое число n=5. Вычислить значение суммы членов

бесконечного ряда S =1

1

 

+

1

 

−K+(1)

k+1

1

 

, где k=1..n.

2!

3!

 

k!

 

 

 

 

 

 

Таблица 7.1 Система тестов

Таблица 7.2 Исполнение алгоритма

k

Член ряда

Сумма

1

1.000000

1.000000

2

-0.500000

0.500000

3

0.166667

0.666667

4

-0.041667

0.625000

5

0.008333

0.633333

Листинг 7.1

шаг

k

u

s

0

1

1

0

1

2

1.000000

1.000000

2

3

0.500000

0.500000

3

4

0.166667

0.666667

4

5

0.041667

0.625000

5

6

0.008333

0.633333

var

s,u:real; n,k,a,i:byte; f:longint; begin

//Задание начальных значений суммы, члена ряда и k s:=0; u:=1; n:=5;

for k:=1 to n do begin

//Определение знака члена бесконечного ряда if odd(k) then a:=1 else a:=-1;

//Вычисление факториала следующие 2 строки f:=1;

for i:=1 to k do f:=f*i;

u:=1/f;

//Вычисление

члена бесконечного ряда

s:=s+a*u;

//Накопление

суммы

end;

//Вывод суммы

writeln(s);

end.

В данном примере выбор знака “+” или “-” происходит при помощи проверки на четность функцией Odd.

Существуют и другие варианты реализации смены знака. Например:

66

Листинг 7.2

for k:=1 to n do begin

f:=1;

for i:=1 to k do f:=f*i; u:=1/f;

s:=s+u*(2*(i mod 2)-1); //Накопление суммы end;

при нечетном i выражение 2*(i mod 2)-1 =2*1-1=1, при четном i выражение 2*(i mod 2)-1 =2*0-1= -1

Если есть желание поменять знак в зависимости от четности тогда:

2*((i+1) mod 2)

при нечетном i выражение 2*((i+1) mod 2)-1 =2*0-1=-1, при четном i выражение 2*((i+1) mod 2)-1 =2*1-1= 1.

Данный бесконечный ряд изменяется по определенному закону, поэтому для упрощения программирования, находим коэффициент, при домножении на который k-ый элемент становится k+1-вым. Находим отношение k-го элемента

к (k-1):

 

(1)k

1

 

 

 

 

 

1

 

 

k!

 

= −

 

, тогда:

 

 

 

 

 

 

 

 

 

 

 

(1)k1

 

1

 

 

 

 

k

 

(k 1)!

 

 

Листинг 7.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

u:=1;

n:=5;

 

 

s:=0;

 

 

 

for k:=2 to n do

 

 

begin

 

 

 

 

//Накопление суммы

 

s:=s+u;

 

 

 

 

 

u:=u*(-1/k);

//Вычисление следующего члена ряда

 

end;

 

 

 

 

 

 

 

 

 

writeln(s); //Вывод суммы end.

Вычисление суммы n-первых членов последовательности, удовлетворяющих условию

Для большинства задач связанных с приближенными вычислениями важно определить условие, по достижении которого решение считается найденным. Обычно рассматривается два варианта:

n-ый член ряда стал по модулю меньше точности

67

разница между текущим членом ряда и предыдущим стала по модулю меньше точности Так как практически все ряды являются убывающими, то точность в ре-

альных вычислениях принимается достаточно малой, так например, в Mathcad допуск сходимости TOL=10-3.

Пример 7.2 Вычислить значение суммы членов бесконечного ряда

S =1 21! + 31! −K+(1)k +1 k1! , где k=1..n, с заданной точностью E=0.001,

т.е. вычисление суммы прекратить, когда k-тый член ряда станет по модулю меньше точности.

Таблица 7.3 Система тестов

Таблица 7.4 Исполнение алгоритма

k

Член ряда

Сумма

1

1.000000

1.000000

2

-0.500000

0.500000

3

0.166667

0.666667

4

-0.041667

0.625000

5

0.008333

0.633333

6

-0.001389

0.631944

7

0.000198

0.632143

шаг

k

u

s

0

1

1

0

1

2

0.500000

1.000000

2

3

0.166667

0.500000

3

4

0.041667

0.666667

4

5

0.008333

0.625000

5

6

0.001389

0.633333

6

7

0.000198

0.631944

Листинг 7.4

 

 

var

n,k,a,i:byte; f:longint;

s,u, e:real;

begin

k:=1;

e:=0.001;

s:=0; u:=1;

while abs(u)>e do

 

begin

 

//Накопление суммы

s:=s+u;

 

inc(k);

 

//Вычисление следующего члена ряда

u:=u*(-1/k);

end;

writeln(s); //Вывод суммы end.

Нахождение наименьшего номера члена последовательности, для которого выполняется некоторое условие

Пример 7.3 Найти наименьший номер члена последовательности A

68

1+ 21! + 31! +K+ n1!, для которого выполняется условие |A n — A n-1| < E.

Вывести на экран этот номер и все элементы аi, где i= 1, 2,..., n. E=0.01

Таблица 7.5 Система тестов Таблица 7.6 Исполнение алгоритма при e=0.01

Член ряда

Разность

a1=1.000000

 

a2=0.500000

0.500000

a3=0.166667

0.333333

a4=0.041667

0.125000

a5=0.008333

0.033333

a6=0.001389

0.006944

шаг

i

at

ap

Abs(at-ap)

0

1

1.000000

 

 

1

2

0.500000

1.000000

0.500000

2

3

0.166667

0.500000

0.333333

3

4

0.041667

0.166667

0.125000

4

5

0.008333

0.041667

0.033333

5

6

0.001389

0.008333

0.006944

Таким образом, при е=0.01 ответ 6, т.к. |A6 - A5| = 0.006944 < e = 0.01

Листинг 7.5 var

at, ap, e :real; k,i,f:integer; begin

e:=0.01; at:=1; i:=1; while true do

begin

writeln('a',i,'=',at:0:6);//вывод в формате a2=0.500000

i:=i+1;

 

f:=1;

f:=f*k;

for k:=1 to i do

ap:=at;

//Запоминаем (n-1)-й член в ap

at:=1/f;

//Вычисляем n-й член

if abs(at-ap)<e then //вычисляем разность |A n — A n-1| begin

writeln('a',i,'=',at:0:6);

//вывод в формате |a6-a5|=0.006944 writeln('|a',i,'-a',i-1, '|=',abs(at-ap):0:6); writeln('n=',i);

break;

end;

end;

end.

13.2 Задания к лабораторной работе №5

Задание 5.1 Ряды

1.Дано натуральное число N. Вычислить

S =1

1

+

1

1

+... + (1)n

1

2

4

8

2n

 

 

 

 

2.Дано натуральное число N. Вычислить:

69

S =

1

 

+

1

+... +

1

sin1

sin1+sin 2

sin1+sin 2 +... +sin N

 

 

 

3.Дано число N. Вычислить произведение первых Y сомножителей

P = 23 54 76 ... 2N2N+1

4.Дано натуральное число N. Вычислить

cos1

 

cos1

+ cos 2

...

cos1 + cos 2 +...cos N

sin1

 

 

sin1

+ sin 2

 

sin1 + sin 2 +... + sin N

5.Дано действительное число Х. Вычислить

x

x3

+

x5

x7

+

x9

x11

+

x13

.

3!

5!

7!

9!

11!

13!

 

 

 

 

 

 

 

6.Даны натуральное число N и действительное число Х. Вычислить

S = sin x +sin sin x +... +sin sin ...sin x

14243

nраз

7.Даны действительное число А и натуральное число N. Вычислить

P = a(a +1)...(a + n 1)

8.Даны действительное число А и натуральное число N. Вычислить

P = a(a n)(a 2 n)...(a n2 )

9.Даны действительное число А и натуральное число N. Вычислить

S =

1

+

1

+

1

+... +

1

a

a2

a4

a2 n2

 

 

 

 

10. Дано действительное число X. Вычислить

(x 1)(x 3)(x 7)...(x 63)

(x 2)(x 4)(x 8)...(x 64)

11.Вычислить (1 + sin 0,1)(1 + sin 0,2)...(1 + sin10)

12.Даны натуральное число N и действительное число Х. Вычислить sin x +sin x2 +... +sin xn

13.Дано натуральное число N. Вычислить

S =1 2 + 2 3 4 +... + n(n +1)...2n

14.Дано натуральное число N. Вычислить

P = 1 212 1 312 ... n n12 , где N > 2

15.Дано натуральное число n. Вычислить

 

 

1

 

1

 

1

 

 

1

P = 1

 

1

 

1

 

... 1

 

.

2

4

6

 

 

 

 

 

 

 

 

 

 

2n

16. Дано натуральное число n. Вычислить

S =1!+2!+3!+...n! (n >1)

70

17.Дано натуральное число n. Вычислить

S =

1

+

1

+

1

+... +

1

 

 

72

(2n +1)2

32

52

 

 

18.Для данного действительного числа х вычислить по схеме Горнера y = x10 + 2x9 + 3x8 +... +10x +11.

19.Числа Фибоначчи (Fn) определяются формулами

f0 = f1 =1 f n = fn1 + fn2 при n =2,3,...

Определить f40.

20.Дано натуральное число n. Вычислить у = 1 3 5...(2n -1).

21.Дано натуральное число n. Вычислить у = 2 4 6... (2n).

22.Вычислить у = cos х + cos х2 + cos х3 +... + cos хn.

23.Вычислить у = sin 1 + sin 1,1 + sin 1,2 +... + sin 2.

24.Даны натуральные числа N и K. Вычислить

k + 2k +... + k(n 1) + kn

25. Дано натуральное число N. Вычислить

12 + 32 + 43 +... + n n+1

26.Дано целое число n. Вычислить значение выражения

b = (1 +

1

+

1

+

1

+ ... +

1

)

n

.

2

2

2

2

3

2 n

 

 

 

 

 

 

 

 

27.Дано натуральное число N. Вычислить

S = 2 + 2 4 +... + n(n + 2)...2n , где n – четное число

28. Даны натуральное число N и действительное число Х. Вычислить sin x + sin2x2 + ... + sinnxn

29.Дано целое число m. Вычислить значение выражения

(9 +(9 +... +(9 +91/ 2 )1/ 3...)1/ m1 )1/ m .

30.Даны целые числа n и m (n >= m > 0). Вычислить число размеще-

ний из n по m по формуле Amn = n(n 1)K(n m +1) .

Задание 5.2 Вычисление последовательностей

Для всех задач:

-значение E выбирается студентом в зависимости от конкретной задачи и согласовывается с преподавателем, обычно это число принимается равным 0.001;

-массивы при решении не использовать.

Даны числовой ряд и некоторое число E. Найти сумму тех членов ряда,

71

модуль которых больше или равен заданному E. Общий член ряда имеет вид в соответствии с вашим вариантом, где n =1,2K∞.

1. an = (

1)

n

1

 

 

 

 

2. an

=

 

1

+

1

 

 

3. an

=

2 n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

n

3

n

 

 

 

2

n

 

 

 

 

 

 

 

nn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. an =

 

 

 

 

 

 

 

 

 

1

 

 

5. an

=

10n

 

 

 

 

 

 

6. an

=

 

n!

 

 

 

(3

n 2) (3 n +1)

 

 

 

 

 

 

(2 n)!

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. an =

n!

 

 

 

 

 

 

 

 

8. a

 

=

2n n!

 

 

 

 

 

9. a

 

=

3n n!

 

 

 

nn

 

 

 

 

 

 

n

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2 n)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nn

 

 

 

 

 

 

 

 

 

 

 

10. an =

 

n!

 

 

 

 

 

 

11. an =

 

 

n!

 

 

 

 

 

 

12. a

 

=

2n

 

 

 

 

nn

 

 

 

(2n )!

 

 

 

n

 

 

 

 

 

 

 

 

 

(n 1)!

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13. an = (1)n1

(

x

)n1

14. an

=

 

(1)

n

15. an = (1)n

x

2n

(n +1)(n + 2)

 

 

 

 

 

 

 

(n +1)!

(2n)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти наименьший номер члена последовательности A, для которого выполняется условие |A n — A n-1| < E. Вывести на экран этот номер и все элемен-

ты Ai где i= 1, 2,..., n.

16. an = arctg an1 +1, a1 = 0

 

17. an

=

2 +

 

1

 

 

 

, a1 = 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18. a

n

=

 

 

1

tg a

n1

, a = 0,5

 

19. a

n

=

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

1

 

 

 

 

(2 n)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20. an

=

 

 

1

cos an1 , a1 = 0,5

 

21. an

=

 

2 + an21

,

a1 = 2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 ant

 

 

 

 

22. an

=

 

 

an1 + an2

, a1 =1, a2

= 2.

23. an

=

 

nln n

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ln n)n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24. a

n

= ean 1 , a

= 0

 

25. an

=

 

 

x

,

 

a1 = x

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 an21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти наименьший номер элемента последовательности, для которого выполняется условие М. Вывести на экран этот номер и все элементы аi ,

где i=1, 2,.., n.

 

 

 

1

 

 

 

2

 

 

 

 

 

 

2

 

 

 

 

 

 

27. an =

(1)n n

,

M :

 

an

 

< ε

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26. an =

 

 

an1

+

 

, a1

=

1, M :

an

2

 

 

<ε

 

 

2n

 

 

 

 

 

 

 

 

 

2

 

 

 

an1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

28. a

n

=

(1)n 2n

, M :

 

a

n

 

 

< ε

 

 

 

 

 

 

29. an =

 

, M : an <ε

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n +1)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30. (1)n1(

 

 

 

 

 

 

)2(n1) , M :

 

a

 

<ε

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n +1)(n + 2)(n +

3)

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72