XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

DO WHILE

目的

DO WHILE ステートメントは、DO WHILE 構造体の最初のステートメントであり、指定された終端ステートメントまでの間にある (終端ステートメントも含む) のステートメントのブロックを、このステートメントに指定されている論理式が真であり続ける限り、繰り返し実行します。

構文



>>-+----------------------+--DO--+------------+--+---+---------->
   '-DO_construct_name--:-'      '-stmt_label-'  '-,-'
 
>--WHILE--(--logical_expr--)-----------------------------------><
 
 

DO_construct_name
DO WHILE 構造体を識別する名前です。

stmt_label
同一の有効範囲単位内の DO WHILE ステートメントの後に指定されている実行可能ステートメントのラベルです。これは DO WHILE 構造体の終わりを示します。

logical_expr
スカラー論理式です。

規則

DO WHILE ステートメントで DO_construct_name を指定する場合、同じ DO_construct_name が指定されている END DO でその構造体を終了させます。逆に、DO WHILE ステートメント上に DO_construct_name を指定せずに、END DODO WHILE 構造体を終了させる場合は、END DO ステートメントに DO_construct_name を指定してはなりません。

DO WHILE ステートメントにラベルを指定する場合、同じラベルの付いたステートメントで DO WHILE 構造体を終了させなければなりません。ラベル付き DO WHILE ステートメントを同じラベルが付いている END DO ステートメントで終了させることはできますが、ラベルなし END DO ステートメントで終了させることはできません。 DO WHILE ステートメントにラベルを指定しない場合は、END DO ステートメントで DO WHILE 構造体を終了させなければなりません。

      MYDO: DO 10 WHILE (I .LE. 5)  ! MYDO is the construct name
         SUM = SUM + INC
         I = I + 1
10    END DO MYDO
      END
 
      SUBROUTINE EXAMPLE2
        REAL X(10)
        LOGICAL FLAG1
        DATA    FLAG1 /.TRUE./
        DO 20 WHILE (I .LE. 10)
           X(I) = A
           I = I + 1
20      IF (.NOT. FLAG1) STOP
      END SUBROUTINE EXAMPLE2

関連情報


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]