Большое место среди циклов с неизвестным числом повторений занимают циклы, когда в процессе повторения тела цикла образуется последовательность значении y1, y2,…,yn,…, сходящаяся к некоторому пределу а, т. е.
.
Каждое новое значение уn в такой последовательности определяется с учетом предыдущего уn-1 и является по сравнению с ним более точным приближением к искомому результату (пределу) а. Циклы, реализующие такую последовательность приближений (итераций), называются итерационными.
В итерационных циклах условие продолжения (окончания) цикла основывается на свойстве безграничного приближения значений уn к пределу а при увеличении n. Итерационный цикл заканчивают, результат отождествляют со значением уn, т.е. считают, что уn ≈ а, если для некоторого значения n выполняется условие
,
где ε – допустимая погрешность вычисления результата.
Типичным примером итерационного циклического процесса может служить задача вычисления суммы бесконечного ряда. Понятие суммы связано с понятием сходимости бесконечного ряда. Бесконечный ряд значений t0, t1, ..., tn, ... называется сходящимся, если сумма sn = t0 + t1, ...,tn,… его первых (n + 1) слагаемых при беспредельном возрастании n стремится к некоторому пределу S, который и называется суммой ряда, т. е.
; .
Общий член tn сходящегося ряда при этом стремится к нулю, т. е.
; .
Следовательно, последовательность s1, s2, ..., sn, ... является искомой последовательностью значений и определяет следующее условие окончания суммирования:
или .
Пример.
Вычислить с погрешностью ε=10-4 значение функции s=cos(x), используя разложение в ряд:
,
где .
Для решения задачи необходимо, во-первых, определить значение очередного слагаемого tn, во-вторых, осуществлять накопление суммы по итерационной формуле:
.
Для определения tn в данном примере из-за наличия факториала целесообразно использовать не прямое вычисление, а рекуррентное соотношение: .
Подставим в формулу, определяющую tn, вместо n величину (n-1):
.
Определим сомножитель :
.
Напомним, что m!=1·2·…·m, поэтому
.
Начальное значение t0=1 находится подстановкой в формулу для общего члена tn при n=0.
Так как надобности в запоминании значений всех слагаемых tn и промежуточных сумм sn нет, то в программе используются простые переменные: s – очередное значение суммы ряда, t – очередное значение члена ряда, f – очередное значение сомножителя .
Для проверки полученного результата осуществляется вызов стандартной функции cos(x), значение которой присваивается переменной y. Для организации цикла с предусловием, в котором условие является условием продолжения цикла.
Пример создания приложения
Задание. Создать Windows-приложение, которое выводит таблицу значений функции и ее разложения в ряд в виде суммы с погрешностью ε=10-4, для значений x от xn до xk с шагом h=(xk–xn)/8. На панели интерфейса предусмотреть возможность управления выводом исходных данных и погрешности вычислений.