Оператор CASE

<< Click to Display Table of Contents >>

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

Оператор CASE

Назначение и синтаксис

Оператор CASE обеспечивает выбор действий в зависимости от значения выражения. Служит альтернативой множественным IF-ELSIF для целочисленных условий.

hmtoggle_plus1Синтаксис

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

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

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

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

Практический пример

Рассмотрим пример, демонстрирующий, как с помощью оператора CASE можно определить агрегатное состояние воды (лёд, вода или кипение) в зависимости от введённой температуры. Программа анализирует целочисленное значение температуры и присваивает переменной state соответствующее текстовое значение:

1.Если температура 0 градусов, вода находится в твёрдом состоянии - "Лёд";

2.При температуре от 1 до 99 градусов вода жидкая - "Вода";

3.При точно 100 градусах - "Кипение" (критическая точка перехода);

4.Все температуры выше вне диапазона от 0 до 100 определяются как некорректные значения.

hmtoggle_plus1Пример кода

Результат работы:

Температура 0 градусов:

st_op_case_1

Температура от 1 до 99 градусов:

st_op_case_2

Температура 100 градусов:

st_op_case_3

Температура вне диапазона:

st_op_case_4