Cobol-loop-statements
COBOL-ループステートメント
ファイルの各レコードを最後まで読み込むなど、何度も何度も実行する必要があるタスクがあります。 COBOLで使用されるループ文は次のとおりです-
- 実行する
- まで実行
- 時間を実行
- 変化させる
実行する
Perform Thruは、シーケンスの最初と最後の段落名を指定して一連の段落を実行するために使用されます。 最後の段落を実行した後、コントロールが返されます。
インライン実行
PERFORM内のステートメントは、END-PERFORMに達するまで実行されます。
構文
以下は、インライン実行の構文です-
アウトラインの実行
ここでは、文が1つの段落で実行され、その後、制御は他の段落またはセクションに移されます。
構文
以下は、行外実行の構文です-
例
上記のCOBOLプログラムを実行する JCL 。
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
まで実行
「実行まで」では、指定された条件が満たされるまで段落が実行されます。 「with before before」はデフォルトの条件であり、段落内のステートメントの実行前に条件がチェックされることを示します。
構文
以下は、perform untilの構文です-
例
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
時間を実行
「実行時間」では、指定した回数だけ段落が実行されます。
構文
実行時間の構文は次のとおりです-
例
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
変化させる
可変実行では、Until句の条件がtrueになるまで段落が実行されます。
構文
以下は、可変実行の構文です-
例
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
GO TOステートメント
GO TOステートメントは、プログラムの実行フローを変更するために使用されます。 GO TOステートメントでは、転送は順方向にのみ行われます。 段落を終了するために使用されます。 使用されるGO TOステートメントの種類は次のとおりです-
無条件のGO TO
条件付きGO TO
「x」が1に等しい場合、コントロールは最初の段落に転送されます。 「x」が2に等しい場合、コントロールは2番目の段落に移され、以下同様に続きます。
例
上記のCOBOLプログラムを実行する JCL :
上記のプログラムをコンパイルして実行すると、次の結果が生成されます。