プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

初めまして


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

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

お礼日時:2007/05/08 22:07

質問が、漠然とし過ぎています。

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

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

お礼日時:2007/05/08 22:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!