【COBOL学習|初心者向け】COBOLの「終わりの美学」:END PROGRAM句を正しく使おう

導入:なぜプログラムの終わりを明示する必要があるのか?

COBOLを始めたばかりの皆さんは、プログラムを書くとき「最後に何を書けばいいのか」迷ったことはありませんか?実は、プログラムの物理的な終端を明示する「END PROGRAM」句は、単なるおまじないではありません。特に、一つのソースファイルに複数のプログラムを記述する「入れ子構造」や、大規模なシステム開発では、この記述がプログラムの境界線を明確にするための「命綱」となります。これを正しく書くことで、コンパイルエラーを未然に防ぎ、読みやすいコードを維持することができます。

基礎知識:END PROGRAMとは?

COBOLでは、プログラムの開始は「IDENTIFICATION DIVISION」で始まりますが、終わりを明示するのが「END PROGRAM」句です。
この句の後に「プログラム名」を指定することで、コンパイラに対して「ここからここまでが一つのプログラムですよ」と正確に伝えることができます。もしプログラムの開始時に指定した名前と、END PROGRAMで指定した名前が食い違っていると、コンパイラは即座にエラーを出して修正を促します。これは、意図しないコードの混入や、プログラム名の間違いを防ぐための非常に重要なチェック機能なのです。

実装・解決策:正しい記述ルール

END PROGRAM句を記述する際は、以下のルールを守りましょう。

1. プログラムのソースコードの最後に記述する。
2. IDENTIFICATION DIVISIONで定義したプログラム名と完全に一致させる。
3. 複数のプログラムを一つのファイルに書く場合は、必ずそれぞれのプログラムの終端に記述する。

サンプルプログラム:END PROGRAMの活用例

以下は、基本的なプログラム構成のサンプルです。コピーして、自分の環境で動作確認をしてみてください。

IDENTIFICATION DIVISION.
PROGRAM-ID. MY-SAMPLE-PROG.

  • プログラムの処理本体を記述する場所です

PROCEDURE DIVISION.
DISPLAY “プログラムが正常に動作しています。”
STOP RUN.

  • ここでプログラムの終了を明示します
  • IDENTIFICATION DIVISIONのIDと一致させるのが鉄則です

END PROGRAM MY-SAMPLE-PROG.

応用・注意点:現場でのアドバイス

現場のベテランとして一つアドバイスをすると、特に「入れ子プログラム(プログラムの中に別のプログラムを記述する手法)」を使う場合、このEND PROGRAMがないと、コンパイラはどこまでが内側のプログラムで、どこからが外側のプログラムなのかを判別できません。

また、よくあるミスとして「プログラム名を変更したのにEND PROGRAMの名前を修正し忘れる」というケースがあります。プログラム名を変更する際は、必ずセットで修正する癖をつけてください。小規模なプログラムでは省略しても動くコンパイラもありますが、プロフェッショナルな現場では、可読性と安全性を高めるために、必ず記述する習慣を身につけることを強くおすすめします。

プログラムの「終わり」を丁寧に記述することは、あなたのコードをより信頼性の高いものへと成長させてくれます。ぜひ今日から活用してくださいね。

コメント

タイトルとURLをコピーしました