- ベストアンサー
COBOLのIFの入れ子について
COBOLを最近学び出してわからないのですが、IF文の中のIF文はピリオドが要るのですか?それとも最初のIF文の終わりに(フローチャ-トの交わるところ)までピリオドは打たないのですか?初歩的な質問ですいませんがお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
COBOLでのIF分は最後にピリオドにつけます。 IF ○=□ (THENは省略) IF △=△ ☆☆ ELSE ★★ ELSE IF ×=□ ●● ELSE ■■. という具合です。 ピリオドが途中にはいると、センテンスがピリオドで完結していまいますので、ピリオド以降が違うセンテンスになってしまいます。
その他の回答 (2)
- rvr3958
- ベストアンサー率33% (145/428)
回答No.3
IFの入れ子に限らず、第一階層目の命令の最後にピリオドを打てば良いのです。ただ、どの階層でも命令の範囲を明確にする為に、 END-PERFORM END-IF END-READ END-WRITE END-START など、終了宣言をしましょうね。 ex) IF SW-A = "1" IF SW-B = "1" ADD 1 TO CT-A ELSE ADD 2 TO CT-A END-IF ELSE ADD 3 TO CT-A END-IF.
質問者
お礼
わかりやすい回答感謝いたします
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
COBOL85以降、ENDIFってありますよね。 これを使用してIFの範囲を明示するとわかりやすいでしょう。 ずいぶんご無沙汰なんで文法忘れてます。(多少の間違いはお許しください) IF A=B THEN IF C=D THEN MOVE E TO F ENDIF ELSE MOVE G TO H ENDIF.
質問者
お礼
的確なアドバイスありがとうございます。
お礼
早速の回答感謝いたします。