本文へスキップ
BecomeCoder

COBOLコース · 第2章 はじめてのCOBOLプログラム ― 4つのDIVISION · レッスン6

COBOLプログラムの骨格 ― 4つのDIVISIONの役割と順序

ローカル実施

導入

多くの言語では「関数」や「クラス」が処理の単位ですが、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の話をしているか」を、このレッスンの図に立ち返りながら読み進めてください。