ГОСТ Р И С 0 10303-11 — 2009
исполняться. Если значение ни одной из меток блоков не совпадает со значением переключателя блоков,
то возможны следующие альтернативы:
- если ключевое слово
OTHERWISE
присутствует, то исполняется связанный с ним оператор;
- если ключевое слово
OTHERWISE
отсутствует, то ни один из операторов, связанных с оператором
выбора, не исполняется.
Синтаксис:
191 case_stmt = CASE selector OF { case_action} [OTHERWISEstmt]
END_CASE.
299 selector = expression .
189case_action = casejabel { ’, ’casejabel}stmt.
190 casejabel = expression.
Ограничение: тип данных вычисленного значения меток блоковдолжен быть совместим с типом
данных вычисленного значения переключателя блоков.
Пример — Простой оператор выбора, использующий целочисленные метки блоков.
LOCAL
а : INTEGER;
х : REAL;
ENDLOCAL;
а := 3;
х := 34.97 ;
CASE a OF
1: х := SIN(x);
2: x := EXP(x);
3:x := SQRT(x); - - этот оператор исполняется!
4. 5 : x := LOG(x);
OTHERWISE : x := 0.0;
ENDCASE;
13.5 Составной оператор
Составной оператор представляетсобой последовательность операторов, ограниченную ключевыми
словами
BEGIN
и
END.
Составной оператор действует какединый оператор.
П р и м е ч а н и е — Составной оператор не определяет новую область видимости.
Синтаксис:
192 compound_stmt = BEGIN stmt { stmt} END
Пример — Простой составной оператор:
BEGN
а = а+1 ;
IF а > 100 THEN
а := 0;
ENDJF;
END:
13.6 Оператор ESCAPE
Оператор
ESCAPE
вызывает немедленный переход
к
оператору, следующему непосредственно за
оператором
REPEAT,
в котором встретился данный оператор
ESCAPE.
П р и м е ч а н и е — Применение оператора ESCAPE является единственным способом выхода из операто
ра REPEAT в случае задания бесконечного цикла.
Синтаксис:
214 escape_stmt = ESCAPE
Ограничение: оператор
ESCAPE
должен присутствовать только в пределах области видимости
оператора
REPEAT.
96