Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ВЫЧИСЛЕНИЕ СУММ ПРОСТЕЙШИХ ЧИСЛОВЫХ РЯДОВ




Примеры составления программ

Пример 10.1. Составим программу вычисления значения числового ряда, определяющего значение основания натурального логарифма e, равного примерно 2,718282:

1 + 1/1! +1/2! + 1/3! + …+ 1/n! ≈ e.

Накопление суммы ряда будем производить по рекуррентной формуле

где - текущий член ряда определяется выражением

.

Для того чтобы не вводить дополнительного цикла вычисления факториала , с целью сокращения объема вычислений следует использовать рекуррентное соотношение

Принимая начальные значения суммы  и текущего члена ряда  равными единице, схему алгоритма решения задачи можно представить рис. 10.1. Текст программы имеет следующий вид:

Program Line;

{********************************** }

{Цель - Вычисление суммы ряда }

{Переменные:               }

{ S – сумма; i – параметр цикла; }

{ u – член ряда;                }

{ n – число членов ряда.     }

{Программист: ст. гр. 537 Сычев В.К. }

{Проверил: доцент Лаврентьев С.И. }

{Дата написания - 26.12.05 г. }

{*********************************** }

Var

S, u :real;                                       Рис. 10.1. Алгоритм

i, n :integer;              вычисления суммы ряда

Begin {Line}

{Ввод и эхо-печать исходных данных}

Write('Введите число членов ряда');

Read(n);

Write ('Сумма',n:4,' слагаемых равна');

{Инициализация переменных}

S:=1;

u:=1;

for i:=1 to n do {Накопление суммы ряда}

   begin

      u:=u/i;

      S:=S+u

   end;

{Вывод результатов}

Writeln(S);

Writeln('Точное значение ряда: e = ', Exp(1))

End. {Line }

Пример 10.2. Составим программу вычисления значения числового ряда, определяющего значение константы 1/4:

1/(1*2*3) + 1/(2*3*4) + 1/(3*4*5) + … + 1/(n(n+1)(n+2)) ≈ 1/4.

Накопление суммы ряда, как и в предыдущем примере, будем производить по рекуррентной формуле

где - текущий член ряда определяется выражением

.

В отличие от предыдущего примера здесь текущий член ряда может быть вычислен непосредственно, и его не обязательно обозначать отдельной переменной. Поэтому схему алгоритма решения задачи можно представить рис. 10.2. Текст же программы примет следующий вид:

Program Line2;

{********************************** }

{Цель - Вычисление второй суммы ряда }

{Переменные:               }

{ S – сумма; i – параметр цикла; }

{ n – число членов ряда.     }

{Программист: ст. гр. 539 Краснов В.К. }

{Проверил: ассистент Попов А.В.  }

{Дата написания - 28.12.05 г. }

{*********************************** }

Var

S :real;                                                   Рис. 10.2. Алгоритм

i, n :integer;             вычисления второй суммы

Begin {Line2}

{Ввод и эхо-печать исходных данных}

Write('Введите число членов ряда');

Read(n);

Write ('Сумма',n:4,' слагаемых равна');

{Инициализация переменной суммы}

S:=1;

for i:=1 to n do {Накопление суммы ряда}

   S:=S+1/(i*(i+1)*(i+2));

{Вывод результата}

Writeln(S);

End. {Line2}

Задания

Составить алгоритм и программу вычисления суммы ряда в соответствии с приведенным вариантом. Справа от знака равенства дано для контроля точное значение ряда.

Вариант 1.

1 –1/2 + 1/3 –1/4+…±1/n ≈ ln 2.

Вариант 2.

1 + 1/2 + 1/4 + 1/8 +…+1/2n ≈ 2.

Вариант 3.

1 –1/2+ 1/4 - 1/8 + … ± 1/2n  ≈ 2/3.

Вариант 4.

1 – 1/3 + 1/5 – 1/7 + 1/9 - …±1/(2n-1) ≈ p/4.

Вариант 5.

1/(1*2) + 1/(2*3) + 1/(3*4) + … + 1/(n(n+1)) ≈ 1.

Вариант 6.

1/(1*3) + 1/(3*5) + 1/(5*7) + … + 1/((2n-1)(n+1)) ≈ ½.

Вариант 7.

1/(1*3) + 1/(2*4) + 1/(3*5) + … + 1/((n-1)(n+1)) ≈ 2/3.

Вариант 8.

1/(3*5) + 1/(7*9) + 1/(11*13) + … + 1/((4n-1)(4n+1)) ≈ 1/2 - p/8.

Вариант 9.

1/(1*2*3) + 1/(2*3*4) + 1/(3*4*5) + … + 1/(n(n+1)(n+2)) ≈ ¼.

Вариант 10.

1 +1/22 + 1/32 +1/42+…+1/n2 ≈ p2/6.

Вариант 11.

1/12 + 1/32 +1/52+…+1/(2n+1)2 ≈ p2/8.

Вариант 12.

1 +1/24 + 1/34 +1/44+…+1/n4  ≈ p4/90.

Вариант 13.

1 - 1/24 + 1/34 - …±1/n4 ≈ 7p4/720.

Вариант 14.

1/14 + 1/34 +1/54+…+1/(2n+1) 4 ≈ p4/96.

Вариант 15.

1 – 1/1! +1/2! – 1/3! + …± 1/n! ≈ 1/e.

Вариант 16.

1 + 1/1! +1/2! + 1/3! + …+ 1/n! ≈ e.

Вариант 17.

1 + 2 + 3 + … + n = n(n+1)/2.

Вариант 18.

p + (p+1) + (p+2) +… + (p+q) = (2p+q)(q+1)/2.

Вариант 19.

 1 + 3 + 5 + … + (2n – 1) = n2.

Вариант 20.

2 + 4 + 6 + … + 2n = n(n+1).

 

Вариант 21.

12 + 22 + 32 + … + n2 =n(n+1)(2n+1)/6.

Вариант 22.

13 + 23 + 33 + … + n3 =n2(n+1)2/4.

Вариант 23.

12 + 32 + 52 + … + (2n – 1)2 =n(4n2-1)/3.

Вариант 24.

13 + 33 + 53 + … + (2n – 1)3 =n2(2n2 - 1).

Вариант 25.

14 + 24 + 34 + … + n4 = n(n+1)(2n+1)(3n2+3n – 1)/30.

Тема 11

ТАБУЛИРОВАНИЕ ФУНКЦИИ С ПОМОЩЬЮ ОПЕРАТОРА ЦИКЛА С ПАРАМЕТРОМ










Последнее изменение этой страницы: 2018-05-10; просмотров: 267.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...