ГОСТ Р И С 0 10303-11 — 2009
Пример — Оператор ESCAPE передает управление оператору, следующему за END_REPEAT,
если а < 0:
REPEAT UNTIL (а=1);
IF (а < 0) THEN
ESCAPE;
ENDIF;
END_REPEAT; — управление передается в точку после END_REPEAT
13.7 Оператор IF.. .THEN.. .ELSE
Оператор
IF.. .THEN.. .ELSE
обеспечивает условное выполнение операторов на основе значения
выражения типа
LOGICAL.
Если значением
logical_expression
является
TRUE,
то исполняется опера
тор, следующий за ключевым словом
THEN.
Если значением
logical_expression
является
FALSE,
UNKNOWN
или неопределенность {?). то исполняется оператор, следующий за ключевым словом
ELSE,
если данное ключевое слово присутствует. Если значением
logical_expression
является
FALSE,
UNKNOWN
или неопределенность (?), а ключевое слово
ELSE
отсутствует, то управление передается
следующему оператору.
Синтаксис;
233 if_stmt =
IF
logical_expression THEN stmt { stmt} [ ELSE stmt { stm t} ]
END JF *;•.
254 logical_expression = expression .
Пример — Простой оператор IF:
IF a <10 THEN
c := c + 1;
ELSE
с := c -1 ;
ENDJF;
13.8 Оператор вызова процедуры
Оператор вызова процедуры активизирует процедуру. Фактические параметры, передаваемые при
вызове процедуры, должны соответствовать по числу, порядку и типу данных с формальными параметра
ми. установленными для данной процедуры.
Синтаксис;
270 procedure_call_stmt = ( built_in_procedure | procedure_ref)
[ actual_parameter_list ].
167actual_parameter_list = ’(’ parameter {parameter } ’)’.
264 parameter = expression .
Ограничение; передаваемые фактические параметры должны быть совместимы по присваиванию
с формальными параметрами.
Пример— Вызов встроеннойпроцедуры INSERT:
INSERT (pointjist, this_point here);
13.9 Оператор REPEAT
Оператор цикла
REPEAT
используется для зависящего от условия повторения исполнения последо
вательности операторов. Начало или продолжение повторения определяется по вычисленному значению
управляющего условия (или условий). Управляющими условиями являются;
- конечное число итераций (инкрементное управление);
- пока условие имеет значение
TRUE
(управляющее условие
WHILE);
- до тех пор, пока условие имеет значение TRUE (управляющее условие UNTIL).
Синтаксис;
286 repeat_stmt = REPEAT repeat_controlstmt (stm t) END_REPEAT.
285 repeat_control = ( increment_control ] [ while_control ] ( until_control ].
235 increment_control = variablejdbound_1 TO bound_2 [ BY increment ].
183bound_1 = numeric_expression.
184bound_2 = numeric_expression.
234 increment = numeric_expression .
97