End Select
В начале конструкции расположены ключевые слова Select Case, указывающие, что расположенный рядом с ними параметр “сравниваемое значение” будет проверяться на несколько значений. Далее следуют группы команд, начинающиеся с ключевого слова Case. Если параметр “сравниваемое значение” равен значению, указанному в текущем операторе Case, то будут выполняться команды, расположенные между этим и следующим ключевым словом Case. В качестве примера воспользуемся конструкцией Select Case для выбора удельного активного сопротивления и расчета полного активного сопротивления R в зависимости от заданной марки провода воздушной линии электропередачи:
Private Sub Marka() m = InputBox(" Введите марку провода") l = InputBox(" Введите длину линии") Select Case m Case " АС 70/11" R = l * 0.428 Case " АС 95/16" R = l * 0.306 Case " АС 120/19" R = l * 0.249 Case " АС 150/24" R = l * 0.198 Case " АС 185/29" R = l * 0.162 Case Else R = " Выбранная марка провода отсутствует в базе данных" End Select MsgBox R End Sub
Select Case может выполнить не более одной из содержащихся в ней последовательностей конструкций. После того как одно из условий оказалось равно True, и была выполнена соответствующая последовательность конструкций, Select Case завершит свою работу. Остальные условия проверяться не будут.
Реализация циклических алгоритмов
Для реализации циклических алгоритмов используются три вида операторов цикла: For, While, Do … Loop, форматы и примеры которых приведены ниже. Оператор For имеет следующий формат записи:
For переменная = начальное значение To конечное значение [операторы] Next [переменная]
В качестве примера приведем программу, в которой оператор For используется для вычисления суммы s=12+22+…+n2:
Sub Sum () n = InputBox(" Введите количество слагаемых") s = 0 For i = 1 To n s = s + i ^ 2 Next MsgBox s End Sub
Оператор While имеет следующий формат записи:
While условие [операторы] Wend
Для сравнения принципа работы рассматриваемого оператора с оператором For приведем пример программы, выполняющей аналогичную задачу вычисления суммы
Sub Sum() Dim i As Integer n = InputBox(" Введите количество слагаемых") s = 0 i = 0 While i < n + 1 s = s + i ^ 2 i = i + 1 Wend
Оператор Do... Loop имеет следующий две разновидности записи:
Do [{While / Until} условие] [операторы] [ Exit Do ] [операторы] Loop или: Do [операторы] [ Exit Do ] [операторы] Loop [{While / Until} условие]
Приведем пример предыдущей задачи с использованием данного оператора
Sub Sum() Dim i As Integer n = InputBox(" Введите количество слагаемых") s = 0 i = 0 Do While i < n + 1 s = s + i ^ 2 i = i + 1 Loop MsgBox s End Sub
или
Sub Sum() Dim i As Integer n = InputBox(" Введите количество слагаемых") s = 0 i = 0 Do s = s + i ^ 2 i = i + 1 Loop Until i > n MsgBox s End Sub
|