Введение 8 Этапы создания Windowsприложения 8
Скачать 6.98 Mb.
|
5.8. Оператор выбора Select CaseОператор выбора применяется для программирования выбора одной из нескольких взаимоисключающих возможностей (альтернатив), при этом условием выбора ветви алгоритма является значение некоторого выражения. Оператор выбора имеет следующий синтаксис. Select Case Выражение Case Список Значений 1 Операторы 1 Case Список Значений 2 Операторы 2 . . . Case Список Значений N Операторы N Case Else Операторы Else End Select Список значений – это последовательность выражений, разделенных запятым. Выражение может быть представлено в виде константы, числа, строки, переменной, арифметического, логического или строкового выражения. Также Список Значений может включать выражения специального вида: диапазон и луч. Выражение-диапазон позволяет задать диапазон возможных значений. Оно имеет следующий синтаксис. Выражение To Выражение Например, диапазон 1 To 5 определяет отрезок от 1 до 5, включая границы. В Visual Basic 2005 границы всегда включаются в диапазон. Выражение-луч используется, когда надо определить полуинтервал возможных значений. Оно имеет следующий синтаксис. Is Знак операции сравнения Выражение Например, луч Is > 10 задает множество чисел, превышающих 10. Рассмотрим логику работы оператора выбора. Сначала вычисляется значение Выражения, стоящего в заголовке оператора. Если это значение совпадет с одним из элементов Списка Значений 1, то выполнятся блок Операторы 1. В противном случае анализируются элементы Списка Значений 2. В случае совпадения выполняется блок Операторы 2. Иначе анализируется Список Значений 3 и так далее. Если значение Выражения, стоящего в заголовочной части оператора, не совпало ни с одним значением из всех Списков Значений, то выполняется блок Операторы Else, стоящий в части Case Else. Часть Case Else является необязательной и может отсутствовать. В этом случае оператор Select Case не будет выполнять никаких действий, а выполнение программы продолжится с оператора, стоящего после ключевого словосочетания End Select. Обратите внимание, что всегда выполняется только одна ветвь оператора выбора. Даже если значение заголовочного Выражения попадает в несколько Списков Значений. В таких случаях реализуется первая из подходящих ветвей оператора. Разберем два примера использования оператора выбора. Пример 1. Необходимо составить программу, которая для заданного числа выводит его характеристику: ноль, однозначное четное, однозначное нечетное, от 10 до 20, больше 20, отрицательное. Полный текст программы приведен в приложении 6. В качестве заголовочного выражения возьмем анализируемую переменную a. И рассмотрим все возможные ее значения. Каждый вариант будем оформлять в виде отдельного блока Case. Select Case a Case 0 MsgBox("Ноль") Когда значений в списке несколько, они перечисляются через запятую. Case 2, 4, 6, 8 MsgBox("Однозначное четное") Case 1, 3, 5, 7, 9 MsgBox("Однозначное нечетное") Для обработки отрицательных чисел воспользуемся выражением типа луч. Case Is < 0 MsgBox("Отрицательное") Числа от 10 до 20 зададим с помощью диапазона. Case 10 To 20 MsgBox("От 10 до 20") Все остальные числа определим, используя блок Case Else. Case Else MsgBox("Больше 20") End Select В результате мы получили оператор выбора, который решает поставленную задачу, то есть, анализируя значение переменной, выводит характеристику числа. Пример 2. Требуется составить программу, определяющую, какое из трех введенных чисел равно пяти. Предполагается, что все три введенных числа различны. Полный текст программы приведен в приложении 7. Если в первом примере в качестве заголовочного выражения мы использовали переменную, то в данной задаче удобнее использовать значение. Так как требуется определить, какое из чисел равно пяти, то заголовочное выражение оператора выбора будет записано в виде числа 5. А списки значений будут содержать переменные, которые будут сравниваться со значением заголовочного выражения. Select Case 5 Case a MsgBox("a=5") Case b MsgBox("b=5") Case c MsgBox("c=5") Case Else MsgBox("Ни одно из чисел неравно 5") End Select |