Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

]
[
CASE <селекторное выражение> OF

<метка >,< метка >: < оператор 1 >;

]
[
,< метка >.. < метка >

<метка >,< метка >: < оператор 2 >;

,< метка >.. < метка >

]
[
.....

<метка >,< метка >: < оператор n >;

,< метка >.. < метка >

[ ELSE < оператор >]

END;

Селекторное выражение (селектор, переключатель) и метки-константы (метки варианта, метки выбора) должны иметь один и тот же простой тип (кроме вещественного). Метки-константы в отличие от меток программы не требуется описывать в разделе описания меток. Но на них нельзя ссылаться в операторе GOTO. Метки варианта могут быть перечисляемого и интервального типа.

<оператор 1>,<оператор 2>,<оператор n> - простой или составной оператор.

Оператор выбора выполняется следующим образом. Сначала вычисляется селекторное выражение; затем выполняется оператор, метка варианта которого равна текущему значению селектора; после этого происходит выход из оператора CASE на следующий оператор. Если значение селектора не совпадает ни с одной из меток варианта, будет выполнен оператор после ELSE. Если ветвь ELSE отсутствует, то управление передается следующему за CASE оператору.

Например,

… CASE K OF

0: Z:= LN(X);

1: Z:= EXP(X);

2: Z:= SIN(X);

3: Z:= COS(X)

ELSE

Z:= 0

END; …

В этом примере результат вычисляется по одной из стандартных функций в зависимости от параметра К, который получает свое значение перед выполнением этого оператора.

В следующем примере переменная OTVET получает значение YES или NO в зависимости от введенного значения символьной переменной V. Здесь метки варианта задаются перечислением.

… VAR V: CHAR;

OTVET: STRING;

CASE V OF
‘D’, ‘d’, ‘Д’, ‘д’: OTVET:= ‘YES’;

‘N’, ‘n’, ‘Н’, ‘н’: OTVET:= ‘NO’

ELSE

OTVET:= ‘ ‘

END; …

В следующем примере метки выбора заданы интервалом.

… VAR V: CHAR;

OTVET: STRING;

CASE V OF
‘A’.. ‘Z’,’a’.. ‘z’: OTVET:= ‘буква’;

‘0’.. ‘9’: OTVET:= ‘цифра’

ELSE

OTVET:= ‘специальный символ‘

END; …





Дата публикования: 2014-11-04; Прочитано: 333 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...