Циклы · 26 из 33
Синус рядом Тейлора
Самое вузовское задание из всех: «вычислить сумму ряда с точностью ε». Борис Аркадьевич объясняет, что синус не берут из таблицы — его считают: складывают ряд x − x³/3! + x⁵/5! − … и останавливаются, когда очередной член становится меньше нужной точности. А ещё он просит сказать, сколько членов на это ушло.
Что сделать
Посчитайте sin x рядом Тейлора: складывайте члены, пока они не меньше ε по модулю, — и скажите, сколько сложили.
Что приходит
x— угол в радианахeps— точность ε, положительное число
Что вернуть
Пару (сумма, сколько членов сложено); сумма — дробная, округлена до шести знаков.
Допишите функцию sinus в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
x = 2, ε = 0,5. Первый член 2 — не меньше 0,5, складываем. Второй −8/6 ≈ −1,333 — тоже складываем. Третий 32/120 ≈ 0,267 — меньше 0,5, на нём стоп. Ответ (0.666667, 2).
sinus(1, 0.001)
(0.841667, 3)
Ряд: sin x = x − x³/3! + x⁵/5! − x⁷/7! + …
Члены складываются по порядку, пока модуль очередного члена не меньше ε (>=). Первый член, который меньше ε по модулю, не складывается — на нём счёт кончается. При x = 0 уже первый член равен нулю: сумма 0.0, членов 0.
Следующий член удобно получать из предыдущего, а не считать степень и факториал заново: член k + 1 = −(член k) · x² / ((2k)(2k + 1)), если первый член — x, а k — сколько членов уже было.
Сумму округлите функцией round(…, 6); она дробная и тогда, когда ничего не сложено.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.