Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Если значение выражения совпадает с заданной константой, то выполняется соответствующая группа выражений. Прочие условия не анализируются (<значение 1>: <выражения 1>;).
Если несколько значений констант должны соответствовать одной группе выражений, их можно перечислить через запятую (<значение 2>, <значение 3>: <выражения 2>;).
Диапазон значений можно определить через двоеточие <значение 4>..<значение 5>: <выражения 3>;).
Группа выражений ELSE является необязательной. Она выполняется при несовпадении ни одного из условий (<выражения ELSE>;).
Пример:
CASE byLeft/2 OF
0,127:
bReset:= TRUE;
Var1:= 0;
16..24:
Var1:= 1;
ELSE
Varl:= 2;
END_CASE
Значениями выбора CASE могут быть только целые константы, переменные использовать нельзя. Одинаковые значения в альтернативах выбора задавать нельзя, даже в диапазонах. Так, следующий пример обязан вызвать ошибку при трансляции:
CASE byLeft OF
20: Varl:= 0;
16..24: Varl:= 1;
END_CASE
Безусловно, оператор CASE «слабее» оператора IF, не имеющего подобных ограничений. Но формат CASE не только выразителен для программиста, но и более эффективен. Использование целочисленных констант позволяет транслятору выполнить оптимизацию кода, часто весьма существенную.
Дата публикования: 2015-04-10; Прочитано: 272 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!