• ベストアンサー

COBOLのIFの入れ子について

COBOLを最近学び出してわからないのですが、IF文の中のIF文はピリオドが要るのですか?それとも最初のIF文の終わりに(フローチャ-トの交わるところ)までピリオドは打たないのですか?初歩的な質問ですいませんがお願いします。

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

  • ベストアンサー
  • arai163
  • ベストアンサー率22% (214/970)
回答No.1

COBOLでのIF分は最後にピリオドにつけます。 IF ○=□ (THENは省略) IF △=△ ☆☆ ELSE ★★ ELSE IF ×=□ ●● ELSE ■■. という具合です。 ピリオドが途中にはいると、センテンスがピリオドで完結していまいますので、ピリオド以降が違うセンテンスになってしまいます。

eden500
質問者

お礼

早速の回答感謝いたします。

その他の回答 (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.

eden500
質問者

お礼

わかりやすい回答感謝いたします

  • 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.

eden500
質問者

お礼

的確なアドバイスありがとうございます。

関連するQ&A