ГОСТ Р И С 0 10303-11 — 2009
IF (unknownp) THEN
RETURN (UNKNOWN);
ELSE
RETURN(FALSE);
ENDJF;
END_FUNCTION;
Это может быть использовано, например, следующим образом:
LOCAL
v : а;
с : SET OF а;
END_LOCAL;
IF my_in(c. v)THEN...
12.2.4 Интервальные выражения
Интервальное выражение проверяет, находится ли значение в заданном интервале. Выражение со
держиттри операнда, которые должны быть совместимыми (см. 12.11). Операнды должны принадлежать к
типу данных, имеющему установленное упорядочение, то есть к простым типам (см. 8.1) и определенным
типам данных, базисными типами которых являются простые либо перечисляемые типы данных.
Синтаксис;
243 interval = X inte™alJow intervalj>p intervaljtem intervaljDp interval_high
246 intervaNow = simple_expression .
247 interval_op = ’<’ |
245 intervaljtem = simple_expression.
244 interval_high = simple_expression.
П р и м е ч а н и е — Интервальное выражение:
{ intervaNow interval_op intervaljtem interval_op interval_high }
семантически эквивалентно следующему:
(intervaNow interval_op intervaljtem) AND
(intervaljtem in!erval_op intervaljiigh)
Предполагается, что во втором выражении intervaljtem вычисляется только один раз.
Результатом интервального выражения является значение типа LOGICAL, которое имеет значе
ние TRUE, если результатом обоих операторов отношения является TRUE. Интервальное выраже
ние имеет значение FALSE, если результатом любого из операторов отношения является FALSE,
и значение UNKNOWN, если какой-либо из операндов имеет неопределенное (?) значение.
Пример — В данном примере проверяется, имеет ли Ь значение большее, чем 5.0, и меньшее или
равное 100.0:
LOCAL
Ь : REAL := 20.0;
ENDLOCAL;
IF {5.0 < b <= 100.0 } THEN - - результатом является TRUE
12.2.5 Оператор сопоставления строк
Оператор сопоставления строк LIKE сравнивает два строковых значения, используя описанный
ниже алгоритм сопоставления с образцом. Результатом оператора LIKE является значение типа
LOGICAL. Операнд, расположенный слева от оператора, представляет исследуемую строку. Опе
ранд, расположенный справа от оператора, является эталонной строкой.
Алгоритм сопоставления с образцом определяется следующим образом. Каждый символ эталон
ной строки сравнивается с соответствующим символом (символами) исследуемой строки. Если любая
пара соответствующих символов не совпадает, то сопоставление дало отрицательный результат и резуль
татом выражения является значение FALSE.
Некоторые специальные символы в эталонной строке могут сопоставляться с несколькими символа
ми в исследуемой строке. Данные символы определены в таблице 11. Для того, чтобы результатом
выражения было значение TRUE, все соответствующие символы должны быть идентичными или
совпадать (в соответствии с таблицей 11). Если какой-либо из операндов имеет неопределенное (?)
значе ние. то выражение имеет значение UNKNOWN.
76