Постановка задания

Задание для всех вариантов звучит так (или, возможно, немного изменено, так как могут быть разные издания учебного пособия):

Написать функцию с входными и выходными аргументами, вычисляющую сумму ряда с заданной точностью для вводимого значения х. Функция должна вернуть значение суммы ряда, последнее учтенное в сумме слагаемое, число учтенных слагаемых.

 

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

 

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

 

Результаты напечатать в виде таблицы из четырех столбцов с соответствующей «шапкой».

Варианты заданий

РядФункция и область сходимости
1.$x — \frac{x^3}{3!} + \frac{x^5}{5!} — \frac{x^7}{7!} +\ …$ 
2.$sin(\alpha) + xcos(\alpha) — x^2\frac{sin(\alpha)}{2!} — x^3\frac{cos(\alpha)}{2!} + x^4\frac{sin(\alpha)}{4!} +\ …$ 
3.$1 — \frac{x^2}{2!} + \frac{x^4}{4!} — \frac{x^6}{6!} +\ …$ 
4.$cos(\alpha) + xsin(\alpha) — x^2\frac{cos(\alpha)}{2!} — x^3\frac{sin(\alpha)}{2!} + x^4\frac{cos(\alpha)}{4!} +\ …$ 
5.$x + \frac{x^3}{3!} + \frac{x^5}{5!} + \frac{x^7}{7!} +\ …$ 
6.$1 + \frac{x^2}{2!} + \frac{x^4}{4!} + \frac{x^6}{6!} +\ …$ 
7.$1 + x + \frac{x}{2!} + \frac{x}{3!} +\ …$ 
8.$1 + x·ln(\alpha) + \frac{(x\ ·\ ln(\alpha))^2}{2!} + \frac{(x\ ·\ ln(\alpha))^3}{3!} +\ …$ 
9.$(x — 1) — \frac{(x — 1)^2}{2} + \frac{(x — 1)^3}{3} — \frac{(x — 1)^4}{4} +\ …$ 
10.$x + \frac{x^7}{2·3} + 3·\frac{x^5}{2·4·5} + 3·5·\frac{x^7}{2·4·6·7} +\ …$ 
11.$\pi — (x + \frac{x^7}{2·3} + 3·\frac{x^5}{2·4·5} + 3·5·\frac{x^7}{2·4·6·7} +\ …)$ 
12.

$\pm \frac{\pi}{2} — \frac{1}{x} + \frac{1}{3}·x^3 — \frac{1}{5}·x^5 + \frac{1}{7}·x^7 -\ …$

первый член со знаком плюс, при $x \gt 0$ и со знаком минус при $x \lt 0$

 
13.$\frac{\pi}{2} — (x — \frac{x^3}{3} + \frac{x^5}{5} — \frac{x^7}{7} -\ …)$ 
14.$x·\frac{3 + x}{3!} — x^3·\frac{5 + x}{5!} + x^5·\frac{7 + x}{7!} -\ …$$\frac{1 — cos(x) — sin(x)}{x}$
15.$\frac{x}{3!} — \frac{x^3}{5!} + \frac{x^5}{7!} — \frac{x^7}{9!} +\ …$$\frac{x — sin(x)}{x^2}$
16.$\frac{2x}{1!} — \frac{3x^2}{2!} + \frac{4x^3}{3!} — \frac{5x^4}{4!} +\ …$$x·e^{-x} — e^x + 1$
17.$x^2(\frac{1}{1!} + \frac{1}{2!}) — x^4(\frac{1}{2!} + \frac{1}{4!}) + x^6(\frac{1}{3!} + \frac{1}{6!}) +\ …$$2 — e^{-x} — cos(x)$
18.$x(\frac{1}{1} + \frac{1}{1!}) — x^2(\frac{1}{2} + \frac{1}{2!}) + x^3(\frac{1}{3} + \frac{1}{3!}) +\ …$$ln(1 + x) — x·e^{-x} + 1$
19.$x(\frac{1}{1!} — \frac{1}{2!}) — x^2(\frac{1}{2!} — \frac{1}{4!}) + x^3(\frac{1}{3!} — \frac{1}{6!}) +\ …$$cos(x) — e^{-x}$
20.$x·\frac{2 + x}{2!} — x^3·\frac{4 + x}{4!} — x^5·\frac{6 + x}{6!} +\ …$$sin(x) — cos(x) + 1$
21.$1 — \frac{3x^2}{2!} + \frac{5x^4}{4!} — \frac{7x^6}{6!} +\ …$$cos(x) — x·sin(x)$
22.$\frac{2x^6}{3!} — \frac{4x^{10}}{5!} + \frac{6x^{14}}{7!} — \frac{8x^{18}}{9!} +\ …$$sin(x^2) — x^2·cos(x^2)$
23.$x·\frac{2 — x}{2!} + x^5·\frac{6 — x}{6!} + x^9·\frac{10 — x}{10!} +\ …$$\frac{sin(x) + cos(x) — e^{-x}}{2}$
24.$x^2(\frac{1}{1!} + \frac{1}{1!}) — x^4(\frac{1}{2!} + \frac{1}{3!}) + x^6(\frac{1}{3!} + \frac{1}{5!}) -\ …$$x·sin(x) — e^{-x} + 1$
25.$\frac{x^2}{4!} — \frac{x^4}{6!} + \frac{x^6}{8!} — \frac{x^8}{10!} +\ …$$\frac{cos(x) — 1}{x^2} + \frac{1}{2}$

Лабораторная работа $№3$ предполагает написание программы на языке Си. При заказе работы своего варианта вы получите качественно написанную и хорошо прокомментированную программу.

Если дополнительно закажите алгоритм решения вашей задачи (мы крайне рекомендуем это сделать), то получите аккуратно оформленный отчет-алгоритм, поясняющий все тонкости решения поставленной задачи.

Образец выполнения (вариант №15)

Условие задания

РядФункция и область сходимости
15.$\frac{x}{3!} — \frac{x^3}{5!} + \frac{x^5}{7!} — \frac{x^7}{9!} +\ …$$\frac{x — sin(x)}{x^2}$

Алгоритм решения задачи

Начнем с этапа алгоритмизации. Чтобы успешно закодировать любую задачу, надо в самую первую очередь определиться с алгоритмом решения.

По условии задания просят использовать рекуррентные соотношения. Попробуем получить эту рекуррентность. Рассмотрим первых $3$ слагаемых данного ряда:

№ слагаемогоЗнакЗначение
1.$+$$\frac{x}{3!}$
2.$-$$\frac{x^3}{5!}$
3.$+$$\frac{x^5}{7!}$

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

Найдем отношение слагаемых заданного ряда под $№2$ и $№1$: $k_{1} = \frac{Слагаемое_{2}}{Слагаемое_{1}} = \frac{x^3}{5!} : \frac{x}{3!} = \frac{x^3\ ·\ 3!}{5!\ ·\ x} = \frac{x^2}{4\ ·\ 5}$.

То есть, чтобы вычислить слагамое ряда, стоящее на $2$-й позиции, нужно взять слагаемое под $№1$ и умножить его на этот коэффициент $k_{1}$, равный $\frac{x^2}{4\ ·\ 5}$. Также не стоит забыть еще поставить перед $2$-ым слагаемым знак «минус», т к заданный ряд является знакочередующимся.

Сейчас рассмотрим отношение $3$-го и $2$-го члена данного ряда: $k_{2} = \frac{x^5}{7!} : \frac{x^3}{5!} = \frac{x^5\ ·\ 5!}{7!\ ·\ x^3} = \frac{x^2}{6\ ·\ 7}$. То есть, чтобы вычислить слагамое ряда, стоящее на $3$-й позиции, нужно взять слагаемое под $№2$ и умножить его на этот коэффициент $k_{2}$, равный $\frac{x^2}{6\ ·\ 7}$. Третий член ряда также должен быть положительным.

💡 В итоге мы видим, что рекуррентное соотношение не является постоянным ($k_{1} \neq k_{2})$. Это важнейший момент в данном алгоритме! Такую зависимость принято называть рекуррентным соотношением с непостоянным коэффициентом.

Если продолжить вычислять последующие коэффициенты рекуррентных соотношений: $k_{3},\ k_{4},\ …$, то можно заметить, что все они являются дробями, числитель которых строго равен $x^2$, а вот знаменатель будет меняться, но при этом знаменатель будет всегда равен произведению двух натуральных чисел.

Следовательно, нам нужно научиться лишь правильно вычислять знаменатель этих коэффициентов, чтобы получать очередное слагаемое заданного ряда.

$Слагаемое_{2} = Слагаемое_{1}\ ·\ k_{1} = \frac{x}{3!}\ ·\ \frac{x^2}{4\ ·\ 5}$. На момент, когда происходит вычисление $2$-го члена ряда, в сумму уже было включено значение $1$-го члена, значит, количество уже учтенных слагаемых равно $1$. Тогда, попытаемся связать формулой количество уже учтенных слагаемых, со знаменателем соответствующего коэффициента рекуррентного соотношения:

    • $4 = (количество\ учтенных\ слагаемых\ +\ 1)\ ·\ 2$.
    • $5 = (количество\ учтенных\ слагаемых\ +\ 1)\ ·\ 2\ +\ 1$.

Эти зависимости будут справедливы абсолютно для любого коэффициента рекуррентного соотношения.

💡 На данный момент стало абсолютно понятно, каким образом происходит формирование очередного слагаемого заданного ряда, зная значение предыдущего слагаемого. То есть выведены однозначно все необходимые рекуррентные соотношения.

Что касается знакочередования слагаемых в ряду, то учеть это досаточно просто: необходимо при вычислении текущего члена домножать его на $(-1)$.

И последнее, на что хотелось бы обратить внимание! В условии говорится, что вычисление суммы заданного ряда заканчивается, если модуль очередного слагаемого ряда меньше заданной точности. Это означает, что, как только условие $(|текущее\ слагаемое| >= точность)$ становится ложным, все расчеты прекращаются. И это слагаемое НЕ попадает в результат.

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

Реализация задачи на языке Си

Результаты работы программы

Лабораторная работа №3. Степанов. Си. Программирование. МГТУ им.Баумана. Тест вычисление ряда с заданной точностью

Стоимость заказа работы

➡ Стоимость одной программы из любого варианта составляет $200$ рублей.

➡ Стоимость блок-схемы из любого варианта составляет $200$ рублей.

💡 Стоимость алгоритма (в виде отчета в формате *.doc из любого варианта составляет $200$ рублей (заказывается опционально на ваше усмотрение, чтобы детально разобраться с решением лабораторной работы, например, не прибегая к консультации репетитора).

Для оформления заказа пишите на почту: proglabs@mail.ru.
Время нашего ответа обычно составляет не более 10 минут.