28600

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

Доклад

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

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

Русский

2013-08-20

13.92 KB

0 чел.

Оператор выбора 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 получит значение "весна", и т.д.


 

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

19250. УСТРОЙСТВО И РАБОТА ТОКАМАКА 1.6 MB
  Лекция 13 УСТРОЙСТВО И РАБОТА ТОКАМАКА Принцип действия принципиальная схема токамака параметры установки устойчивость тороидального плазменного шнур параметр удержания  энергетическое время жизни. Принцип действия. Принципиальная схема В заключите...
19251. УДАЛЕНИЕ ИЗ ТЕРМОЯДЕРНОЙ УСТАНОВКИ ТЕПЛА И ЧАСТИЦ, ДИВЕРТОР 136 KB
  Лекция 14 Удаление из термоядерной установки тепла и частиц ДИВЕРТОР Конфигурация скрэпслоя в токамаке с дивертором кондиционирование поверхности разрядных камер токамаков Hмода и Lмода режимов удержания плазмы Дивертор нужен не только очистки плазмы от
19252. РЕАКТОР ИТЭР 579.5 KB
  Лекция 15 Реактор ИТЭР Основные параметры ИТЭР бланкет системы диагностики плазмы выбор материалов первой стенки перспективы. Проектирование термоядерных реакторов началось в семидесятых годах прошлого века когда на установках были получены данные позво
19253. Понятие излучения. Реактор как источник излучений. Первичные и вторичные источники излучений. Задачи с источником на границе 71.5 KB
  Лекция 1. Понятие излучения. Реактор как источник излучений. Первичные и вторичные источники излучений. Задачи с источником на границе. 1.1. Понятие излучения. В рамках курса с учетом акцента на задачи радиационной защиты введем понятие излучения так. Излучение и
19254. Понятие радиационной защиты. Классификация защит. Построение задачи расчета защиты 39 KB
  Лекция 2. Понятие радиационной защиты. Классификация защит. Построение задачи расчета защиты. 2.1. Понятие радиационной защиты. Под радиационной защитой понимают материалы конструкцию располагаемые между источником опасности излучения и объектом защиты для о
19255. Понятие поглощенной и эквивалентной дозы. Коэффициенты качества излучения. Предельно допустимая доза облучения 36.5 KB
  Лекция 3. Понятие поглощенной и эквивалентной дозы. Коэффициенты качества излучения. Предельно допустимая доза облучения. 3.1. Понятие поглощенной дозы. Поглощенная доза излучения доза излучения D – отношение энергии переданной излучением веществу в некотором о...
19256. Газокинетическое уравнение переноса нейтронов в неразмножающей среде. Решение уравнения переноса для нерассеянной компоненты излучения 122.5 KB
  Лекция 4. Газокинетическое уравнение переноса нейтронов в неразмножающей среде. Решение уравнения переноса для нерассеянной компоненты излучения. 4.1. Газокинетическое уравнение переноса нейтронов в неразмножающей среде. Неразмножающей подкритической будем н...
19257. Классификация и обзор методов расчета полей нейтронов и гамма-квантов 70 KB
  Лекция 5. Классификация и обзор методов расчета полей нейтронов и гаммаквантов. 5.1. Классификация методов расчета полей нейтронов и гаммаквантов. Методы расчета полей нейтронов и гаммаквантов можно разделить на приближенные и точные. Приближенные методы не
19258. Модель сечения выведения для быстрых нейтронов: основные предположения, границы применимости. Сечение выведения смесей и гетерогенных сред 78 KB
  Лекция 6. Модель сечения выведения для быстрых нейтронов: основные предположения границы применимости. Сечение выведения смесей и гетерогенных сред. 6.1. Модель сечения выведения для быстрых нейтронов. Модель сечения выведения – приближенный метод вычисления мо