Циклический процесс, цикл (cyclic process, cycle) – процесс многократного последовательного выполнения одного и того же участка алгоритма или программы.
Так как компьютер производит операции над данными с огромной скоростью, то ему выгодно поручать задачи, которые требуют многократного выполнения действий (при различных значениях обрабатываемых данных), дающие возможность с помощью краткой программы задать большой объем вычислений.
Конструкции, позволяющие задавать циклические процессы, называются циклами. Они включают в себя команды или операторы, непосредственно реализующие повторяемые действия алгоритма – так называемое тело цикла, и команды или операторы, управляющие повторением и осуществляющие выход из цикла в нужный момент. В зависимости от алгоритма количество повторений может быть известно заранее, а может зависеть от вычисленных в ходе циклического процесса величин.
Цикл с параметром (cycle with loop variable, cycle with parameter) – цикл, в котором явно задается управляющая количеством повторений переменная, правило вычисления последовательности ее значений и использующее эти значения условие выхода из цикла.
Итерационный цикл (iterative loop) – цикл, число повторений в котором заранее не известно. Такие циклы встречаются при решении задач методами последовательных приближений (методами итераций), позволяющих найти решение с наперед заданной точностью.
К базовым видам циклов относят:
Цикл со счетчиком, арифметический цикл (cycle with a counter, arithmetical cycle) – разновидность цикла с параметром. При выполнении цикла со счетчиком определенная часть программы периодически повторяется, а число повторений (проходов) регистрируется счетчиком. По достижении нужного количества проходов выполнение цикла прекращается.
Цикл с предусловием, цикл с верхним окончанием (while loop) – цикл, в котором проверка условия выхода из цикла осуществляется в начале выполнения тела цикла. Это условие обычно формулируется как условие выполнения тела цикла в виде логического выражения.
Цикл с постусловием, цикл с нижним окончанием (repeat-until loop) – цикл, в котором проверка условия выхода из цикла осуществляется в конце выполнения тела цикла. Это условие может формулироваться либо как условие повторения тела цикла, либо как условие окончания цикла. Следует отметить, что в данном цикле тело цикла выполняется хотя бы один раз.
Для организации цикла необходимо выполнить следующие действия:
- задать перед циклом начальное значение переменной, изменяющейся в цикле;
- изменять переменную перед каждым новым повторением цикла;
- проверять условие окончания или повторения цикла;
- управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из него по окончании.
Последние три функции выполняются многократно.
Переменная, изменяющаяся в цикле, называется параметром цикла. В одном цикле может быть несколько параметров.
Переменную, значения которой вычисляются машиной и хранятся в одной и той же ячейке памяти, называют простой переменной, а переменную. являющуюся элементом массива, - переменной с индексом. Следует иметь в виду, что параметром цикла является при использовании простой переменной сама переменная, а при использовании переменной с индексом – ее индекс.
![]() | |||
![]() | |||
Рис.12.7. Блок-схема цикла Рис.12.8. Блок-схема цикла
с предусловием с постусловием
Рис. 12.9. Блок-схема цикла со счетчиком (где i – параметр цикла,
а1 – начальное значения параметра цикла, а2 – конечное значение параметра цикла, а3 – шаг изменения параметра цикла)
Пример. Вычислить значение функции f=ax+bx2-c для различных значений х,
где a=1.7, b=-2.3, c=4.1, xÎ[-10,10], шаг изменения х равен 1.
Решить данную задачу используя циклы а) со счетчиком; б) с предусловием; в) с постусловием.Схема алгоритма решения имеет вид, представленный на
рис. 12. 10.
![]() | |||||
![]() | |||||
![]() | |||||
а) б) с)
Рис.12.10