Введение 8 Этапы создания Windowsприложения 8
Скачать 6.98 Mb.
|
5.4. Логическое выражениеЛогическое (условное) выражение может быть представлено в четырех видах: логическая константа, логическая переменная, простое условие или сложное условие. Любое логическое выражение может иметь только одно из двух значений: Истина (True) или Ложь (False). Логические константы и переменные рассмотрены в разделе 5.1. Простое условие – это два выражения, между которыми стоит знак операции сравнения. В роли выражений могут выступать числа, числовые переменные, математические функции, арифметические выражения, строки, строковые переменные, строковые функции и строковые выражения. Оба выражения, участвующие в сравнении, обязательно должны принадлежать к одному и тому же типу. Если простое условие выполняется, оно имеет значение Истина (True). В противном случае оно имеет значение Ложь (False). Сложное условие – это последовательность простых условий, логических переменных и логических констант, которые соединены между собой знаками логических операций. Традиционно каждую составную часть сложного условия берут в круглые скобки, хотя в Visual Basic 2005 это является необязательным. 5.5. Условный операторУсловный оператор в Visual Basic 2005 предназначен для организации ветвлений. Существует две формы синтаксиса условного оператора: однострочный оператор и многострочный оператор. Как следует из названия, однострочный оператор всегда записывается в одну строку. Он используется в тех случаях, когда ветви алгоритма содержат небольшое количество действий, чаще всего одно. Однострочный условный оператор имеет следующий синтаксис. If Условное Выражение Then Оператор1 Else Оператор2 Многострочный условный оператор записывается в несколько строк. Причем распределение ключевых слов по строкам является обязательным и не может быть изменено. Рассмотрим синтаксис многострочного условного оператора. If Условное Выражение Then Группа Операторов 1 Else Группа Операторов 2 End If В отличие от однострочного условного оператора, ветви многострочного оператора могут содержать не одно, а несколько действий. Поэтому данная форма условного оператора применяется гораздо чаще однострочной формы. Ее традиционно рекомендуют использовать начинающим программистам. Так как принцип работы условного оператора не зависит от его синтаксической формы, то в дальнейшем мы не будем делать разницы между однострочной и многострочной формами. Рассмотрим логику работы условного оператора. Условный оператор позволяет в определенный момент времени выбрать дальнейший путь выполнения алгоритма. Переход к выбранному пути называется условным переходом. Существует два вида условного перехода: одинарный или двойной. Одинарный условный переход (другое его название – обход) предполагает, что действия есть только в одной ветви алгоритма, а другая его ветвь пуста, то есть не содержит ни одного действия. Условный оператор, реализующий такой переход, не имеет части, которая начинается с ключевого слова Else. Если Условное Выражение имеет значение Истина (True), то выполняются операторы, стоящие после ключевого слова Then. Если Условное Выражение имеет значение Ложь (False), то выполнение условного оператора завершается и программа продолжает свою работу с оператора, стоящего после условного. При двойном условном переходе действия находятся в обеих ветвях алгоритма. Условный оператор, реализующий двойной условный переход, содержит как часть Then, так и часть Else. Если Условное Выражение имеет значение Истина (True), то выполняются операторы, стоящие в части Then. Если Условное Выражение имеет значение Ложь (False), то выполняются операторы, стоящие в части Else. Заметим, что части Then и Else никогда не могут быть выполнены одновременно. После завершения работы условного оператора выполнение программы продолжается с оператора, стоящего сразу после него. В качестве примера рассмотрим четыре разных варианта вычисления модуля числа. Исходное число a вводится с помощью функции InputBox. Модуль числа записывается в переменную b. Ее значение выводится с помощью функции MsgBox. Здесь мы рассмотрим несколько фрагментов программного кода. Полный текст программы приведен в приложении 4.
b = a If a < 0 Then b = -a Сначала предполагаем, что модуль числа равен самому числу. Если исходное число – отрицательное, то меняем знак числа на противоположный.
b = a If a < 0 Then b = -a End If Здесь рассуждения полностью аналогичны предыдущему случаю. Разница заключается в форме записи условного оператора.
If a >= 0 Then b = a Else b = -a Если исходное число неотрицательное, то модуль равен самому числу. В противном случае для вычисления модуля исходного числа необходимо изменить его знак.
If a >= 0 Then b = a Else b = -a End If Логика работы этого варианта такая же, как и у предыдущего. Но вместо однострочного условного оператора используется многострочный условный оператор. |