Когда нас в жизни всё устраивает, тогда всё хорошо и всё идет своим чередом. Но такое бывает редко и не у всех. Например, мы каждый день ходим на работу. Ходим, ходим, пока нам за это платят, пока нам нравится работать. А если начальник задержал зарплату или мы нашли другое место работы, которое нас лучше устраивает. Мы увольняемся. Как это перевести на язык программирования?!
Пока нас устраивает работа онлайн
{ мы ходим на работу; }
В языке С++ этот цикл записывается так:
while (/*условие1,условие2,… условиеК*////)
{ *оператор1…операторG *; }
Цикл while - цикл, который повторяет одно и то же действие, пока условие остаётся истинным.
Если условие становится ложным, то происходит выход из цикла.
Например, в нашем случае, условие – устраивает работа. Пока нам всё нравится, мы ходим на работу, как только нам перестали выплачивать зарплату или мы поссорились с кем-то, то сразу "выходим из цикла”, то есть увольняемся с работы.
Или другой пример, движение мотоцикла.
// Пока скорость движения мотоцикла меньше десяти км/ч, то увеличивать скорость до пятидесяти км/ч.
Истинное условие это скорость меньше или равна пятидесяти км/ч, а ложное – скорость больше пятидесяти км/ч.
Рассмотрим, как поставленная задача реализуется на языке С++:
1) Int skorost = 0; \ пусть изначально мотоцикл находился в покое.
2) while ( skorost <= 50 ) // заголовок цикла
3) skorost += 5; // тело цикла, увеличение скорости на пять км/ч.
В первой строчке объявлена переменная и присвоено ей значение, равное нулю.
Во второй строчке проверяется условие – скорость меньше или равна 50 км/ч, и если это условие истинное, то происходит увеличение скорости на пять км/ч (третья строчка).
Если рассмотреть этот кусочек программы поэтапно:
Сначала skorost=0, потом программа проверила условие 0 <=50, условие истинное -> увеличим скорость на 5, теперь skorost= 5, снова проверим условие 0 <=50 (условие истинное), увеличим скорость на 5 км/ч. Скорость изменялась от нуля до 55: ноль, пять, десять, 15, двадцать, 25, 30, 35, 40, 45, 50, 55…..Условие 55 <= 50 является ложным, соответственно, происходит выход из цикла.
Цикл while может быть простым, составным или пустым.
Простой цикл это значит, что в теле программы находится только один оператор:
while (нас устраивает работа)
{ мы работаем; }
Составной – несколько операторов:
while (нас не устраивает работа)
{ мы работаем на этой же работе; ищем другую работу; }
И пустой, соответственно, когда нет ни одного оператора:
Цикл while можно заменить циклом for и наоборот:
for (;условие;) <=> while (условие).
|