Определить общее слагаемое суммы и выразить его через предыдущее, использовав переходной коэффициент (для удаления факториалов из формулы).
Составить схему алгоритма решения задачи.
Написать код программы на языке Паскаль в среде Borland Pascal for Windows.
Осуществить компиляцию, и отладку программы. Провести структурное тестирование программы (тестирование как белого ящика): составить тестовые наборы для тестирования
- в нормальных условиях,
- при граничных условиях,
- при некорректных входных данных,
- по критерию покрытия решений – результат проверки каждого условия принимал значение истина или ложь хотя бы один раз,
- по критерию покрытия условий – все возможные результаты каждой логической операции в условиях были получены хотя бы по одному разу.
Получить результат.
Оформить отчет по лабораторной работе.
Пример оформления работы
1. Составить алгоритм и написать код программы, вычисляющей значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x(x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями функции f=cos(x). Результаты вычислений вывести в виде таблицы с заголовком.
- разложение функции cos(x) в ряд Тейлора.
Накопление суммы производим по рекуррентной формуле – каждая последующая сумма вычисляется через предыдущую:
Общий вид слагаемого суммы может быть записан в следующем виде:
Для сокращения объема вычислений выразим его через предыдущее слагаемое:
Сомножитель , называемый переходным коэффициентом, можно определить из предыдущего соотношения:
Раскроем эту формулу:
Тогда текущий член ряда будет вычисляться по формуле:
Начальное значение находим подстановкой в формулу для общего члена значения n=0:
Начальное значение суммы можно принять равным первому члену ряда, то есть . Учитывая, что значение текущего члена ряда и суммы при n=0 уже определены, номер члена ряда n примем равным единице.
Задачу решим вложенными циклами:
- во внешнем цикле – цикле с постусловием – будем изменять значение аргумента от начального до конечного с заданным шагом,
- во внутреннем цикле – цикле с предусловием – будем определять значение суммы ряда с заданной точностью для отдельных точек – значений аргумента.
Схема алгоритма решения задачи:
Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCRT;
Var x, s, f, x_nach, x_kon, delta_x, eps, t: Real;