Оператор CASE

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Редактор ST > Синтаксис Master ST > Операторы Master ST >

Оператор CASE

Синтаксис:

case {выражение} of

   {список значений}: {последовательность предложений}

   ...

   {список значений}: {последовательность предложений}

else {последовательность предложений}

end_case

В {выражении} могут использоваться целые числа и целочисленные переменные.

{Список значений} представляет собой один или несколько параметров, разделенных запятой. В данном контексте параметр – это целое число или диапазон. Диапазон задается в следующем виде:

{нижняя граница} .. {верхняя граница}

Алгоритм: выполняется первая по порядку {последовательность предложений}, для которой результат вычисления {выражения} принадлежит множеству, заданному соответствующим {списком значений}. Если результат вычисления {выражения} не принадлежит ни одному из заданных множеств, выполняется {последовательность предложений}, следующая за ключевым словом else (если блок "else {последовательность предложений}" отсутствует, никаких действий не производится).

Пример

case int1+10 of

11..20 : out1:=10;

21,22,23 : out1:=20;

23 : out1:=23; (*не выполняется никогда*)

100, 88..98, 99 : out1:=100;

else out1:=50;

end_case;