4.11 Цикл Do…While
Общий вид в алгоритме этого оператора следующий:
Нет Да
Синтаксис оператора следующий:
Do While <логическое выражение>
P1
P2
.
.
Pn
Loop
где Do(выполнить), While(пока), Loop(петля) - зарезервированные слова, P1, P2, Pn - операторы
Если логическое выражение после служебного слова While имеет значение True, то выполняются операторы P1, P2, PN , после чего проверка логического выражения повторяется. Если логическое выражение имеет значение False, то происходит выход из цикла. Если условие в заголовке цикла не является истинным с самого начала, цикл Do не выполняется ни разу.
Другая возможная запись цикла:
Do While Until <логическое выражение>
P1
P2
.
.
Pn
Loop
Смысл связки Do While Until <логическое выражение> - до тех пор, пока логическое выражение истинно выполнять операторы P1, P2, Pn.
Например, следующий цикл Do обрабатывает данные до тех пор, пока не будет введено слово “Обед”:
Dim i As Integer
Dim name As String
Do While name<>"Обед"
name = InputBox("Введите Ваше имя или слово Обед для выхода")
If name <> "Обед" Then
MsgBox name
End If
Loop
Вернёмся к задаче, которая была разобрана ранее: Найти сумму целых чисел от 1 до 50. В цикле с оператором For ответом было число 1275. Что изменится в программе, если применить оператор Do While? Прежде всего, надо позаботиться о том, чтобы какая-нибудь переменная менялась в цикле от 1 до 50. Ведь такой величины как параметр цикла нет в конструкции Do While - Loop. В нашем примере это будет переменная K. Задав в качестве условия выхода из цикла k <> 50, и применяя в цикле, оператор sum = sum + k мы просуммируем все 50 слагаемых и должны получить в ответе 1275.
1. В редакторе Visual Basic создайте процедуру и назовите её Сумма
2. Введите код процедуры, как на рис. 40
Рис. 40 Код процедуры Сумма целых чисел
3. Убедитесь, что ответ равен 1275
Рис. 41 Окно с ответом
Yandex.RTB R-A-252273-3
- Запись макросов
- Выполнение макросов
- Просмотр кода макроса
- 1.4 Редактирование кода макроса
- 1.5 Что нельзя сделать с помощью макросов?
- 1.6 Удаление макросов
- 1.7 Назначение макросов командным кнопкам
- 1.8 Назначение макроса графическим изображениям
- 1.9 Назначение макросов кнопкам панелей инструментов
- 2. Введение в процесс разработки приложений
- 2.1 Типы элементов управления
- 2.2 Вставка элементов управления в рабочий лист
- 2.3 Как осуществляется связь элемента управления с рабочим листом?
- 3. Программирование на vba
- 3.1 Объявление типа переменной
- 3.2 Общие правила написания имени переменной
- 3.3 Описание констант
- 4. Применение условных операторов
- 4.1 Простой условный оператор
- 4.2 Сокращённый условный оператор
- 4.3 Составной условный оператор
- 4.4 Многозначные ветвления
- 4.5 Оператор выбора Select Case
- 4.9 Оператор Exit For
- 4.10 Программирование циклов Do
- 4.11 Цикл Do…While
- 4.12 Цикл Do…Until