Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оператор выбора CASE может быть использован вместо условного оператора, если требуется сделать выбор более, чем из двух возможностей.
|
|
<метка >,< метка >: < оператор 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!