COBOLプログラムの基本的な書式ルールをやさしく解説!初心者でも理解できる構造とルール
生徒
「COBOLのプログラムって、どうやって書くんですか?ルールがあるんですか?」
先生
「はい、COBOLのプログラムには独自の書式ルールがあります。とてもユニークな構造をしていますよ。」
生徒
「難しそうに聞こえますが、初心者でも覚えられますか?」
先生
「もちろんです。順番に分かりやすく説明していきましょう!」
1. COBOLのプログラムは4つの部(Division)に分かれている
COBOLのプログラムは、大きく4つのDivision(ディビジョン)に分かれています。それぞれ役割がありますので、順番に覚えていきましょう。
- IDENTIFICATION DIVISION: プログラムの名前や情報を書く部分
- ENVIRONMENT DIVISION: 使用するコンピュータやファイル環境の設定
- DATA DIVISION: データや変数の定義
- PROCEDURE DIVISION: 実際の処理を書く部分
まるで作文の構成のように、「タイトル・道具・材料・手順」がきちんと決まっている、と考えるとわかりやすいです。
2. 行番号のルールとカラム(列)位置の意味
COBOLのコードは、「行ごとに意味のある位置」が決まっています。これをカラム位置と呼びます。カラムとは、行の中の文字の場所のことです。
- カラム1~6: 行番号(番号は必須ではない)
- カラム7: アスタリスク(*)を書くと、その行はコメントになります
- カラム8~72: プログラムの本文を書く場所
このように、カラムの使い方にルールがあるのがCOBOLの特徴です。
3. COBOLの基本的なコード構造を見てみよう
簡単なCOBOLプログラムの例を見てみましょう。これは「HELLO, WORLD!」と表示するだけのプログラムです。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "HELLO, WORLD!".
STOP RUN.
この中で特に重要なのは、各行の始まりの位置(カラム)と、大文字でキーワードを書くという点です。
4. キーワードと命令文の書き方ルール
COBOLにはたくさんのキーワード(予約語)がありますが、それらはすべて大文字で書くのが基本です。代表的なキーワードをいくつか紹介します:
DISPLAY:画面に文字や値を表示MOVE:値を変数に代入STOP RUN:プログラムの終了
キーワードと変数名はスペースで区切ります。
例えば、次のような書き方をします:
MOVE "山田" TO NAME
DISPLAY NAME
5. 大文字・小文字とインデント(字下げ)について
COBOLでは、基本的にすべてのキーワードを大文字で書きます。小文字で書いても動く処理系もありますが、COBOLらしさと見やすさのために大文字で統一するのが一般的です。
また、命令文の先頭を少し下げる(字下げする)ことで、読みやすくする工夫も大切です。以下のようにインデントをつけることで、構造がすぐに分かるようになります。
PROCEDURE DIVISION.
MOVE 30 TO AGE
IF AGE >= 20 THEN
DISPLAY "成人です"
END-IF
6. ピリオド(.)の使い方に注意しよう
COBOLでは、命令の終わりに必ずピリオド(.)を付けます。これは「この文はここで終わり」という意味です。忘れてしまうと、プログラムが正しく動かないことがあるので注意が必要です。
例えば:
DISPLAY "こんにちは".
7. コメントの書き方
COBOLでは、コメントを書くときには行の7文字目に*(アスタリスク)を入れます。その行は実行されず、プログラムの説明やメモとして使われます。
000100* これはコメントです
000200 DISPLAY "コメントの行は無視されます".
8. 半角スペースと読みやすさ
COBOLでは、命令や変数の間に半角スペースを空けるのが基本です。連続して書くとコンピュータが正しく認識できなかったり、読みづらくなったりするためです。
悪い例:
MOVE"山田"TONAME
良い例:
MOVE "山田" TO NAME
以上が、COBOLプログラムを書くときに必ず知っておきたい基本的な書式ルールです。
まとめ
COBOLの基本的な書式ルールを振り返ってみると、古い言語のように思われがちな一方で、実際にはとても論理的で整理された美しい構造を持っていることがわかります。四つのDivisionに分かれた構造は、ひとつひとつが役割をしっかり持ち、プログラムを読みやすく管理しやすくしてくれます。IDENTIFICATION DIVISIONには自己紹介を書くようにプログラムの名前を書き、DATA DIVISIONでは材料として使う変数を宣言し、PROCEDURE DIVISIONではその材料をどう使うかを具体的に記述していきます。この流れはまるで、料理を作る手順や学習ノートの構成のようで、初心者でも自然になじめる感覚があります。 さらに、カラム位置という独特のルールが存在し、特に七文字目にアスタリスクを置くとコメント行になるという決まりはCOBOLならではのスタイルです。そのため、大規模な企業のシステムで長年メンテナンスされているCOBOLコードでも、規律あるフォーマットのおかげで読みやすさが保たれています。また命令文の最後に必ずピリオドを置くというルールも、文章の句点と同じで、処理の区切りが誰の目にも明確になるという大きな利点を持っています。 半角スペースを意識した書き方や、大文字でキーワードを統一するスタイルも、視認性と理解しやすさを重視したものです。たとえプログラミング経験が浅くても、COBOLのコードは一行ずつ素直に読み下すだけで意味を予測しやすく、特に業務データを扱う処理では直感的に理解が進みます。DISPLAYは表示、MOVEは代入、IFは条件分岐、STOP RUNは終了というように、英単語をそのまま文章として見られる安心感も、COBOLを学ぶ上での大きな助けになります。 実際のプログラムを書くときには、インデントを丁寧に揃えることでさらに読みやすくなります。単に動けばよいのではなく、後から読む人のために丁寧に記述するという考え方は、昔の言語であっても現代のソフトウェア開発と通じるものがあります。特に業務システムは何十年も使い続けられることが多いため、書式の美しさやルールの徹底は、時間を超えて品質を保つための大切な要素です。 次に示す簡単なサンプルには、今回学んだルールを自然に取り入れた基本的な処理をまとめてみました。カラム位置、インデント、キーワードの大文字、ピリオド、コメント、DISPLAYなどが使われており、初心者でも読みながら構造を理解できます。
簡単なサンプルコード例
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-STRUCTURE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
PROCEDURE DIVISION.
DISPLAY "あなたの名前を表示します".
MOVE "たなか" TO USER-NAME
DISPLAY USER-NAME
STOP RUN.
DISPLAYやMOVEは、極端に複雑な仕組みを用意しなくても自然な処理が行えます。命令の順番通りに動いていく点も、初心者にとっては理解しやすい大きな特徴になります。さらに、IF文や条件分岐を追加することで、入力値のチェックや判定処理も柔軟に組み立てられます。 例えば次のような分岐を追加すると、より実践的なプログラムのイメージに近づきます。
IF USER-NAME = "たなか"
DISPLAY "一致しています"
END-IF.
こうして書式の基本を押さえていくと、COBOLが難しい記号や特殊な記法に頼らず、直感的に読める表現で処理を記述できることに気づきます。現代的な言語と比べると、見た目に古さを感じることはあるかもしれません。しかし、長期間安定して運用される業務システムに必要な確実さや読みやすさという点では、今でも大きな評価を受け続けている理由が理解できます。 大切なのは、基本的な構造をひとつずつ整理し、ピリオドやインデントのような細かい書式も丁寧に守ることです。そうすることで、エラーを減らし、長く信頼されるプログラムを書けるようになります。COBOLは一見すると古い言語に感じられても、実際に触れてみるとむしろ初心者に優しい構造であることが伝わってきます。 今まで文章のように読み進めることができるプログラムに触れる機会が少なかった人でも、この機会にCOBOLの書式や表現の面白さに興味を持てるはずです。企業で動き続けている多くのシステムの裏側で、COBOLが今も現役として活躍している理由は、こうした読みやすさや堅実な記法に支えられています。 もし将来、COBOLを使った実務の場に関わることがあれば、今回学んだ書式ルールは間違いなく役に立ちます。基本を身につけるほどコードの世界が落ち着いて見え、修正や追加の作業も自信を持って進められるようになるでしょう。
生徒
「COBOLって難しいと思っていましたけど、ちゃんと順番や書式のルールを守れば、読みやすくてやさしい言語なんですね。」
先生
「そうですね。文章のように処理が並んでいくので、慣れてくると実行の流れを頭の中で想像しやすいはずです。」
生徒
「インデントをそろえたり、ピリオドを忘れないようにしたり、細かいところも丁寧に気を付ける必要がありますね。」
先生
「その通りです。読みやすさと正確さが大切です。今回覚えた書式を使えば、もっと複雑な処理にも挑戦できますよ。」
生徒
「COBOLは古い言語だと思っていましたが、しっかりした構造と読みやすい書き方があるんだと分かりました。実務で長く使われ続ける理由が理解できました!」