次の例では、DO グループは I は 1、2、4、8、16 などの値で実行されます。
do I = 1 repeat 2*I;
·
·
·
end;
前述の例は、次のように書く場合と同等の結果になります。
I=1; A:
·
·
·
I=2*I; goto A;
次の例では、DO グループの最初の実行は I=1 で行われます。
do I=1 repeat 2*I until(I=256);
この実行のあと、およびそれ以後 DO グループが実行されるたびに、UNTIL 式がテストされます。 I=256 であれば、それ以上実行されません。 I=256 でない場合は、 REPEAT 式が計算されて I に割り当てられ、 新たに実行されます。
次の例では、チェーニングしたリストで特定の項目を探索するために 使用される DO ステートメントを示します。
do P=Phead repeat P -> Fwd
while(P¬=null())
until(P->Id=Id_to_be_found);
end;DO グループの最初の実行で、 値 Phead が P に割り当てられます。 それ以降 DO グループが実行されるたびに、 その実行前に値 P -> Fwd が P に割り当てられます。 DO グループの最初の実行前および後続のそれぞれの実行前に、 P の値がテストされ、 その値が NULL であれば、それ以上実行されません。
以下のステートメントは、 DO グループを 9 回実行することを指定します。 I の値を 1 から 9 に等しくして 9 回です。 その後、引き続き I の値を 10、20、 40、などに等しくします。 10000 より大きい I の値で DO グループが実行されたあと、 実行の繰り返しが終わります。
do I = 1 to 9, 10 repeat 2*I
until (I>10000);
·
·
·
end;