Опубликован: 19.10.2006 | Уровень: для всех | Доступ: платный
Лекция 26:

Введение в циклы while

< Лекция 25 || Лекция 26 || Лекция 27 >
Аннотация: Повторяющиеся действия. Циклы с постусловием.

Концепция

В этом примере рассматривается цикл While. Помните, мы говорили, что циклы For используются, когда известно, сколько раз нужно их повторять, а циклы While — когда не известно. Этот пример нарушит правило! Он покажет, как пользоваться переменными, чтобы сосчитать количество повторений цикла и подготовиться к заданию.

Сценарий

<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
  loops=3
  num=1
  while (num <= loops)
     {
     document.write("Добро ")
     num=num+1
     }
     document.write("Пожаловать!")
    </SCRIPT>
</BODY>
</HTML>

Результат работы сценария

На странице выводится фраза:

Добро Добро Добро Пожаловать

Разбор сценария

<SCRIPT type="text/javascript">
           loops=3
           num=1
          while (num <= loops)
           {
               document.write("Добро ")
               num=num+1
            }
          document.write("Пожаловать!")
      </SCRIPT>

Еще одна коротенькая программа, мы ее быстро разберем.

Синтаксис операторов While и For похож. Разница в том, что мы задаем начальное значение индекса и шаг изменения прямо в команде For. Команда While содержит только условие.

while(num<=loops) говорит программе, что она должна повторять цикл, пока значение num меньше или равно значению переменной loops. Видите знак <=? Другими словами, программа повторит цикл трижды, один раз для num=1, один для num=2 и еще один для num=3.

Каждый раз, когда программа выполняет цикл, она пишет "Добро" и прибавляет 1 к num. Когда num доходит до 4, цикл заканчивается. 4 больше 3, поэтому программа напишет "Добро" три раза.

Завершающий штрих — команда document.write со словом "Пожаловать!".

Задание

Первое: заставьте работать программу этого урока. Потом измените ее так, чтобы пользователь получал запрос: "Сколько раз пожелать Вам Добро пожаловать?" Для ответа создайте переменную. Помните команду eval(), которая преобразует текст в число? Затем программа должна написать "Добро" столько раз, сколько ее просили.

Возможное решение

Создается переменная c именем tellme, которой присваивается результат запроса prompt. Затем эта переменная с помощью функции eval() преобразуется в число loops.

Дальше все как в сценарии урока:

<html>
<head>
</head>
<body bgcolor="white">
<SCRIPT type="text/javascript">
  tellme=prompt("Сколько раз пожелать Вам Добро пожаловать?")
  loops=eval(tellme)
  num=1
  while (num <= loops)
     {
     document.write("Добро ")
     num=num+1
     }
     document.write("Пожаловать!")
</script>
<p>
THE END
</body>
</html>
< Лекция 25 || Лекция 26 || Лекция 27 >
Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Эдуард Семынин
Эдуард Семынин

Здравствуйте.

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

 

Alex Chekalov
Alex Chekalov
Украина, Poltava
Виктория Вернер
Виктория Вернер
Украина, Днепропетровск, ДИИТ, 2012