Студопедия

КАТЕГОРИИ:


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

Оператор CASE

Оператор CASE является обобщением оператора IF на несколько (N) вариантов альтернативных действий.

 
 


Да Нет

 

 

Список меток 1

 

 

………..

Список меток N

 

 

Формат оператора CASE:

CASE B OF

Список меток 1-ый: S1;

Список меток 2-ой: S2;

…………….

Список меток N-ый: SN;

ELSE S;

END;

где B – выражение, определяющее значение ключа (селектора);

S1÷ SN, S – один выполняемый оператор, простой или составной.

Список меток – это одна или более меток, разделенных запятыми. Метки предназначены для выбора одного из вариантов действий оператора CASE, т.е. для выбора одного из его операторов - S1÷ SN, S. Метки оператора CASE не надо вообще объявлять. Тип результата выражения B и тип меток должны быть идентичны. В качестве значений результата выражения B и меток могут быть любые ординальные типы значений: целые, логические, символьные, перечисляемые или диапазонные.

Ветвь ELSE S является необязательной, т.е. данный оператор может иметь сокращенную форму.

Правила выполнения оператора CASE:

Ø определяется значение B;

Ø оно сравнивается со значениями каждой метки, стоящей перед операторами выбора и выполняется тот из них, чья метка совпала с результатом выражения B, или оператор, для которого значение B входит в диапазон значений его меток;

Ø после выполнения одного из S1÷ SN операторов управление передается оператору, следующему за оператором CASE;

Ø при несовпадении результата выражения B с одной из меток выполняется:

1) при сокращенной форме – оператор следующий за оператором CASE;

2) при полной форме - оператор после слова ELSE;

Ø все метки вариантов оператора CASE должны быть различны, т.е. каждая из них должна быть в списке только один раз;

Ø на метку варианта оператора CASE нельзя переходить с помощью оператора GOTO.

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

если N MOD 17 = 0, то N = 0;

если N MOD 17 = 1 или 6, то N = - N;

если N MOD 17 = 2, 3 или 5, то N = 2* N;

если N MOD 17 = 4, то N = 3* N;

во всех прочих случаях N = 5* N.

Алгоритм решения данной задачи

 
 


Нет Нет Нет

 

Да Да

Да

 

 

Да

Нет

 

 

<== предыдущая лекция | следующая лекция ==>
Условный оператор IF | Операторы цикла. Оператор цикла с параметром (FOR)
Поделиться с друзьями:


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


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



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




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