DOU (条件が真になるまでの繰り返し)
自由形式構文 | DOU{(MR) } 標識式 |
コード | 演算項目 1 | 拡張演算項目 2 | ||||
---|---|---|---|---|---|---|
DOU (M/R) | 標識式 |
DOU 命令コードは、最低 1 回 (おそらくはそれ以上) 実行したい命令のグループ の前に置かれます。 その機能は DOUxx 命令コードの機能と似ています。 対応する ENDDO ステートメントは、このグループの終わりを示します。相違点は、標識の値を示す式 (標識式) によって論理条件が表されることです。DOU 命令によって制御される操作は、標識式 が真になるまで、実行されます。命令拡張 M および R が どのように使用されるかについては、数値演算の精度の規則を参照してください。
固定形式構文の場合、レベルおよび条件付け標識は有効です。 演算項目 1 はブランクでなければなりません。 拡張演算項目 2 には評価する式が入ります。
詳細については、比較命令または 構造化プログラミング命令を参照してください。
図 1. DOU 命令
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
/FREE
// In this example, the do loop will be repeated until the F3
// is pressed.
dou *inkc;
do_something();
enddo;
// The following do loop will be repeated until *In01 is on
// or until FIELD2 is greater than FIELD3
dou *in01 or (Field2 > Field3);
do_something_else ();
enddo;
// The following loop will be repeated until X is greater than
// the number of elements in Array
dou X > %elem (Array);
Total = Total + Array(x);
X = X + 1;
enddo;
/END-FREE