Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операторы альтернативы (ветвления)Содержание книги
Поиск на нашем сайте
Как и в любом другом языке программирования, в VBA можно проверять условия и выполнять действия в соответствии с результатами проверки условий. Для данной цели применяются следующие операторы (инструкции) принятия решения. 9.4.3.4.1. Условный оператор IF < условие > THEN < оператор (код) > Позволяет выполнить один или несколько операторов, если условие истинно. Можно использовать однострочный или блочный вариант. Если необходимо выполнить более одной строки кода, нужно использовать блочный вариант с оператором End IF. Синтаксис: IF < условие > Then < оператор (код) > IF < условие > Then < блок кода > End IF Примеры: IF x<10 Then z = 0 IF x>10 Then z = 2 z = z + x End IF Позволяет определить два блока операторов. Первый выполняется, когда условие истинно, а второй, когда оно ложно. Пример: IF x<>0 Then y = Sin(x)/x Else y =1 End IF В блоке IF допускается любое количество предложений ElseIF, но ни одно не может находиться после предложения Else. Пример ветвления по двум и более направлениям: IF < условие 1 > Then < блок кода 1 > ElseIF < условие 2 > Then < блок кода 2 > ElseIF < условие 3 > Then < блок кода 3 > Else < блок кода 4 End IF Пример: IF x = -1.57 Then y = -1 ElseIF x = 0 Then y = 0 ElseIF x = 1.57 Then y =1 Else y = Sin(x) End IF 9.4.3.4.2. Оператор выбора варианта
При выборе для выполнения одного из нескольких операторов (блоков операторов) целесообразно и удобно использовать инструкцию Select Case. Синтаксис: Select Case < переменная или выражение > Case < значение 1 > < оператор (блок операторов) 1 > Case < значение 2 > < оператор (блок операторов) 2 > Case < значение 3 > < оператор (блок операторов) 3 > End Select Пример применения оператора выбора в подпрограмме-функции: Function PR(ByVal S As Single, ByVal P As Integer) As Single Select Case P Case 0 PR = S*0 Case 1 PR = S*0.10 Case 2 PR = S*0.20 End Select End Function Sub Krb() ‘Пример программы, показывающий вызов подпрограммы-функции. Dim S As Single Dim Sum As Single Dim P As Integer Dim Prom As Variant S = 5000 Do Prom = InputBox(“Введите номер варианта <от 0 до 5>”) IF Not IsNumeric(Prom) Then MsgBox(“Повторите ввод!”) Loop Until IsNumeric(Prom) P = Prom Sum = PR(S,P) ‘Вызов процедуры-функции. Оператор вызова PR(S,P). MsgBox(“Значение S = ”) & CSng(S) End Sub Допускается вложенность инструкций Select Case. При этом каждой вложенной инструкции Select Case должна соответствовать инструкция End Select. Вопросы для самоконтроля 1. В чем отличие между строчным и блочным вариантами оператора ветвления? 2. Можно ли вставлять инструкцию Else перед инструкцией ElseIF в блочном варианте оператора ветвления? 3. Сколько инструкций ElseIF может быть в блочном варианте оператора ветвления? 4. В чем преимущество оператора выбора варианта перед многовариантным оператором ветвления? Операторы циклов Циклы с предусловием DO WHILE < условие > … LOOP Оператор DO WHILE < условие> … LOOP позволяет проверить условие перед началом цикла и выполнять цикл до тех пор, пока оно имеет значение True. Как только условие цикла примет значение False, выполнение цикла прекратится. Пример: Dim X As Integer ‘Описание переменной X целого типа. X = 0 ‘Начальное значение переменной X. DO WHILE X<=10 ‘ Пока Х<=10, цикл будет повторяться. X = X + 1 ‘Изменение значения переменной Х. LOOP ‘Конец цикла. Другой вариант инструкции такого цикла: WHILE <условие>… WEND Пример: X = 0 WHILE X<12 y = Cos(x) X = X + 1 WEND DO UNTIL < условие > … LOOP Оператор Do Until <условие> … Loop позволяет проверить условие перед началом цикла и выполнять цикл до тех пор, пока оно False. Как только условие цикла станет равно True, выполнение цикла прекратится. Пример: Dim X As Integer ‘Описание переменной X целого типа X = 0 ‘Начальное значение переменной X Do Until X>10 ‘ До тех пор, пока Х<=10, цикл повторяется X = X + 1 ‘Изменение значения переменной Х Loop ‘Конец цикла. Циклы с постусловием DO … LOOP WHILE < условие > Если операторы цикла необходимо выполнить хотя бы раз, то нужно применять цикл с постусловием. Инструкция Do … Loop While <условие> позволяет проверить условие после выполнения операторов тела цикла. Цикл будет повторяться до тех пор, пока выражение в условии цикла имеет значение True. Как только условие цикла примет значение False, выполнение цикла прекратится. Пример: Dim X As Integer X = 0 Do X = X + 1 Loop While X<=10 ‘До тех пор, пока Х<=10, цикл повторяется DO … LOOP UNTIL < условие > В отличие от предыдущего этот цикл будет выполняться до тех пор, пока значение условия равно False. Пример: Dim X As Integer X = 0 Do X = X + 1 Loop Until X>10 ‘Как только переменная станет больше десяти, выполнение цикла прекратится.
|
||
|
Последнее изменение этой страницы: 2016-12-16; просмотров: 767; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.006 с.) |