Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Select. Оператор варианта Select Case




Оператор варианта Select Case

END IF

END IF

Если результатом проверки логическое_выражение является значение True, то будет выполнен блок then_последовательность, находящийся после ключевого слова Then. С другой стороны, если проверка логического выражения дала результат False, то будет выполнен блок else_последовательность, расположенный после ключевого слова Else.

В том случае, когда определенное действие (или набор действий) нужно выполнить после проверки не одного, а нескольких условий, следует использовать следующую конструкцию:

IF логическое_выражение_1 THEN

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

[ELSEIF логическое_выражение_2 THEN

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

[ELSE

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

Блок_операторов - это один оператор или последовательность операторов.

Если результатом проверки логического_выражения_1, находящегося после ключевого слова If, является значение True, то будут выполнены операторы из блока_операторов_1, находящегося после ключевого слова Then. Если же оно ложно (False), то проверяется логическое_выражение_2, находящегося после ключевого слова ElseIf. В случае его истинности выполняются операторы из блока_операторов_2 и т. д. Если ни один из этих условий не является истинным, то есть результатом всех проверок является значение False, то выполняются операторы из блока_операторов_n, расположенные после ключевого слова Else.

Примеры:

If A > 10 Then A = A+1: B = B + A: GoTo Vstavka ' обход

If Name = "Иван" Then GoTo 555 ' обход

'Вариант с вложенными конструк- Вариант с конструкцией If…ElseIf

'циями If… Then

If Answer = 5 Then ' ветвление If Answer = 5 Then ' ветвление

Ball = "Отлично" Ball = "Отлично"

Else ElseIf Answer = 4 Then

If Answer = 4 Ball = "Хорошо"

Ball = "Хорошо" ElseIf Answer = 3 Then

Else Ball = "Удовлетворительно"

If Answer = 3 Else

Ball = "Удовлетворительно" Ball = "Неудовлетворительно"

Else End if

Ball = "Неудовлетворительно"

End if

End if

End if

 

 

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

 

Select Case выражение

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

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

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

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

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

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

[Case Else

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

 

Здесь,

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

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

- выражение;

- выражение 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

 

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

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

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

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

[Exit For]

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

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

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

Блок_операторов_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

 

2.7.2.5. Цикл Do…Loop

 

Применяется в том случае, когда число повторений заданного блока операторов (тело цикла) заранее неизвестно. Существует четыре разновидности данной конструкции.

При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще (если проверяемое условие не выполняется). Эти конструкции выглядят следующим образом:

Do [{While | Until} логическое_выражение ]

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

[Exit Do]

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




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


Дата добавления: 2014-12-23; Просмотров: 1015; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.