Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Оператор выбора. Оператор выбора, который называется CASE, используется для выбора одного из нескольких направлений дальнейшего хода программы






Оператор выбора, который называется CASE, используется для выбора одного из нескольких направлений дальнейшего хода программы. Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную только перечислимого типа. Целое число (Integer) - перечислимый тип данных. Другим простым перечислимым типом данных является символьный тип (Char). Синтаксис оператора CASE:

case {переменная-селектор} of {константа_1}: {инструкции 1} {константа_2}: {инструкции 2} {...} else {инструкции, если ни одна константа не подошла} end;

 

Работает оператор следующим образом: берётся значение переменной-селектора и последовательно сравнивается с каждой из констант. Если значения совпадают, то выполняются инструкции, указанные после данной константы. Если ни одна константа не совпала со значением переменной-селектора, но при этом указан блок else, то выполняются инструкции этого блока. Если блок else не указан, никаких команд выполнено не будет.

Обратите внимание, что после каждой константы ставится двоеточие (": ").

Помимо одиночных констант можно указывать несколько констант через запятую, а также можно указывать диапазон, задав начальный и конечный элементы и разделив их двумя точками. Пример:

case a of 1, 2, 3, 4, 5: {...} else {...} end;   case a of 1..5: {...} else {...} end;

Оба представленных фрагмента кода сработают абсолютно одинаково, но во втором варианте запись констант и короче и удобнее.

Пример программы с использованием оператора выбора.

Создадим программу, которая будет запрашивать ввод числа от 1 до 12 и выводить название времени года, которому принадлежит месяц с указанным номером.

Интерфейс прост: поле ввода (Edit1) и кнопка (Button1).

Обработчик кнопки таков:

procedure TForm1.Button1Click(Sender: TObject); var Month: Integer; begin Month: =StrToInt(Edit1.Text); case Month of 1, 2, 12: ShowMessage('Зима'); 3..5: ShowMessage('Весна'); 6..8: ShowMessage('Лето'); 9..11: ShowMessage('Осень') else ShowMessage('Число должно быть от 1 до 12.') end end;

Результат работы:

Данный пример довольно прост и в пояснениях, скорее всего, не нуждается.

Заключение

Условный оператор IF и оператор выбора CASE позволяют создавать ветвления в программах, т.е. выполнять различные действия в зависимости от заданного условия. Отличие их друг от друга состоит в том, что IF используется для единственного выбора, а CASE - для множественного. Очевидно, что данные операторы могут быть вложены друг в друга (например, в одном из блоков оператора CASE может быть использован IF). При написании какой-либо сравнительно сложной программы без ветвлений не обойтись.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал