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

End_case



Если значение выражения совпадает с заданной константой, то выполняется соответствующая группа выражений. Прочие условия не анализируются (<значение 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



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