Ітераційні цикли і їх особливості
Особливістю итерационного циклу є те, що число повторень операторів тіла циклу заздалегідь невідомо. Для його організації використовується цикл типу поки. Вихід з ітераційного циклу здійснюється в разі виконання заданої умови.
На кожному кроці обчислень відбувається послідовне наближення до шуканого результату і перевірка умови досягнення останнього.
Приклад. Скласти алгоритм обчислення нескінченної суми
із заданою точністю (для даної Знакозмінні нескінченної суми необхідної точності буде досягнута, коли чергове доданок стане по абсолютній величині менше).
Обчислення сум - типова циклічна завдання. Особливістю ж нашої конкретного завдання є те, що число доданків (а, отже, і число повторень тіла циклу) заздалегідь невідомо. Тому виконання циклу має завершитися в момент досягнення необхідної точності.
При складанні алгоритму потрібно врахувати, що знаки доданків чергуються і ступінь числа х в чисельнику доданків зростає.
Вирішуючи цю задачу "в лоб" шляхом обчислення на кожному i-му кроці часткової суми
S: = S + ((-1) ** (i-1)) * (x ** i) / i,
ми отримаємо дуже неефективний алгоритм, що вимагає виконання великого числа операцій. Набагато краще організувати обчислення наступним чином: якщо позначити чисельник якого-небудь доданка буквою р. то у наступного доданка чисельник дорівнюватиме -р * х (знак мінус забезпечує чергування знаків доданків), а саме доданок m дорівнюватиме p / i. де i - номер доданка.
Порівняйте ці два підходи по числу операцій.
Алгоритм на шкільному АЯ