Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

REPEAT の例

次の例では、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 グループの最初の実行で、 値 PheadP に割り当てられます。 それ以降 DO グループが実行されるたびに、 その実行前に値 P -> FwdP に割り当てられます。 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;

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)