28600

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

Доклад

Информатика, кибернетика и программирование

Условный оператор удобен в тех случаях, когда необходимо проверить 1-2-3 варианта. При большем числе получается слишком громоздкая и неудобная для восприятия конструкция из множества вложенных инструкций. Скажем, если требуется проверить 5 значений переменной x, то получим такую конструкцию:

Русский

2013-08-20

13.92 KB

1 чел.

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

Условный оператор удобен в тех случаях, когда необходимо проверить 1-2-3 варианта. При большем числе получается слишком громоздкая и неудобная для восприятия конструкция из множества вложенных инструкций. Скажем, если требуется проверить 5 значений переменной x, то получим такую конструкцию:

if x = 1 then ; else if x = 2 then ; else if x = 3 then ; else if x = 4 then ; else if x = 5 then ;

Очевидно, что код получается слишком громоздким, и малоэффективным. В таких случаях на помощь приходит семафор - оператор множественного выбора case. Он состоит из выражения, являющегося селектором, списка вариантов, представленного константами или значениями, и необязательной части else. Таким образом, формат оператора case таков:

case [выражение-селектор] of   <значение 1>: <код для значения 1>;   <значение 2>: <код для значения 2>;   ...   <значение N>: <код для значения N>;   [else <код для непредусмотренных явно значений>;] end

Единственным ограничением семафора, в сравнении с условным оператором, является то, что в качестве селектора могут выступать лишь данные порядкового типа, скажем, целым числом или же символом. Впрочем, для подавляющего числа случаев этого достаточно. Например, приведенный выше вариант кода с 4 вложенными условными операторами, при помощи case можно оформить так:

case x of 1: ; 2: ; 3: ; 4: ; 5: ; end;

Здесь подразумевается, что типом переменной x является целое число, поскольку тип значений, коими в данном случае являются целые числа, должен соответствовать типу селектора.

Инструкция выбора выполняется следующим образом: вначале, при необходимости, вычисляется значение селектора, затем производится последовательный обход вариантов на предмет совпадения с селектором. В случае совпадения, выполняется инструкция, предусмотренная для этого варианта, после чего выполнение оператора выбора заканчивается. Если же ни один из перечисленных вариантов не совпал со значением селектора (для нашего случая - если x меньше 1 или больше 5), то либо оператор завершается без каких-либо действий, либо, при наличии блока else, выполняются заданные в нем инструкции.

В качестве констант выбора могут выступать не только единичные значения, но и их список, разделенный запятыми, или же диапазоны, определенные границами из 2 констант, разделенных двумя точками. В таком случае мы можем объединить логически связанные значения в группы, для которых следует выполнить один и тот же код. Например, таким образом можно получить название времени года в зависимости от порядкового номера месяца (листинг 4.1).

Листинг 4.1. Использование оператора case

var month: integer; season: string; ... case month of 1,2,12: season := "зима"; 3..5: season := "весна"; 6..8: season := "лето"; 9..11: season := "осень"; else season := "других не знаем!"; end;

В данном случае, если переменная month имеет значения 1, 2 или 12, то переменной season присваивается значение "зима", если же значение переменной month окажется в диапазоне от 3 до 5 (включительно), то season получит значение "весна", и т.д.


 

А также другие работы, которые могут Вас заинтересовать

40085. ССС: геостационарные, низкие и средневысотные орбиты - принципы построения и их параметры 18.08 KB
  В системах спутниковой связи ССС основными показателями определяющим размеры зоны обслуживания качество и энергетику радиолиний являются тип орбиты и ее характеристики. Системы использующие КА на GEO MEO и LEOорбитах Показатель Геостац средне низкие Высота орбиты км 36 000 500015 000 5002000 Количество КА в ОГ 3 812 4866 Зона покрытия одного КА угол радиовидимости 50 от поверхности Земли 34 2528 37 Время пребывания КА в зоне радиовидимости в сутки 24 ч 152 ч 1015 мин Задержка при передаче речи мс Региональная связь...
40086. Параметры первичных сигналов 26.89 KB
  Основными первичными сигналами электросвязи являются: телефонный звукового вещания телевизионный телеграфный передачи данных. Основными параметрами телефонного сигнала являются: мощность телефонного сигнала PТЛФ. Согласно данным МСЭТ средняя мощность телефонного сигнала в точке с нулевым измерительным уровнем на интервале активности составляет 88 мкВт. С учетом коэффициента активности 025 средняя мощность телефонного сигнала PСР равна 22 мкВт.
40087. Теорема Шеннона для оценки производительности канала связи 17.5 KB
  Зато снизу к этому пределу можно подойти сколь угодно близко обеспечивая соответствующим кодированием информации сколь угодно малую вероятность ошибки при любой зашумленности канала. пропускная способность канала означающая теоретическую верхнюю границу скорости передачи данных которые можно передать с данной средней мощностью сигнала через аналоговый канал связи подверженный аддитивному белому гауссовскому шуму мощности равна: где пропускная способность канала бит с; полоса пропускания канала Гц; полная мощность сигнала над...
40088. Протокол, интерфейс, стек протоколов. Модель ISO/OSI 54.29 KB
  Интерфейс определяет набор услуг которые нижележащий уровень предоставляет вышележащему. Международная Организация по Стандартам Interntionl Stndrds Orgniztion ISO разработала модель которая четко определяет различные уровни взаимодействия систем дает им стандартные имена и указывает какую работу должен делать каждый уровень. Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Каждый уровень поддерживает интерфейсы с выше и нижележащими уровнями.
40089. Обобщенная структурная схема систем электросвязи 27.45 KB
  Обобщенная структурная схема систем электросвязи показана на Рис. Обобщенная структурная схема систем электросвязи Сообщение при помощи преобразователя сообщениесигнал преобразуется в первичный электрический сигнал. Первичные сигналы не всегда удобно а иногда невозможно непосредственно передавать по линии связи.
40090. Организации стандартизации в области телекоммуникаций 15.26 KB
  Организации стандартизации в области телекоммуникаций Организации стандартизации в области телекоммуникаций это организации цель деятельности которых заключается в создании единых международных стандартов. Организации стандартизации обеспечивают условия для обсуждения прогрессивных технологий утверждают результаты этих обсуждений в виде официальных стандартов а также обеспечивают распространение утвержденных стандартов. Порядок работы организаций стандартизации по принятию стандартов может отличаться. Наиболее известными организациями...
40091. Амплитудная модуляция 67.25 KB
  2 Параметр МАМ = DV V называется глубиной амплитудной модуляции. При МАМ = 0 модуляции нет и vt = v0t т.3 показана форма передаваемого сигнала а несущего колебания до модуляции б и модулированного по амплитуде несущего колебания в. Такой вид модуляции называется частотной модуляцией.
40092. Частотное разделение каналов 135.63 KB
  2 Функциональная схема многоканальной системы с частотным разделением каналов В зарубежных источниках для обозначения принципа частотного разделения каналов ЧРК используется термин Frequency Division Multiply ccess FDM. В многоканальных системах передачи с частотным разделением каналов МСПЧРК по каналу передаётся только сигнал одной боковой полосы а несущая частота берётся от местного генератора. С целью уменьшения влияния соседних каналов уменьшения переходных помех обусловленного неидеальностью АЧХ фильтров между спектрами...
40093. Принцип временного разделения каналов 54.58 KB
  Принцип временного объединения каналов удобно пояснить с помощью синхронно вращающихся распределителей на передающей и приемной стороне рис. Основные этапы образования группового сигнала показаны на рис. Формируемые отсчеты сигналов на выходе первого импульсного модулятора рис.10в на выходе второго импульсного модулятора рис.