Синтаксис оператора Select Case — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Синтаксис оператора Select Case

2017-09-27 262
Синтаксис оператора Select Case 0.00 из 5.00 0 оценок
Заказать работу

Select Case <выражение>

Case <список выражений 1>

<операторы 1>

…………..

Case <список выражений N>

<операторы N>

[Case Else

<операторы N+1>]

End Select

 

Здесь

<выражение> - любое численное или строковое выражение,

<список выражений i> - представляют список выражений, отделенных друг от друга запятыми или (если в интервале), то in to ik,

<операторы i> - (i=1,N) – операторы, которые выполняются, если <выражение i> совпадает с любым компонентом <список выражений i>,

[Case Else

<операторы N+1>] необязательная конструкция.

 

Работа:

· Вычисляется <выражение>

· Если значение <выражение> совпадает со значением из Case <список выражений i>, то выполняются соответствующие <операторы i> и затем управление передается на оператор следующий за оператором Select Case

· Если значение <выражение> не совпадает ни с одним из Case <список выражений i>, то при наличии конструкции Case Else выполняются <операторы N+1>. Если конструкция Case Else отсутствует, то сразу выполняется оператор, следующий за оператором Select Case

 

Пример:

Ввести номер дня недели и по его значению вывести какой это день недели: Рабочий день, Суббота или Воскресенье.

 

Public Sub Оператор_Select_Case1()

Dim n_day As Integer

Dim day As String

n_day = CInt(InputBox("Введите номер дня недели"))

Select Case n_day

Case 1 To 5

day = "Рабочий день"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 6

day = "Суббота"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 7

day = "Воскресенье"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

End Select

End Sub

 

 

Public Sub Оператор_Select_Case2()

Dim n_day As Integer

Dim day As String

n_day = CInt(InputBox("Введите номер дня недели"))

Select Case n_day

Case 6

day = "Суббота"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 7

day = "Воскресенье"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case Else

day = "Рабочий день"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

End Select

End Sub

 

 

Операторы повтора

Для организации циклов язык VBA предоставляет несколько гибких и мощных структур – операторы повтора.

А) Оператор цикла с параметром (For — Next)

Оператор цикла позволяет повторять группу операторов заданное число раз

Синтаксис:

For <счетчик цикла>=<начало> To <конец> [Step шаг]

<операторы>

[Exit For]

Next <счетчик цикла>

Где:

· <счетчик цикла> -любая числовая переменная, в которой сохраняется информация о количестве выполненных проходов цикла (счетчик цикла);

· Параметры <начало> и <конец> -это числовые выражения, задающие начальное и конечное значение счетчика и определяющие количество проходов цикла.

· Числовая переменная шаг задает приращение, на которое увеличивается счетчик цикла при каждом проходе. [Step шаг] необязательная фраза. При её отсутствии VBA (по умолчанию) увеличивает счетчик цикла на единицу.

· Во фразе Next <счетчик цикла> имя переменной счетчик указывать необязательно. Но при указании имени переменной улучшается читабельность программы и в случае вложенных циклов For — Next сразу видно, какому именно циклу принадлежит данное слово Next

Работа:

· Переменной <счетчик цикла> присваивается значение параметра <начало> и проверяется условие счетчик цикла < конец. Если условие неверно, то управление передается оператору, следующему за Next. Если же условие - верно, то выполняются все операторы, входящие в блок, обозначенный как <операторы>, вплоть до ключевого слова Next

· Значение переменной <счетчик цикла> увеличивается на величину, заданную во фразе [Step шаг] или на единицу, если фраза Step не указана

· Управление возвращается

· Данный процесс будет выполняться, пока значение <счетчик цикла> не достигнет значение <конец>

· Досрочно завершить цикл For — Next можно с помощью оператора Exit For, который располагается в том месте блока <операторы>, где необходимо выйти из оператора цикла For — Next не дожидаясь условия завершения цикла.

 

На блок – схеме оператор изображается следующим образом:

Пример 1

Вычислить n-ый член последовательности, заданный формулой , если

 

Public Sub Prog1()

Dim n As Byte

Dim a1 As Integer, a2 As Integer, an As Integer

n = CByte(InputBox("введите N "))

a1 = 1: a2 = 1

For i = 3 To n

an = a2 + a1

a1 = a2: a2 = an

Next i

MsgBox n & "-й член последовательности = " & an

End Sub

 

Пример 2

Задана последовательность хi вещественных чисел. Вычислить

 

 

Public Sub Prog2()

Dim n As Byte

Dim i As Byte

Dim xi As Double, s As Double

n = CByte(InputBox("введите N "))

s = 0

For i = 1 To n

xi= CDbl(InputBox("Введите " & i & "-й элемент последовательности"))

s = s + xi

Next i

Worksheets(1).Range("a1") = "Значение суммы равно"

Worksheets(1).Cells(2, 1) = s

End Sub

 

В) Операторы повтора

Инструкция For…Next применяется в тех случаях, когда известно число повторений.

Если число повторений неизвестно, то применяются операторы повтора.


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.02 с.