"Анри Бертьен. Стандартный набор операторов языка REXX (для OS/2) " - читать интересную книгу автора

· <выраж. 'N'>, <выраж. 'FROM'>, <выраж. 'TO'>, <выраж. 'BY'> и
<выраж. 'FOR'> (если они присутствуют) представляют собой любые выражения,
результатом вычисления которых будет число;
· <Выраж. 'N'> и <выраж. 'FOR'> должны давать в результате вычисления
неотрицательное целое число (при необходимости эти числа будут округляться
в соответствии со значением оператора NUMERIC DIGITS);
· <выраж. 'WHILE'> и <выраж. 'UNTIL'> (если они присутствуют)
представляют собой любые выражения, результатом вычисления которых является
1 или 0;
· конструкции TO, BY и FOR, если они используются, могут стоять в
любом порядке;
· операторами могут быть операторы присваивания, команды системы и
любые другие конструкции, в том числе - включающие в себя операторы IF,
SELECT или сам оператор DO;
· Ключевые слова TO, BY, FOR, WHILE и UNTIL являются резервируемыми
внутри оператора DO в том смысле, что они не могут быть именами переменных
в выражениях, хотя вполне могут использоваться в качестве имени управляющей
переменной, слово FOREVER резервируется тем же образом, но только в том
случае, если оно расположено сразу же за ключевым словом DO;
· для <выраж. 'BY'>, если оно опущено (разумеется, вместе с ключевым
словом BY) по умолчанию принимается значение 1.

Простая DO-группа.

Если не указывается ни <счётчик итераций>, ни <условие>, то эта
конструкция будет просто объединять ряд операторов (играть роль операторных
скобок). Такая группа объединённых операторов будет выполняться один раз.

Например:

/* Операторы группы DO будут выполнены, если A имеет значение 9 */
If а=9 then do;
А=а+2;
Say 'Получилось!';
End;

В случаях же, когда присутствует либо счётчик итераций, либо условие -
группа DO будет представлять собой повторяющийся цикл и будет выполняться в
соответствии со счётчиком итераций или в соответствии с условием.

Простые повторяющиеся циклы

Если не задан счётчик итераций, а присутствует только условие (описание
фраз WHILE и UNTIL см. на стр. 40), или же счётчик итераций имеет значение
FOREVER, то группа объединённых операторов теоретически может выполняться
'вечно', практически же - до тех пор, пока не будет удовлетворено заданное
условие или не будет выполнен оператор LEAVE или SIGNAL.
При простой форме счётчика итераций <выраж. 'N'> вычисляется перед
началом выполнения группы DO (результатом должно быть неотрицательное целое
число), после чего эта группа циклически выполняется соответствующее число