В отличие от цикла for циклы while (оператор цикла с предусловием) и repeat (оператор цикла с постусловием) позволяют повторять выполнение тех или иных операторов не фиксированное количество раз, а только пока выполняется некоторое условие. Структура записи этих операторов выглядит следующим образом:
while do begin end;
— любое логическое выражение.
— любые операторы. Перед каждым выполнением тела цикла анализируется значение выражения . Если оно истинно (true), выполняется тело цикла. Затем снова проверяется условие и т.д. Если значение условия ложно (false), то работа цикла завершается. Если результат условие окажется ложным при первой проверке, то тело цикла не выполнится ни разу.
Цикл repeat работает похожим образом, однако в нем условие проверяется в конце цикла (после выполнения каждого шага). Структура записи оператора выглядит следующим образом:
repeat until ;
i:=1; while i
i:=1; repeat writeln(i); i:=i+1; until i>10;
i:=3; while i
В большинстве случаев циклы while и repeat взаимозаменяемы. Цикл repeat предпочтительнее, если известно, что тело цикла необходимо выполнить хотя бы один раз. Следующий раздел:
Задача1 Блок-схема с предусловием, с постусловием, программы С++ while, for, do while Таблица x, Y
Источник: www.tvd-home.ru
Циклы while и do…while в C++
В этом руководстве мы изучим использование циклов while и do…while в программировании на C++ с помощью некоторых примеров.
В компьютерном программировании циклы используются для повторения блока кода. Например, предположим, что мы хотим показать сообщение 100 раз. Тогда вместо того, чтобы писать “оператор печати” 100 раз, мы можем использовать цикл.
Пример блок схемы с циклом while
В программировании есть возможность выполнять определенный участок кода несколько раз. Это необходимо при отображении одинаковых (или похожих) элементов кода, при поиске элементов, значений, сортировке и т.д.
В этом уроке мы подробно разберем следующие темы:
Структура (синтаксис):
while
do-while
Прерывание (break)
Блок-схема цикла с предусловием
Блок-схема цикла с постусловием
Прежде, чем начать урок, хотим отметить, что все предыдущие уроки по программированию тесно связаны с этой темой. Поэтому если Вы еще не знаете, как работают условия, рекомендуем ознакомиться с предыдущим материалом.
PHP — цикл for
Общая структура выглядит следующим образом:
Первый параметр в круглых скобках отвечает за начальное значение переменной. Можно через запятую указать несколько переменных:
Второй параметр определяет при каком условии цикл будет выполняться.
В нашем случае вывод переменной $i происходит до тех пор, пока переменная $i меньше, либо равна 0. После этого цикл завершится, а в браузере появится список чисел от 0 до 10.
Третий позволяет запустить действие после выполнения операций, заданных в теле цикла. В нашем случае переменная $i увеличивается на 1.
Однако, все эти параметры не являются обязательными. В любое время их можно опустить:
В цикле нет условий, но выполняться он будет, неизвестно, до какого времени или условия. Такой цикл называется бесконечным.
При необходимости, счетчик может не только увеличиваться, но и уменьшаться в обратном порядке:
Если необходимо увеличивать счетчик через произвольное значение (например, 10), можно воспользоваться следующим вариантом:
Как видим, действия $i=$i+10 и $i+=10 выполняются абсолютно одинаково. Они отличаются от действия $i++ лишь тем, что оно позволяет увеличивать значение переменной только на 1.
PHP — цикл while
Общая структура выглядит следующим образом:
Этот цикл состоит из условия, заключенного в круглые скобки. Он будет выполняться при истинности этого условия. Читается обычно следующим образом: «Пока переменная a меньше переменной b, выполнить. «
Еще этот while называют циклом с предусловием. Разница видна в следующем примере:
Так как условие не является истинным (3 не меньше, чем ноль), то цикл ни разу не выполнится.
PHP — цикл do-while
Структура очень похожа на предыдущую (while), с одним лишь отличием — в начале ставится ключевое слово do, а while указывается в самом конце:
Его довольно часто называют циклом с постусловием, так как он обязательно хотя бы один раз выполняется:
В этом примере вначале отображается цифра 4, а потом происходит сравнение чисел (4 и 0), и цикл завершается.
break (прерывание цикла)
В случае, если оператор повтора необходимо прервать (остановить) в определенном месте, используется функция break:
Таким образом в браузере мы увидим только цифру 5. После этого программа выйдет из цикла, и он сразу завершится.
Но что, если поменять строку echo и break местами?
В этом случае в браузере ничего не отобразится, так как сначала цикл завершится, а вывести ничего не успеет.
При использовании нескольких (вложенных) циклов, функция break завершает только один цикл, внутри которого она и находится:
Break действует на все виды циклов.
Блок схема цикла с предусловием (while)
Так как цикл имеет условие, логично обозначить его в виде ромба, а тело цикла — в виде прямоугольника. Для обозначения повтора, прямоугольник обратно соединяется с ромбом. Если выражение условия становится ложным — цикл завершается.
Блок схема цикла с постусловием (do-while)
Данная схема очень похожа на предыдущую с одним нюансом — сначала выполняется код в теле цикла (обозначен прямоугольником). Затем проверяется условие. Если оно истинно — всё повторяется, если нет — завершается.
- Найти квадрат нечетных чисел.
- Найти сумму делителей числа a.
- Проверить, является ли число совершенным (равным сумме всех его делителей).
- Выяснить, является ли введенное число неполным (делится только на себя и на единицу)
Ответы к заданиям предыдущей статьи (про условный оператор if):
- Дан номер месяца (1-12). Отобразить в виде слова этот месяц. Если такого месяца не существует — отобразить ошибку.
Эта задача имеет несколько способов решения. Через условия делается очень просто: проверяем, ввел ли пользователь цифру 1. Если да (условие истинно) — выводим январь. Если нет — проверяем, ввел ли пользователь цифру 2 и т.д. В конце, если пользователь ничего не ввел — выдаем ошибку.
Пусть за введенное пользователем число отвечает переменная $n. Тогда программа будет выглядеть следующим образом:
- Найдите среднее арифметическое, состоящее из 5 чисел.
Так как даны 5 чисел, значит понадобятся 5 переменных. Находим в Интернете формулу для вычисления среднего арифметического значения (для его нахождения необходимо сложить все числа и разделить на их количество). Получилась следующая простая программа:
Циклы while и do…while в C++
В этом руководстве мы изучим использование циклов while и do…while в программировании на C++ с помощью некоторых примеров.
В компьютерном программировании циклы используются для повторения блока кода. Например, предположим, что мы хотим показать сообщение 100 раз. Тогда вместо того, чтобы писать “оператор печати” 100 раз, мы можем использовать цикл.