|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Использование условных инструкцийУсловные инструкции проверяют, имеет ли условие значение True, или же False, и, в зависимости от результата, указывают одну или несколько дальнейших инструкций. Обычно условие является выражением, которое использует оператор сравнения для сравнения одного значения переменной с другим. Варианты условной инструкции: · If...Then...Else: ветвление программы в зависимости от значения условия True или False; · Select Case: выбор ветви из набора условий.
3.3.1 Инструкция If...Then...Else
Инструкция If...Then...Else выполняет определенные инструкции или наборы инструкций в зависимости от значения условия. Допускаются многократно вложенные инструкции If...Then...Else. Однако для облегчения чтения программы вместо многократно вложенных инструкций If...Then...Else иногда предпочтительнее использовать инструкцию Select Case. Для выполнения только одной инструкции, когда условие имеет значение True, используется однострочный синтаксис инструкции If...Then...Else. Вид однострочного синтаксиса без ключевого слова Else: If <условие> Then инструкция Пример однострочного синтаксиса: If sValue = "" Then Exit Sub Для выполнения нескольких строк программы, либо когда надо выполнять одни инструкции, когда условие истинно, и другие, когда ложно, используется многострочный синтаксис. Этот синтаксис обязательно содержит инструкцию End If и может содержать Else: If <условие> Then [инструкции] [Else] [инструкции] End if
Примеры многострочного синтаксиса:
If Y(i, j) > maxim Then maxim = Y(i, j): imax = i End If
If Svalue = 0 Then MsgBox "Ошибка - Svalue=0" Else MsgBox "Посчитаем для “ & Svalue MsgBox "Расчет куба =“ & Svalue^3 End If
Если первое условие имеет значение False, для проверки второго условия к If...Then...Else добавляется инструкция ElseIf. Например, в следующей процедуре Function вычисляется премия на основе оценки проделанной работы. Инструкция, следующая за Else, выполняется, если условия во всех инструкциях If и ElseIf имеют значения False. Function Premiy(koef_uchast, zarplata) If koef_uchast = 1 Then Premiy = zarplata * 0.3 ElseIf koef_uchast = 2 Then Premiy = zarplata * 0.2 ElseIf (koef_uchast = 3 Or koef_uchast = 4) Then Premiy = zarplata * 0.1 ElseIf (koef_uchast >= 5 And koef_uchast <= 7) Then Premiy = zarplata * 0.05 ElseIf koef_uchast > 9 Then Premiy = -10 Else Premiy = 0 End If End Function 3.3.2 Инструкция Select Case Инструкция Select Case может служить альтернативой инструкции ElseIf в If...Then...Else при оценке одного выражения, которое имеет несколько возможных значений. В то время как If...Then...Else для каждой инструкции ElseIf оценивает разные выражения, инструкция Select Case оценивает выражение только один раз, в начале управляющей структуры. Приведем пример функции Premiy, выполненной с помощью Select Case. Function Premiy(koef_uchast, zarplata) Select Case koef_uchast Case 1 Premiy = zarplata * 0.3 Case 2 Premiy = zarplata * 0.2 Case 3, 4 Premiy = zarplata * 0.1 Case 5 To 7 Premiy = zarplata * 0.05 Case Is > 9 Bonus = -10 Else Premiy = 0 End Select End Function
3.4 Вывод отладочной информации Для быстрого просмотра результатов вычислений в окне отладки можно использовать метод Print вместе с объектом Debug. Для этого необходимо включить окно вывода отладочной информации командой меню View\ Immediate Window либо <Ctrl>+<G>. Синтаксис: Debug.Print [списокПечати] СписокПечати– необязательный аргумент. Выражение или список печатающихся выражений. Если этот аргумент опущен, выводится пустая строка. Для списокПечати используются следующие синтаксис и элементы: {Spc(n) | Tab(n)} выражение позиция Spc(n)– указывает количество пробелов n, вставляемых в выводящийся текст. Tab(n)– помещает курсор в экранный столбец с номером n. Элемент Tab без аргумента помещает курсор в первый столбец следующей зоны печати. Выражение – числовое выражение или строковое выражение, определяющее выводящийся текст. Позиция– указывает позицию, в которой выводится следующий символ. Двоеточие (:) помещает курсор непосредственно за последним выведенным символом. Tab(n) помещает курсор в экранный столбец с номером n. Элемент Tab без аргумента помещает курсор в первый столбец следующей зоны печати. Если аргумент Позицияопущен, следующий символ выводится в начале новой строки. Для печати нескольких выражений следует разделять их точкой с запятой или пробелом. Если выражения разделены запятой, то каждое следующее начинается с новой зоны печати. Все данные отображаются в окне отладки с учетом национальной настройки. Используется соответствующее форматирование (с указанным символом десятичного разделителя), а ключевые слова выводятся на языке, используемом в главном приложении. Логические (тип Boolean) значения печатаются как True или False. Ключевые слова True и False отображаются в соответствии с языком головного приложения. Пример использования метода Print Метод Print выводит значение переменной Z в окне отладки. Dim X As Single, Y As Single, Z As Single X = 23: Y = 0.15 Z = X * Y Debug.Print X; Y; Z Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |