Циклический алгоритм
Цикл - это многократно повторяющиеся действия с разными значениями исходных данных.
Составляющими элементами любого цикла являются:
Подготовка цикла - ПЦ,
Тело цикла - ТЦ,
Подготовка данных - ПД,
Проверка условия - ПУ.
Выполнение любого цикла начинается с ПЦ. Последовательность выполнения ТЦ, ПД, ПУ зависит от структуры цикла. В связи с этим различают следующие типовые структуры цикла:
1. Цикл с предусловием - ЦИКЛ ПОКА (WHILE … WEND).
2. Цикл с постусловием - ЦИКЛ ДО (DO … LOOP).
3. Цикл с параметром - ЦИКЛ со СЧЕТЧИКОМ (FOR … NEXT).
Цикл с предусловием / ПОКА
Перед выполнением операторов тела цикла осуществляется проверка условия на продолжение цикла. Если условие справедливо (ветвь «Да»), то цикл повторяется, иначе происходит выход из цикла.
Особенности данной структуры цикла:
а) число повторений цикла заранее неизвестно;
б) если при первой же проверке условия получается "Нет", то цикл не выполняется ни разу;
в) возможен «бесконечный цикл», когда проверка условия не дает выхода на ветвь «Нет».
Цикл с постусловием - ДО
В блоке "Проверка условия" осуществляется проверка условия на прекращение цикла. Если условие справедливо (ветвь «Да»), то происходит выход из цикла, в противном случае цикл повторяется при новых значениях исходных данных.
Особенности данной структуры цикла:
а) число повторений цикла заранее неизвестно;
б) так как условие проверяется в конце цикла, то тело цикла выполняется как минимум один раз;
в) возможен «бесконечный цикл», когда проверка условия не дает выхода на ветвь «Да».
Цикл с параметром
Параметр цикла определяет число повторений цикла. Для параметра цикла указывается его начальное значение, конечное значение и шаг изменения. Тело цикла выполняется при каждом значении параметра цикла.
Особенность данной структуры цикла заключается в том, что уже перед началом выполнения цикла известно количество его повторений.
Пример. Вычислить значения функции вида y = f(x) при изменении x от начального значения xn до конечного значения xk с постоянным шагом h.
Эта задача решается с помощью цикла с заданным количеством повторений. Число повторений определяется по формуле:
n = (xk - xn) / h + 1.
На рисунках (см. ниже) представлены блок-схемы решения задачи:
- с использованием цикла ПОКА;
- с использованием цикла с ПАРАМЕТРОМ.