Пример оформления работы
1. Составить алгоритм и написать код программы, вычисляющей значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x(x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями функции f=cos(x). Результаты вычислений вывести в виде таблицы с заголовком. - разложение функции cos(x) в ряд Тейлора. Накопление суммы производим по рекуррентной формуле – каждая последующая сумма вычисляется через предыдущую: Общий вид слагаемого суммы может быть записан в следующем виде: Для сокращения объема вычислений выразим его через предыдущее слагаемое: Сомножитель , называемый переходным коэффициентом, можно определить из предыдущего соотношения: Раскроем эту формулу:
Тогда текущий член ряда будет вычисляться по формуле: Начальное значение находим подстановкой в формулу для общего члена значения n=0: Начальное значение суммы можно принять равным первому члену ряда, то есть . Учитывая, что значение текущего члена ряда и суммы при n=0 уже определены, номер члена ряда n примем равным единице. Задачу решим вложенными циклами: - во внешнем цикле – цикле с постусловием – будем изменять значение аргумента от начального до конечного с заданным шагом, - во внутреннем цикле – цикле с предусловием – будем определять значение суммы ряда с заданной точностью для отдельных точек – значений аргумента.
Program Variant_0; Uses WinCRT; Var x, s, f, x_nach, x_kon, delta_x, eps, t: Real; n: Word; Begin WriteLn('Лабораторная работа №3'); WriteLn('Вариант №0'); WriteLn('ИС-11-1'); WriteLn('Пупкин Василий'); WriteLn; {ввод исходных данных}
WriteLn(‘Ввод исходных данных:’); Write('x_nach='); ReadLn(x_nach); Write('x_kon='); ReadLn(x_kon); Write('delta_x='); ReadLn(delta_x); Write('eps='); ReadLn(eps); WriteLn; {эхо-печать} WriteLn('Для x=', x_nach:0:3, ' до ', x_kon:0:3, ' шаг=', delta_x:0:3, ' точность=', eps:0:5); WriteLn; WriteLn(' x n s f'); WriteLn('-----------------------------------'); x:=x_nach; Repeat {внешний цикл – изменение аргумента} t:=1.0; {первое слагаемое} s:=1.0; {начальное значение суммы} n:=1; f:=cos(x); {точное значение суммы} While (Abs(t)>eps) Do {внутренний цикл – вычисление суммы ряда в отдельной точке} Begin t:=-t*x*x/(2.0*n*(2.0*n-1.0)); {очередное слагаемое} s:=s+t; {очередная сумма} n:=n+1; End; WriteLn(x:0:3, ' ', n:3, ' ', s:0:6, ' ', f:0:6); x:=x+delta_x; {изменение значения аргумента} Until(x>x_kon); End.
Читайте также: b) Пример классического. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|