Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mv_basic.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
        1. Оператор варианта Select Case

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

Select Case выражение

Case список_выражений_1

блок_операторов_1

Case список_выражений_2

блок_операторов_2

Case список_выражений_n

блок_операторов_n

[Case Else

блок_операторов_n+1]

End Select

Здесь,

выражение - выражение арифметического или символьного типа.

список выражений может иметь одну из следующих форм:

  • выражение;

  • выражение To;

  • выражение Is операция отношения выражение.

Если значение выражения содержится в список_выражений_1, находящегося после первого по порядку служебного слова Case, то выполняется блок_операторов_1. Если значение выражения содержится в список_выражений_2, то выполняется блок_операторов_2 и т.д. Когда значение выражения не содержится ни в одном из приведенных списков, то выполняется блок_операторов_n+1, находящийся после служебного словосочетания Case Else, которе является необязательным в рассматриваемой конструкции.

Пример:

Dim x, y As Single

Select Case X 'выбор

Case 1, 3 'X = 1 или X = 3

Y= X^2

Case 5 To 10 '5 < = X <= 10

Y= X^2/3

Case 12 Is >= 15 'X = 12 или X >= 15

Y= X+3

Case Else 'в противном случае

Y= X

End Select

        1. Оператор цикла с параметром For…Next

Используется в том случае, когда количество повторов заданного блока операторов известно заранее. Данная конструкция выглядит следующим образом:

For счетчик_цикла = начальное_значение To конечное_значение [Step шаг]

блок_операторов_1

[Exit For]

[блок_операторов_2]

Next [счетчик_цикла]

Пара ForNext определяет начало и конец цикла.

Блок_операторов_1 и блок_операторов_2 между For и Next составляют тело цикла.

Счетчик_цикла - это числовая переменная, не может быть элементом массива или элементом пользовательского типа данных.

Начальное_значение и шаг - это арифметические выражения (в частном случае - это константа или переменная). Они определяют значение счетчик_цикла перед очередным выполнением тела цикла. Перед первым выполнением тела цикла счетчик_цикла равен начальному_значению. Перед вторым выполнением тела цикла счетчик_цикла увеличивается на 1 (если шаг не задан) или на шаг (если шаг задан) и т.д.

Конечное_значение - это арифметическое выражение (в частном случае - это константа или переменная). Определяет окончание работы цикла. Цикл выполняется до тех пор, пока значение счетчик_цикла не выйдет за границу конечного_значения.

Exit For может находится в любом месте между For и Next, используется для досрочного прекращения выполнения цикла (управление передается оператору, следующему за Next). Применяется обычно в условном операторе, проверяющего условие выхода из цикла, например, в случае ошибки. Причем, если осуществляется досрочное прекращение цикла, то блок_операторов_1 выполняется очередной раз, а блок_операторов_2 - нет.

После завершения цикла управление передается оператору, следующему за Next.

Дополнительные достаточные условия для выполнения цикла:

  • шаг >=0 и начальное значение <= конечное значение;

или

  • шаг <=0 и начальное значение >= конечное значение.

Примеры.

'Заполнение массива символами таблицы ASCII

Dim I As Integer

Dim C(255) As String

For I = 0 To 255

C(I) = Chr(I) 'стандартная функция Chr возвращает

'символ для указанного кода

Next I

'Досрочное прерывание цикла

Dim j As Integer

Dim Sum As Single

Sum=2

For j = 1 To 10

Sum = Sum + j

If Sum > 6 Then

Exit For 'выход из цикла, если значение Sum больше 6

End If

Next

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]