導入
多くの言語では「関数」や「クラス」が処理の単位ですが、COBOLはもっと大きな単位——**DIVISION(区分)**でプログラム全体を役割ごとに仕切ります。この「役割ごとに場所を分ける」考え方が、COBOLらしさの原点です。
説明
COBOLのプログラムは、必ず次の 4つのDIVISION を、この順番どおりに書きます。
graph TD
ID["IDENTIFICATION DIVISION<br/>プログラムの名前・作者などを書く"] --> ENV["ENVIRONMENT DIVISION<br/>実行環境・ファイルの割り当てを書く"]
ENV --> DATA["DATA DIVISION<br/>使うデータ(変数)を宣言する"]
DATA --> PROC["PROCEDURE DIVISION<br/>実際の処理(手続き)を書く"]
| DIVISION | 役割 | 他の言語で近いもの |
|---|---|---|
| IDENTIFICATION DIVISION | プログラムの名前を名乗る | ファイル名・クラス名の宣言 |
| ENVIRONMENT DIVISION | 動く環境・外部ファイルとの結び付けを書く | 設定ファイル・import文の一部 |
| DATA DIVISION | 使うデータ(変数)をあらかじめ全部宣言する | 変数宣言・構造体定義 |
| PROCEDURE DIVISION | 実際に実行される処理を書く | 関数の本体・main |
大事なポイントは2つです。
- 順番が固定 … この4つは必ずこの順序で書きます。前後を入れ替えることはできません。
- DATA DIVISIONで「先に全部宣言」 … 多くの現代言語は使う場所で変数を宣言しますが(
let x = 5;のように)、COBOLは使うデータを先にすべてDATA DIVISIONにまとめて宣言してから、PROCEDURE DIVISIONで処理を書きます。「材料をすべて用意してから調理する」というイメージです。
ENVIRONMENT DIVISIONとDATA DIVISIONは、プログラムが単純な場合は省略できることもありますが、基本の型として4つとも書く癖をつけておくと迷いません。
試すには
次のレッスンから、この4つのDIVISIONを1つずつ詳しく見ていきます。「今どのDIVISIONの話をしているか」を、このレッスンの図に立ち返りながら読み進めてください。