Студопедия

КАТЕГОРИИ:


Архитектура-(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




END IF

ELSE

END IF

 

В отличие от строчной, блочная форма оператора IF … THEN допускает использование нескольких условий, после каждого из которых следует (необязательный) блок операторов, выполняющийся только в случае истинности соответствующего выражения. Следующее условие проверяется только в случае ложности предыдущего. В случае же истинности одного из условий (и последующего выполнения соответствующего блока операторов) никакие дальнейшие условия блочного оператора IF … THEN уже не проверяются, а выполнение программы продолжается с оператора, следующего за ключевым словом END IF.

Исчерпывающее рассмотрение базовой управляющей алгоритмической структуры «Ветвление» даётся в практикуме [20]. Мы же ограничимся приведением ещё одного примера, комментарии к которому могут быть составлены заинтересованным читателем самостоятельно:

 

IF рейтинг < 55 THEN

итог = «неудовлетворительно»

ELSEIF рейтинг < 70 THEN

итог = «удовлетворительно»

ELSEIF рейтинг < 85 THEN

итог = «хорошо»

итог = «отлично»

 

11.3 Оператор выбора варианта *

 

Разновидность структуры «ветвление» – выбор одного из нескольких блоков – показана на рисунке 11.2. Реализуется эта структура оператором выбора варианта SELECT CASE … END SELECT. Логика работы оператора выбора очень похожа на блочную форму оператора IF … THEN. Также выполняется только один из нескольких блоков операторов (вычислительных процессов). Отличие заключается в том, что все условия выбора связаны с проверкой значения одного общего тест-выражения, а в условиях оператора IF … THEN могут проверяться совершенно независимые значения.

 

Рис. 11.2. Структура «выбор»

 

Приведём синтаксис оператора SELECT CASE … END SELECT, который выполняет один из нескольких блоков операторов (на рис. 11.2 – процессов) в зависимости от значения тест-выражения:

 

SELECT CASE тест_выражение

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

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

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

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

[ CASE ELSE

[ блок_операторов_иначе ]]

 

В качестве тест-выражения может выступать любое числовое или даже строковое выражение. А выбор блока операторов осуществляется последовательным сравнением значения тест-выражения со списками выражений, которые могут содержать один или более разделённых запятыми элементов, каждый из которых относится к одному из трёх видов: выражение, определяющее единственное значение; пара выражений, разделённых ключевым словом и определяющая ограниченный значениями этой пары диапазон; выражение, начинающееся с ключевого слова IS и следующего за ним знака операции отношения (сравнения), также определяющее соответствующий диапазон.

Работу оператора SELECT CASE … END SELECT можно проиллюстрировать на примере следующего фрагмента программы, запускаемой щелчком по кнопке и выполняющей пересчёт рейтинговой оценки из стобалльной шкалы в четырёхбалльную:

 

Select Case Rating ' тест-выражение

Case Is < 0, Is > 100 ' выбор по списку_выражений

txtОценка.Value = "Вне диапазона"

Case Is >= 85 ' "Отлично", если Rating>= 85

txtОценка.Value = "Отлично"

Case 70 To 85 ' "Хорошо", если Ratingв диапазоне 70 – 85

txtОценка.Value = "Хорошо"

Case Is >= 55 ' не хорошо, но вполне удовлетворительно

txtОценка.Value = "Удовлетворительно"

Case Else ' иначе – всё, что осталось…

txtОценка.Value = "Неудовлетворительно"




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


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


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



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




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