カテゴリ: COBOL 更新日: 2025/12/12

COBOLのプログラム構造を完全ガイド!初心者でもわかる4つの基本部

COBOLのプログラム構造:識別部・環境部・データ部・手続き部
COBOLのプログラム構造:識別部・環境部・データ部・手続き部

先生と生徒の会話形式で理解しよう

生徒

「COBOLのプログラムって、どんな構造になっているんですか?」

先生

「COBOLのプログラムは、主に4つの部(ディビジョン)で構成されています。それぞれの部には特定の役割があります。」

生徒

「その4つの部って、具体的に何ですか?」

先生

「それでは、各部の役割を詳しく見ていきましょう!」

1. 識別部(IDENTIFICATION DIVISION)とは?

1. 識別部(IDENTIFICATION DIVISION)とは?
1. 識別部(IDENTIFICATION DIVISION)とは?

識別部は、COBOLプログラムの最初に記述される部で、プログラムの基本情報を定義します。主に以下のような情報を含みます:

  • PROGRAM-ID: プログラムの名前を指定します。
  • AUTHOR: プログラムの作成者を記述します。
  • DATE-WRITTEN: プログラムの作成日を記述します。

これらの情報は、プログラムの識別や管理に役立ちます。

2. 環境部(ENVIRONMENT DIVISION)とは?

2. 環境部(ENVIRONMENT DIVISION)とは?
2. 環境部(ENVIRONMENT DIVISION)とは?

環境部は、プログラムが動作するコンピュータ環境や、使用するファイルなどの外部要素を定義します。主に以下のセクションで構成されます:

  • CONFIGURATION SECTION: 使用するコンピュータや特別な名前を定義します。
  • INPUT-OUTPUT SECTION: 入出力ファイルの設定を行います。

これにより、プログラムがどのような環境で動作するかを明確にします。

3. データ部(DATA DIVISION)とは?

3. データ部(DATA DIVISION)とは?
3. データ部(DATA DIVISION)とは?

データ部は、プログラムで使用するデータや変数を定義する部です。主に以下のセクションで構成されます:

  • FILE SECTION: ファイルのレコード構造を定義します。
  • WORKING-STORAGE SECTION: プログラム内で使用する変数を定義します。
  • LOCAL-STORAGE SECTION: プログラムの実行時にのみ使用される変数を定義します。
  • LINKAGE SECTION: 外部プログラムとのデータの受け渡しを定義します。

これらのセクションを使って、プログラム内で扱うデータを整理します。

4. 手続き部(PROCEDURE DIVISION)とは?

4. 手続き部(PROCEDURE DIVISION)とは?
4. 手続き部(PROCEDURE DIVISION)とは?

手続き部は、実際の処理手順を記述する部です。ここでは、データ部で定義した変数を使って、具体的な処理を行います。例えば、データの表示や計算などを記述します。

以下は、簡単なDISPLAY文を使った例です:


PROCEDURE DIVISION.
    DISPLAY "こんにちは、COBOLの世界!".
    STOP RUN.

この例では、画面に「こんにちは、COBOLの世界!」と表示し、プログラムを終了します。

5. COBOLプログラムの全体構造

5. COBOLプログラムの全体構造
5. COBOLプログラムの全体構造

これまで説明した4つの部を組み合わせると、COBOLプログラムの全体構造は以下のようになります:


IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-ZOS.
OBJECT-COMPUTER. IBM-ZOS.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE ASSIGN TO 'INPUT.DAT'.

DATA DIVISION.
FILE SECTION.
FD INPUT-FILE.
01 INPUT-RECORD.
05 FIELD1 PIC X(10).
05 FIELD2 PIC 9(5).
WORKING-STORAGE SECTION.
01 WS-VARIABLE PIC X(20).

PROCEDURE DIVISION.
DISPLAY "COBOLプログラムの基本構造を学びました。".
STOP RUN.

このように、各部を順に記述することで、COBOLプログラムを構築します。

まとめ

まとめ
まとめ

COBOL(コボル)のプログラム構造は、一見すると複雑に感じるかもしれませんが、実は明確に定義された4つの基本的な部(ディビジョン)によって構成されています。それぞれの部は役割が分かれており、プログラムの可読性や保守性を高めるために工夫されています。

まず最初に登場するのが「識別部(IDENTIFICATION DIVISION)」です。この部では、プログラムの名称や作者情報などを記述し、プログラム自体を識別可能にします。特にPROGRAM-IDはCOBOLの基礎であり、すべてのCOBOLプログラムで必ず記述される重要な要素です。

次に「環境部(ENVIRONMENT DIVISION)」では、プログラムがどのようなコンピュータやファイル環境で実行されるかを定義します。CONFIGURATION SECTIONINPUT-OUTPUT SECTIONを活用することで、ハードウェアやファイル操作との連携を明示的に記述できます。

データ部(DATA DIVISION)」は、COBOLプログラムにおける変数やファイル構造の定義場所です。ここではFILE SECTIONWORKING-STORAGE SECTIONなどが登場し、プログラム内で使用されるデータの形やスコープを適切に設計することが求められます。

そして実際の処理を記述するのが「手続き部(PROCEDURE DIVISION)」です。この部では、データを操作するための手順を記述します。命令文であるDISPLAYMOVEIF文などを使用し、COBOLプログラムの流れを作成していきます。

以下のように、COBOLの基本構造を理解し、正確に記述できるようになることが、業務アプリケーションや基幹システムでのCOBOL活用にとって不可欠です:


IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-COBOL.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. GENERIC.
OBJECT-COMPUTER. GENERIC.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-MSG PIC X(30) VALUE "ようこそCOBOLの世界へ!".

PROCEDURE DIVISION.
DISPLAY WS-MSG.
STOP RUN.

このような基本的なサンプルを通して、COBOLプログラムの全体像や各部の役割を具体的に把握することができます。特にCOBOLはビジネスロジックの記述に優れており、大量データの処理に特化した特徴を持っています。そのため、COBOLを習得することで、金融・保険・政府系システムなどの業務に役立つプログラミングスキルを身につけることが可能になります。

COBOLの4つの部構成を理解し、それぞれの役割を明確に区別できるようになることが、プログラマとしての第一歩です。特にCOBOLプログラムは構造が厳格であるため、正確な構文理解と文法の習得が必要です。

今後は各部ごとの実践的なサンプルや、条件分岐・ループ・ファイル操作などの応用的な処理にもチャレンジして、さらに理解を深めていきましょう。

先生と生徒の振り返り会話

生徒

「COBOLの4つの部構造を学んで、全体の流れが見えてきました!PROGRAM-IDDISPLAYのような基本的な命令も理解できました。」

先生

「よくできましたね。プログラムの構造を理解すると、エラーも減りやすくなりますし、今後のファイル操作や条件分岐などの学習にもスムーズに進めますよ。」

生徒

「特にDATA DIVISIONでのデータの定義は新鮮でした!ファイル構造の設計が重要だとわかりました。」

先生

「その通りです。業務プログラムでは、正確なデータ定義が成果物の品質を左右します。これからも段階的にレベルアップしていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

COBOLプログラムの基本構造はどうなっていますか?初心者でも理解しやすいように教えてください。

COBOLプログラムは「識別部」「環境部」「データ部」「手続き部」という4つの部(ディビジョン)で構成されており、上から順番に記述する決まりがあります。それぞれの部が明確な役割を持っており、構造を理解することでミスを防ぎやすくなります。

IDENTIFICATION DIVISION(識別部)は必ず書く必要がありますか?

はい、IDENTIFICATION DIVISIONは必須です。この識別部にはPROGRAM-IDなどの重要な情報を記述し、COBOLプログラムを一意に識別するために使われます。
カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法