WikiDer > Условный цикл

Conditional loop

В компьютерное программирование, условные циклы или же повторяющиеся контрольные структуры способ для компьютерные программы повторять один или несколько различных шагов в зависимости от условий, установленных либо программист изначально или в реальном времени реальной программой.

Условный цикл потенциально может стать бесконечный цикл когда ничто в теле цикла не может повлиять на результат цикла Условный оператор. Однако бесконечные циклы иногда могут использоваться намеренно, часто с выходом из цикла, встроенным в реализацию цикла для каждого компьютерный язык, но многие используют одну и ту же базовую структуру и / или концепцию. В Пока цикл и Для цикла два наиболее распространенных типа условных циклов в большинстве языки программирования.

Типы

Следующие типы записаны в C ++, но применимо к нескольким языкам.

Пока цикл

Проверяет условие на истинность перед выполнением любого кода в цикле. Если условие изначально ложно, код внутри цикла никогда не будет выполнен. В PL / I это ДЕЛАТЬ ПОКА... утверждение.

пока (условие) {    // код}

Цикл Do-While

Проверяет условие на истинность после выполнения кода в цикле. Следовательно, код внутри цикла всегда будет выполняться хотя бы один раз. PL / I реализует это как ДЕЛАЙТЕ ДО ... утверждение.

делать {    // код} пока (условие);

Для цикла

Упрощенный способ создания цикла while.

за (инициализация; условие; утверждение) {    // код}

Инициализация выполняется только один раз перед циклом. Условие оценивает логическое выражение цикла. Заявление выполняется в конце каждого цикла.

Так, например, следующий цикл while:

int я = 0;пока (я < 10) {    // код        я += 1;}

Может быть записано следующим образом для цикла:

за (int я = 0; я < 10; ++я) {    // код}

Для каждого цикла

Цикл for-each по сути эквивалентен итератор. Это позволяет программе выполнять итерацию по структуре данных без необходимости отслеживать индекс. Это особенно полезно для наборов, не имеющих индексов. Вот пример:

стандартное::вектор<стандартное::нить> классифицировать = { "яблоко", "банан", "апельсин" };за (авто элемент: классифицировать) {    // код}

Примеры

Ниже приводится C-стиль Пока цикл. Он продолжает цикл, пока Икс не равно 3, или, другими словами, цикл прекращается только тогда, когда Икс равно 3. Однако, поскольку Икс инициализируется 0 и ценность Икс никогда не изменяется в цикле, цикл никогда не закончится (бесконечный цикл).

int Икс = 0;пока (Икс != 3) {    // код, который не меняет x}

Цикл while ниже выполнит код цикла 5 раз. Икс инициализируется значением 0, и каждый раз в цикле значение Икс увеличивается. Цикл while настроен на остановку, когда Икс равно 5.

int Икс = 0;пока (Икс != 5) {    // код        Икс += 1;}

Частые ошибки

Условные циклы часто являются источником Выключен одной ошибкой.