Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson 4.doc
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
780.8 Кб
Скачать

3.2. Цикл while

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

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

Теперь давайте рассмотрим синтаксис цикла while:

while(условие) {         действие; }

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

Давайте предыдущий пример переведем в цикл while:

<html> <head> <script type="text/javascript">         //Покажем сколько у нас тарелок         var kol_tarelok = 3;                  while (kol_tarelok > 0)         {                 //Сделаем операцию                 document.write("Взять тарелку из раковины.<br>");                 document.write("Намылить тарелку средством для мытья посуды.<br>");                 document.write("Потереть тарелку мочалкой.<br>");                 document.write("Вытереть тарелку.<br>");                 document.write("Поставить тарелку на полку.<br><br>");                                  //После вымытой тарелки уменьшим количество грязных на одну                 kol_tarelok--;         } </script> </head>

Думаю, комментарии излишни.

Примечание:

Так же как и в конструкции if в циклах можно опускать фигурные скобки, если у вас всего одна операция, но этого мы не рекомендуем делать, потому что иногда из-за этого могут возникнуть ошибки, которые трудно выявить. Исходя из этого НИКОГДА в конструкции while не ставьте точку с запятой после круглых скобок в while():

<html> <head> <script type="text/javascript">         var count= 3;                  while (count > 0);         {                 document.write("Операция.<br>");                count --;         } </script> </head>

Кто не понял, то только что мы создали вечный цикл из-за того, что точка с запятой была воспринята, как одна пустая операция, которая выполняется в цикле. А фигурные скобки, никак уже не относятся к циклу.

Обычно одно действие цикла называется «итерацией», а переменная-счетчик, за счет которой выполняется цикл – итератором. В большинстве циклов необходим итератор. Это необходимо в том случае, если у нас известное количество ходов. А если, к примеру, мы хотим выполнять наш цикл одну секунду, то мы не знаем сколько раз за секунду, может выполниться цикл, но поставить такое условие мы можем: пока не прошла одна секунда.

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

<html> <head> <script type="text/javascript">         var count = 0;                  while (count < 3);         {                 document.write("Операция.<br>");                count ++;         } </script> </head>

Мы поменяли все местами: теперь счетчик увеличивается от нуля до трех, а цикл работает пока счетчик меньше трех. И выполниться он три раза.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]