logo search
Методичка_Delphi_Ч1

Алгоритмы вычисления сумм бесконечных рядов

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

В качестве примера рассмотрим алгоритм вычисления синуса некоторого числа.

Синус можно представить как сумму бесконечного ряда 5.2.

(5.2)

Особенность данного ряда состоит в том, что каждый член ряда, начиная со второго, может быть найден их предыдущего по формуле 5.3.

(5.3)

Алгоритм вычисления синуса по формуле 5.2 с использованием соотношения 5.3 представлен на рисунке 5.6.

В рассмотренном алгоритме, помимо основного цикла для накопления суммы ряда, есть еще дополнительный цикл. В этом цикле переменная х уменьшается каждый раз на величину периода синуса, который равен 2π. Цикл работает до тех пор, пока х не станет меньше, чем 2π. Это сделано для того, чтобы избежать переполнения или потери значащих цифр при больших значениях х. Ряд 5.2 при больших значениях х сходится медленно, а факториал и «х в степени» растут очень быстро. Это приводит к тому, что все значащие цифры этих чисел перестают помещаться в разрядной сетке и, следовательно, обрезаются, вследствие чего результат искажается.