- ベストアンサー
COBOL エンドフラグについて
非常に漠然とした質問で申し訳ないのですが、 COBOLのエンドフラグとは何ですか?? エンドフラグ=‘1'と使われているのですが、意味が分かりません。 初歩的、漠然としてますが、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
初めまして 決まり事ではないのですが たぶん・・・処理を終了するために 例)ファイルの読み込み終了 などを判断するために使用しているのでは ないでしょうか? 参考になればと思いコメントしました。
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
質問が、漠然とし過ぎています。具体的なソースはないのですか? COBOLに「エンドフラグ」というものがある訳でなく、COBOL利用者がそういうコーディングをしているだけです。 よくエンドフラグといったものを利用する場合として、COBOLでのEOF(End Of File)のコーディングが考えられます。 ____OPEN INPUT ファイル名. READ-FILE. ____READ ファイル名 _____AT END ______GO TO CLOS-FILE ____END-READ. ____データ処理 ____GO TO READ-FILE. CLOS-FILE. ____CLOSE ファイル名. READ文のAT ENDは、入力ファイルにデータが存在しなかった場合に、制御が渡ります。 GO TO文を嫌う人は、ここでGO TO文で分岐させずに、「MOVE 1 TO EOF-FLG」といったフラグを用いるコーディングを好む人がいます。 下記のように、PERFORM文をフラグを用いることで、GO TO文を不要にできます。 ____OPEN INPUT ファイル名. ____PERFORM TEST AFTER _____UNTIL EOF-FLG = 1 ______READ ファイル名 _______AT END ________MOVE 1 TO EOF-FLG ______END-READ ______IF EOF-FLG NOT = 1 _______データ処理 ______END-IF ____END-PERFORM. ____CLOSE ファイル名. これはCOBOLのコーディングの一例に過ぎず、質問にあるフラグが上記であるかは、この情報だけでは判断できません。
お礼
漠然とした質問にご丁寧に回答ありがとうございます。
お礼
回答ありがとうございます!! 参考になりました。