• ベストアンサー

COBOL エンドフラグについて

非常に漠然とした質問で申し訳ないのですが、 COBOLのエンドフラグとは何ですか?? エンドフラグ=‘1'と使われているのですが、意味が分かりません。 初歩的、漠然としてますが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

初めまして 決まり事ではないのですが たぶん・・・処理を終了するために  例)ファイルの読み込み終了 などを判断するために使用しているのでは ないでしょうか? 参考になればと思いコメントしました。

ecoecoc
質問者

お礼

回答ありがとうございます!! 参考になりました。

その他の回答 (1)

回答No.2

質問が、漠然とし過ぎています。具体的なソースはないのですか? 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のコーディングの一例に過ぎず、質問にあるフラグが上記であるかは、この情報だけでは判断できません。

ecoecoc
質問者

お礼

漠然とした質問にご丁寧に回答ありがとうございます。

関連するQ&A

専門家に質問してみよう