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


 

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

54582. Предложение. Закон предложения. Факторы, влияющие на предложение 25.07 KB
  Величина предложения – это максимальное количество товаров и услуг, которое производители (продавцы) способны и готовы продать по определенной цене, в определенном месте и в определенное время.
54583. Новогоднее «Кривое зеркало» 62 KB
  Будут Снегурочка и Дед Мороз Он вам подарков немало привез. Огого Народуто сколько И что это они собрались Всех Дед Мороз пригласил Может я не сюда попала Во ктото идет. Дед Мороз вбегает кидается к сидящим в зале хватает их ошибается заглядывает под стулья лезет по рядам сам в очках снимает их заглядывает близко в глаза Снегурочка Внученька Где ты Ты нет опять не она. Где же ты Снегурочка Вечно она куда нибудь теряется убегает Снегурочка Ушел Вот достал дедуля Пора появится А я может быть занята...
54584. Новорічні пригоди 55 KB
  Учитель. Сьогодні наша школа перетворюється в казковий край: всюди прикраси, зустрічі з казковими та літературними героями і неодмінно - з Дідом Морозом та Снігуронькою. Обов язкова прикмета свята - красуня ялинка,запах мандарин, новорічні подарунки, пісні та танці. І все це– на нашому уроці!
54585. Новорічні сценарії 109.5 KB
  Неповторний колорит новорічної атмосфери: красуняялинка різнокольорові вогні феєрверки численні подарунки відчуття свята загадковості і передчуття чуда А малеча ще й з нетерпінням чекає появи Діда Мороза і Снігуроньки бо саме з їхньою появою приходить відчуття свята і таємниці. Але проходить час і Дід Мороз у дитячій уяві перестає бути реальною особою йому більше не пишуть листів із заповітними бажаннями від нього вже не чекають подарунків він стає просто атрибутом свята хоч і обовязковим. І хоча в кожному...
54586. Новый год настает! Новый год у порога нашей планеты! 48 KB
  Новый год настает Новый год у порога нашей планеты Ученик 1: Скоро Новый год З.Орлова Скоро скоро Новый год Он торопится идет Постучится в двери к нам: Дети здравствуйте я к вам Праздник мы встречаем Елку наряжаем Вешаем игрушки Шарики хлопушки. Дед Мороз ну где ты Учитель: Новый Год самый загадочный праздник открывающий нам мир добрых сказок и волшебства. Одни встречают Новый Год дома в семейном кругу другие выезжают на природу в зимний лес а я предлагаю вам отправиться сегодня в незабываемое новогоднее путешествие в...
54587. Информационные процессы. Конспект урока по информатике 8 класс 68 KB
  Требования к знаниям и умениям: Знать: Информационные процессы; Виды памяти; Передача информации; Обработка информации. Уметь: Приводить примеры ситуаций являющихся источником информации приёмником информации; Приводить различные примеры процесса обработки информации. Что такое информация для человека Назовите некоторые источники получения информации.
54588. Новые педагогические технологии на уроках иностранного языка 92.5 KB
  Попрежнему основными трудностями являются недостаток активной устной практики в расчете на каждого ученика группы отсутствие необходимой индивидуализации и дифференциации обучения. Учитывая специфику предмета иностранный язык эти технологии могут обеспечить необходимые условия для активизации познавательной и речевой деятельности каждого ученика группы предоставляя каждому ученику возможность осознать осмыслить новый языковой материал получить достаточную устную практику для формирования необходимых навыков и умений. Если в таких...
54589. НТР. Її вплив на структуру та розміщення світового господарства 44 KB
  Мета: сформувати в учнів систему знань про вплив НТР на галузеву структуру та територіальну організацію виробництва. Обладнання: схема Вплив НТР на світове господарство політична карта світу атласи підручники.
54590. NURBS (Non-Uniform Rational B-Splines) 1.18 MB
  Изза особенности строения NURBS поверхности всегда гладкие у них нет острых краев присущих полигонам поэтому они широко используются в органическом моделировании подобном созданию растительных форм для создания моделей животных людей машин и т. NURBS поверхности не состоят из сетки прямоугольников разбиение поверхностей на многоугольники происходит лишь на этапе рендеринга и предполагает использование оптимального алгоритма для сохранения гладкости. Существует два типа NURBS кривых и поверхностей: Point рис.