-PR-
解決
済み

COBOLのIFの入れ子について

  • 暇なときにでも
  • 質問No.73277
  • 閲覧数5509
  • ありがとう数6
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 32% (12/37)

COBOLを最近学び出してわからないのですが、IF文の中のIF文はピリオドが要るのですか?それとも最初のIF文の終わりに(フローチャ-トの交わるところ)までピリオドは打たないのですか?初歩的な質問ですいませんがお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル12

ベストアンサー率 22% (214/970)

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

お礼率 32% (12/37)

早速の回答感謝いたします。
投稿日時 - 2001-05-09 22:56:56
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル14

ベストアンサー率 33% (1403/4213)

COBOL85以降、ENDIFってありますよね。 これを使用してIFの範囲を明示するとわかりやすいでしょう。 ずいぶんご無沙汰なんで文法忘れてます。(多少の間違いはお許しください) IF A=B THEN IF C=D THEN MOVE E TO F ENDIF ELSE MOVE G TO H ENDIF. ...続きを読む
COBOL85以降、ENDIFってありますよね。
これを使用してIFの範囲を明示するとわかりやすいでしょう。

ずいぶんご無沙汰なんで文法忘れてます。(多少の間違いはお許しください)
IF A=B THEN
IF C=D THEN MOVE E TO F
ENDIF
ELSE MOVE G TO H
ENDIF.
お礼コメント
eden500

お礼率 32% (12/37)

的確なアドバイスありがとうございます。
投稿日時 - 2001-05-09 23:01:01


  • 回答No.3
レベル12

ベストアンサー率 33% (145/427)

IFの入れ子に限らず、第一階層目の命令の最後にピリオドを打てば良いのです。ただ、どの階層でも命令の範囲を明確にする為に、 END-PERFORM END-IF END-READ END-WRITE END-START など、終了宣言をしましょうね。 ex) IF SW-A = "1"   IF SW-B = "1"     ADD 1 ...続きを読む
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

お礼率 32% (12/37)

わかりやすい回答感謝いたします
投稿日時 - 2001-05-09 23:02:15
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ