Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Оператор Do…Loop
Существует четыре типа инструкции Do…Loop – два с предусловием и два с постусловием. Цикл Do…Loop с предусловием: 1). Do While < условие > [ операторы_1 ] [Exit Do] [ операторы_2 ] Loop Данный оператор повторяет выполнение операторов тела цикла до тех пор, пока заданное логическое условие истинно. Каждый раз перед выполнением операторов тела цикла проверяется условие и выполняется тело цикла, когда условие равно True, когда False – не выполняется, выполнение цикла завершается и программа переходит к выполнению оператора, следующего за оператором Do…Loop. 2). Do Until < условие > [ операторы_1 ] [Exit Do] [ операторы_2 ] Loop Оператор выполняет циклические вычисления до тех пор, пока изначально ложное логическое условие не станет истинным. Отличие данного цикла от предыдущего состоит в том, что тело цикла выполняется, когда условие равно False, когда True – не выполняется и осуществляется выход из цикла. Необязательный оператор Exit Do предусматривает выход из цикла из любого места тела цикла. Цикл Do…Loop с постусловием: 1). Do [ операторы_1 ] [Exit Do] [ операторы_2 ] Loop While < условие > 1). Do [ операторы_1 ] [Exit Do] [ операторы_2 ] Loop Until < условие > Цикл с постусловием в отличие от цикла с предусловием будет выполнен обязательно хотя бы один раз. Использование ключевых слов While и Until с условием такое же, как и в циклах с предусловием. Ниже приведены примеры использования оператора Do…Loop. Sub DWL() Dim sName As String Dim iResponse As Integer Do While sName = " " sName = InputBox(" Введите свое имя: ") If sName = " " Then MsgBox " Вы не ввели имя " iResponse =MsgBox(" Хотите выйти из программы? ", _ vbYesNo) End If If iResponse = vbYes Then Exit Sub Loop MsgBox " Вы ввели имя " & sName End Sub
При запуске процедуры DWL выводится окно, и если имя введено, то выводится окно с сообщением введённого имени. Если же имя не введено и нажата кнопка OK или Cancel, то выводится диалоговое окно и при нажатии кнопки “OK” выводится диалоговое окно При нажатии кнопки “Да” выполнение процедуры завершается, а при нажатии “Нет” появится окно с предложением ввести имя снова. В результате выполнения процедуры DUL в ячейке A1 активного листа будет выведено вычисленное значение, равное 10. Sub DUL() Dim j As Integer Range(" A1") = 0 Do Until Range(" A1") > 8 Range(" A1") = Range(" A1") + j j = j + 1 Loop End Sub
|