文:指定された条件が真である間,DO 構文の範囲を実行します。
形式
DO [label[, ] ] WHILE (expr)
label
(省略可能) 同じプログラム単位中の実行文を指定する文番号。
expr
括弧で囲まれたスカラ論理式。
規則と振る舞い
DO 範囲の実行が行われるたびに,実行の前に論理式が評価されます。この論理式が真ならば,ループ本体中の文が実行されます。偽ならば,DO 構文は終了し,制御はループの次の文に移されます。
DO WHILE 文の中に文番号がない場合,DO WHILE ループは END DO 文で終了しなくてはなりません。
DO WHILE ループの外に制御を移すことはできますが,プログラム内の他のループの中に制御を移すことはできません。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
CONTINUE,CYCLE,DO,DO 構文,EXIT,実行制御
例
次の例は DO WHILE 文を示しています。
CHARACTER*132 LINE ... I = 1 DO WHILE (LINE(I:I) .EQ. ' ') I = I + 1 END DO
以下の例は,END DO 文が必須である場合と省略可能な場合を示しています。
必須 省略可能 DO WHILE (I .GT. J) DO 10 WHILE (I .GT. J) ARRAY(I,J) = 1.0 ARRAY(I,J) = 1.0 I = I - 1 I = I - 1 END DO 10 CONTINUE
以下に別の例を示します。
CHARACTER(1) input input = ' ' DO WHILE ((input .NE. 'n') .AND. (input .NE. 'y')) WRITE (*, '(A)') 'Enter y or n: ' READ (*, '(A)') input END DO