Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
02.05.2014
Размер:
142.34 Кб
Скачать

Оператор Select Case

Оператор If…ElseIf хорошо подходит для принятия решений на основе последовательной проверки уменьшающегося количества значений по различным условиям. Если же приходится проверять одно и то же значение в сравнении с различными условиями, то наиболее эффективным, простым в записи и удобочитаемым является оператор Select Case (Case – ящик). Его синтаксис:

Select Case значение

Case критерий1

(операторы, выполняемые, когда значение удовлетворяет критерию 1)

Case критерий2

(операторы, выполняемые, когда значение удовлетворяет критерию 2)

' дополнительные операторы Case

Case Else

(операторы, выполняемые, когда значение не удовлетворяет ни одному из приведенных критериев)

End Select

Если значение свойства не будет удовлетворять ни одному из критериев в операторах Case, то управление перейдет к оператору Case Else, который всегда находится в самом конце структуры Select Case.

Пример оператора условного перехода Select Case:

Select Case objFilm.Type

Case "Слайдовая"

Слайдовая = Слайдовая +1

Case "Цветная негативная"

ЦветнаяНегативная = ЦветнаяНегативная + 1

Case "ЧБ негативная"

ЧБНегативная = ЧБНегативная + 1

Case Else

MsgBox "Неизвестный тип пленки"

End Select

Числовой пример условного перехода с оператором Select Case

  1. Составляется таблица:

Объем продаж, тыс. руб.

Комиссионные, %

  1. 0 - 9999

8

  1. 10000 – 39999

10

  1. 40000 и более

14

  1. Задачу начисления премии решается просто с помощью оператора Select Case:

Option Explicit

Function Премия(Продажа As Single) As Single

Select Case Продажа

Case 0 To 9999

Премия = 0.08 * Продажа

Case 10000 To 39999

Премия = 0.1 * Продажа

Case Is > 40000

Премия = 0.14 * Продажа

End Select

End Function

Sub Main()

Dim Сумма As Single

Сумма = Премия(30000) 'присвоение путем вызова возвращенного значения процедуры Function

MsgBox (CStr(Сумма))

End Sub

Операторы циклов:

- For…Next - заданное число раз;

- For EachNext - для каждого объекта из семейства объектов;

- Do…Loop - до тех пор, пока некоторое условие имеет значение True.

Циклы могут быть вложенными: один – внутри другого.

При работе с вложенными циклами существует простое правило: внутренний цикл должен закончиться раньше, чем начнется внешний.

Повторение под управлением цикла For…Next

Если перед выполнением цикла известно, сколько раз он должен выполняться, то используйте цикл For…Next. Число проходов цикла задается значениями начало и конец, которые могут быть целыми числами, переменными и даже сложными выражениями.

В процессе выполнения переменная счетчик хранит информацию о числе выполненных проходов цикла. Синтаксис:

For имя счетчика = начало To конец

(операторы, выполняющиеся при каждом проходе цикла)

Next имя счетчика

Sub СчётДоДесяти( )

Dim j As Integer

For j = 1 To 10

Debug.Print "Дубль № " & j

Next j

End Sub

Соседние файлы в папке Лекции по информатике1