русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 3645; Нарушение авторских прав


Если один оператор if может обеспечить выбор из двух альтернатив, то оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором (selection — выбор альтернативы), и списка параметров, каждому из которых предшествует список констант выбора (список может состоять и из одной константы).

Формат записи оператора case:

case <выражение-селектор> of

<список1>: <оператор1; >

<список2>: <оператор2; >

<списокN>: <onepaторN>

else <оператор>

end;

Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словом else. Если слово else отсутствует, активизируется оператор, находящийся за словом end, т. е. первый оператор за границей case.

Селектор должен относиться к одному из целочисленных типов (находящихся в диапазоне — 32768..32767): булевскому, литерному или пользовательскому. Список констант выбора состоит из произвольного количества значений, или диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разграничитель "..". Тип констант в любом случае должен совпадать с типом селектора. В синтаксическом описании, приведенном выше, предполагается использование одного оператора для каждой альтернативы, но при необходимости можно задать несколько операторов, сгруппировав их в составной оператор. В то же время ветвь else допускает использование последовательности операторов, разделенных символом ";".

Правила использования оператора сase. При использовании оператора выбора case должны выполняться следующие правила:



1. Значения выражения "переключателя", записанного после служебного слова case, должны принадлежать дискретному типу (лат. discretus — прерывистый, дробный, состоящий из отдельных частей); для целого типа они должны лежать в диапазоне integer.

2. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения.

3. Все константы в альтернативах должны быть уникальны в пределах оператора варианта (т. е. повторения констант в альтернативах не допускаются); диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или других альтернативах.

Формы записи оператора case.

Селектор интервального типа:

case I of

1..10 : Writeln ('число ', I: 4, ' в диапазоне 1- 10');

11.. 20 : Writeln ('число ', I:4, ' в диапазоне 11-20');

21.. 30 : Writein ('число', I:4, ' в диапазоне 21-30')

else Writeln ('число ', I:4, ' вне пределов контроля');

end;

Селектор целочисленного типа:

case I of

1 : Z := I + 10;

2 : Z := I + 100;

3 : Z := I + 1000;

end;

Селектор перечисляемого пользовательского типа:

var

Season: (Winter, Spring, Summer, Autumn) ;

begin

case Season of

Winter: Writeln('Winter');

Spring: Writeln('Spring');

Suauner: Writeln (' Summer') ;

Autumn: Writeln('Autumn')

end; {конец case}

end;

Пример 2. Составить программу, которая по введенному пользователем номеру дня недели выводит на экран его название.

program Day_Week;

var Day : byte;

begin

Write ('Введите номер дня недели: ');

Readln(Day) ;

case Day of {Вычисление значения селектора и выбор}

1: Writeln('Понедельник') ;

2: Writeln('Вторник') ;

3: Writeln('Среда');

4: Writeln('Четверг');

5: Writeln<'Пятница');

6: Writeln('Суббота' ) ;

else

Writeln('Воскресенье');

end;

end.

В данном примере на экран выводится приглашение: 'Введите номер дня недели:', с клавиатуры считывается целочисленное значение дня недели и присваивается переменной Day. Затем в зависимости от значения селектора DAY обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Например, если значение Day равно 3, то реализуется оператор Writeln('Cpeдa'). Если значение Day равно 7, а ни одна из констант не равна этому значению селектора, то выполняется оператор, стоящий за словом else (на экран выводится текст 'Воскресенье'). Если слово else отсутствует, активизируется оператор, находящийся за словом end, т. е. первый оператор за границей case. Если значение Day не равно значению ни одной из констант выбора (например, Day=8 или Day=0), то активизируется оператор, находящийся за словом end, т. е. первый оператор за границей case - оператор end.



<== предыдущая лекция | следующая лекция ==>
Оператор условия if | Оператор повтора for


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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