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


 

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

8496. Административно - правовая охрана общественной безопасности личности и общественного порядка 295.5 KB
  Административно - правовая охрана общественной безопасности личности и общественного порядка Введение Современные проблемы обеспечения административно-правовой охраны общественного порядка и общественной безопасности личности имеют комплексный, мног...
8497. Исследование P-N перехода 2.3 MB
  Исследование p-n перехода Методические указания содержат три основных раздела: теорию, описание экспериментальной установки и порядок выполнения работы. В теоретической части изложены: зонная теория электропроводности твердого тела, выпрямляющее дей...
8498. Тепловой и динамический расчет бензинового двигателя внутреннего сгорания ВАЗ-2103 458.22 KB
  Тепловой и динамический расчет бензинового двигателя внутреннего сгорания ВАЗ-2103 Введение Тепловой расчет двигателя служит для определения параметров рабочего тела в цилиндре двигателя, а также оценочных показателей рабочего процесса, для оценки м...
8499. Древнеиндийская философия 134 KB
  Древнеиндийская философия Индийская культура является одной из самых древних на Земле. Древнейшие письменные источники датируются III тысячелетием до н.э. Чаще всего тексты высекались на камне, металлических пластинах, дереве, а также на керамике. ...
8500. Китайская хохлатая собака 1.28 MB
  Китайская хохлатая собака. С тех пор как в 1965 году китайская хохлатая собака была вновь завезена в Великобританию, интерес к этой породе значительно вырос. Тщательное выведение породы и расширение знаний в области генетики...
8501. Жизнь и творчество Ду Фу 68 KB
  Восточные философские и религиозные взгляды существенно отличаются от западноевропейских. Их объединяют целостное восприятие мира, отсутствие сосредоточенности на человеке. Мерой всего, объектом поклонения выступает природа, в которой человек полн...
8502. Китайская мечта населения Северо-Востока КНР 109.5 KB
  Китайская мечта населения Северо-Востока КНР В настоящее время, понятие мечта занимает одно из первых мест в рейтинге модных мировых тенденций. И эта тенденция обязана столь стремительному успеху тому, что современное общество дает индивиду зн...
8503. Китайская медицина. Философские основы китайской медицины 88.5 KB
  Китайская медицина. Философские основы китайской медицины. Здоровье - одно из главных достояний человека. Между тем, по мере развития цивилизации растет и число факторов, повреждающих здоровье. Количество болезней, известных современной медицин...
8504. Философские основы китайской медицины. Китайская медицина 273.5 KB
  Китайская медицина. Философские основы китайской медицины. Основной подход: Западная медицина Использование фармакологических препаратов - чужеродных для организма химических веществ. Каждое их применение порождает новые проблемы, т.к. безвредн...