Простой и вложенные циклы, цикл с развилкой — это разновидности управляющих конструкций в высокоуровневых языках программирования, которые предназначены для организации многократного выполнения определенного набора инструкций.
Введение
Операторы циклов используются тогда, когда неизвестно заранее, какое количество раз будет необходимо повторять одни и те же вычислительные процедуры (или процедуры разных типов), а окончание этих процедур может определяться некоторым заранее определенным параметром или условием.
Основная структура «ЦИКЛ» предназначена для записи алгоритмов, в которых определенная часть алгоритма, а именно, тело цикла, должна исполняться некоторое количество раз. Вложенными циклами являются циклы, которые организованы в теле других циклов. Вложенный цикл в тело другого цикла, именуется еще внутренним циклом.
Простой и вложенные циклы. Цикл с развилкой
Количество повторений цикла может быть определено различными способами, в зависимости от которых различают следующие виды циклов:
- Цикл, имеющий предварительное условие, или цикл «пока».
- Цикл, имеющий некоторый параметр.
- Цикл, имеющий постусловие, или цикл «до».
При выполнении цикла с предварительным условием в начале осуществляется проверка условие его исполнения. Пока это условие исполняется, будет выполнятся повторения тела цикла. Отсюда возникло и иное его название, а именно цикл «пока». Если же условие не исполняется при первой проверке, то тело цикла не будет выполнено совсем. После завершения цикла управление должно передаваться следующей структуре. Для того чтобы не было зацикливания, то есть, бесконечного исполнения цикла, в теле цикла в обязательном порядке должны меняться параметры, которые записаны в условии. На рисунке ниже приведен алгоритм такого цикла.
Рисунок 1. Алгоритм. Автор24 — интернет-биржа студенческих работ
Цикл с параметром удобно применять в тех случаях, когда заранее известно число повторений цикла. Здесь введено такое понятие, как счетчика цикла, который по умолчанию должен считаться равным или единице, или минус единице. В отдельных случаях изменение счетчика цикла (приращение) может быть указано в явной форме. Для того, чтобы организовать цикл следует задать верхнюю и нижнюю границы изменения счетчика цикла. Согласно значению верхней и нижней границы, должен определяться и шаг цикла, а именно, единица или минус единица, то есть значение счетчика цикла. На рисунке ниже приведен алгоритм цикла с параметром.
Рисунок 2. Алгоритм цикла с параметром. Автор24 — интернет-биржа студенческих работ
При реализации цикла с постусловием, или цикла «до», условие завершения цикла должно проверяться после тела цикла. В данном случае тело цикла всегда исполняется хотя бы один раз. Цикл будет исполняться до выполнения условия, отсюда и иное его наименование, а именно, цикл «до». А пока условие не исполнено, будет осуществляться повторение тела цикла, то есть, исполнение условия может считаться условием окончания цикла. В таком случае, как и в цикле «пока», следует предусмотреть в теле цикла изменение параметров условия цикла. На рисунке ниже приведен алгоритм цикла с постусловием.
Рисунок 3. Алгоритм цикла с постусловием. Автор24 — интернет-биржа студенческих работ
Для любого вида цикла предусматривается возможность досрочного выхода, то есть, прекращение исполнения цикла.
Кроме рассмотренных выше трех типов цикла существуют еще и так называемые итерационные циклы. Особенностью итерационного цикла считается тот факт, что количество повторений операторов тела цикла заранее не определено. Для его реализации может быть использован цикл типа «пока». Выход из итерационного цикла может быть осуществлен, если выполняется заданное условие. С каждым шагом вычислений осуществляется последовательное приближение и проверка условия достижения требуемого результата. Классическим примером может быть вычисление суммы ряда с необходимой точностью.
Алгоритм, в составе которого имеется итерационный цикл, именуется итерационным алгоритмом. Итерационные алгоритмы применяются при выполнении итерационных численных методов. В итерационном алгоритме следует обеспечить обязательное условие выхода из цикла, то есть, гарантировать сходимость итерационного процесса. В противном случае может произойти зацикливание алгоритма, то есть, не будет исполняться главное свойство алгоритма, а именно, результативность.
Возможны варианты, когда внутри тела цикла нужно выполнить повторение некоторой последовательности операторов, то есть, сформировать внутренний цикл. Такая структура называется циклом в цикле, или вложенным циклом. Глубина вложения циклов, то есть число вложенных друг в друга циклов, может быть разной.
При применении этой структуры для экономии времени исполнения следует вынести из внутреннего цикла во внешний все операции, результаты которых не имеют зависимости от параметра внутреннего цикла.
Рассмотрим конкретный пример. Необходимо определить сумму элементов для конкретной матрицы, то есть, таблицы, состоящей из пяти строк и трех столбцов, А (5,3).
Приведем алгоритм решения задачи на псевдокоде.
Рисунок 4. Алгоритм решения задачи на псевдокоде. Автор24 — интернет-биржа студенческих работ
Главная часть блок-схемы по определению суммы элементов матрицы имеет следующий вид.
Рисунок 5. Главная часть блок-схемы. Автор24 — интернет-биржа студенческих работ
Тут порядок исполнения вложенных циклов следующий:
- Счетчик внутреннего цикла меняется быстрее, то есть, для i = 1(внешний цикл), j пробегает значения 1, 2, 3 (внутренний цикл).
- Затем i = 2, j и снова пробегает значения 1, 2, 3 и так далее.
Разветвляющимся циклом или развилкой принято называть алгоритм, в котором предусмотрено прохождение разных вариантов работы в зависимости от исполнения или не исполнения определенного условия. В блок-схеме данное условие необходимо записывать в ромб-блок, который обозначает сравнение. На рисунке ниже представлена общая структурная организация ветвления.
Рисунок 6. Общая структурная организация ветвления. Автор24 — интернет-биржа студенческих работ
Очень часто та или иная операция должна быть исполнена в зависимости от значения логического выражения, которое выступает в качестве условия. В таких случаях используется развилка. Рассмотрим конкретный пример, в котором необходимо вычислить значение функции.
Рисунок 7. Функция. Автор24 — интернет-биржа студенческих работ
На рисунке ниже приведена блок-схема решения этой задачи.
Рисунок 8. Блок-схема. Автор24 — интернет-биржа студенческих работ
При тестировании алгоритмов с развилкой необходимо подбирать такие начальные данные, чтобы можно было проверить все ветви.