COBOL言語とは?プログラムの書き方やルールを解説! | 基礎ガイド

COBOL(コボル)言語の歴史や特徴、プログラムの書き方やルールとは?

基礎-ルール-イメージ

プログラミング言語のCOBOLとは

COBOLとは、1959年にアメリカで生まれた事務処理用に開発されたプログラミング言語です。
1959年当時はアセンブラやFORTRANなど、さまざまなプログラミング言語がありましたが、これらの言語は人間が理解するには困難な言語でした。

そんな中、「事務処理用の高級言語」として開発されたのがCOBOL(Common Business Oriented Language)です。
COBOLは人間の文法に近く理解しやすいことから、プログラミングの入門用としても扱いやすかったため、利用者が世界中に広まり、現在も基幹システムや事務処理のシステムなど現役で使われています。

2017年6月時点でのTIOBEの人気プログラミング言語指標では、COBOLは古い言語であるにも関わらず、25位と上位にランクインしています。そのため、これからプログラミング言語を初めたい入門者や、経験者だけど他の言語も学んでみたい、といった方にもおすすめできます。

基礎-ルール-人気プログラミング言語指標一覧
(画像出典先:https://www.tiobe.com/tiobe-index/)

COBOL(コボル)の特徴

1.COBOLの大きな特徴として「事務処理用のプログラムを効率よく開発できる」ことが挙げられます。

2.人間の言葉に近い文法でプログラムを記述できるため、習得が容易でプログラミングの入門にも最適です。

3.単純な順ファイルから、相対・牽引ファイルなど、さまざまなファイルを扱う機能が提供されています。

4.ファイルに大量のデータを書き込んだり、ソートやマージしてデータを並べ替えるといった作業を、高速で処理することが可能です。

5.事務処理で必要な帳票の作成や印刷などの処理が可能です。

6.データを10進数で表現できるため、金額や各種データの確認が容易に行うことができます。

7.COBOLは、WindowsやUnix/Linuxなど、さまざまなコンピュータで利用できるため、移植性が極めて高い言語です。

8.歴史が古く安定した言語で堅牢性に優れており、信頼性が高いと言えます。そのため、大規模なシステムの開発でよく使用されます。

COBOL(コボル)プログラムの書き方

COBOLは、大きく分けて4つの部で構成されています。それぞれの部は「見出し」があります。

プログラムは「見出し部(IDENTIFICATION DIVISION)」から始まり、「環境部(ENVIRONMENT DIVISION.)」、「データ部(DATA DIVISION)」「手続き部(PROCEDURE DIVISION)」と処理を順に記述していきます。

見出し部以外は省略することが可能で、部(DIVISION)の中にはいくつかの節(SECTION)や段落があります。

・見出し部(IDENTIFICATION DIVISION)
見出し部はCOBOLプログラムを識別するための部で、見出し部のみ節はありません。PROGRAM-IDには作成するプログラム名などの情報を記述します。

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. [プログラム名など].

・環境部(ENVIRONMENT DIVISION)
環境部はプログラムを適用するコンピュータ名や、環境変数などの情報の定義を行う構成節(CONFIGURATION SECTION)と、プログラムファイルを使用する場合に記述する入出力節(INPUT-OUTPUT SECTION)があります。

  1. ENVIRONMENT DIVISION.
  2. CONFIGURATION SECTION.
  3. INPUT-OUTPUT SECTION.
  4. FILE-CONTROL.
  5. SELECT ファイル項目 ASSIGN TO 'ファイル名'

・データ部(DATA DIVISION)
データ部はファイル節(FILE SECTION)、作業場所節(WORKNG-STORAGE SECTION)、連絡節(LINKAGE SECTION)、通信節(COMMUNICATION SECTION)などから構成されます。主にプログラムで使用するデータ項目やファイルのレコードの宣言を行います。

  1. DATA DIVISION.
  2. FILE SECTION.
  3. FD ファイル項目.
  4. 01 ファイルレコード.
  5. 05 データ項目1 PIC 9(5).
  6. 05 データ項目2 PIC X(3).

上記の例では、ファイル節にファイル記述項(FD)とファイルのレコード定義を行っています。

・手続き部(PROCEDURE DIVISION)
手続き部では主に各種処理を宣言したり、実行される手続きやエラーになった場合の処理内容を記述します。
また、STOP文を記述すれば、プログラムを終了することができます。

  1. PROCEDURE DIVISION.
  2. MAIN SECTION.
  3.  
  4. 実行処理...
  5.  
  6. STOP RUN.
  7.  

COBOL(コボル)プログラムの作成

ここでは、前述したCOBOLプログラムの書き方を踏まえて、簡単な演算を行い、結果をDISPLAY文で画面に出力するプログラムを紹介します。
以下の例では値を設定するデータ項目1、データ項目2と演算結果を保存する項目を定義し、MOVE文で値を転記して、ADD文を使用して加算を行っています。
基礎-ルール-プログラム例1
実行結果:
基礎-ルール-実行結果1

練習問題
COBOLではADD文を使用して数値を加算することができますが、減算・乗算・除算はどうやって行えばよいのでしょうか?
COBOLには、四則演算の命令文がそれぞれ用意されていて、加算はADD文,減算はSUBTRACT文,乗算はMULTIPLY文、除算はDIVIDE文でそれぞれ演算を行うことができます。

例題:
ここでは、減算した結果を出力するプログラムを作成してみましょう。
値を減算するにはSUBTRACT文を使用します。
SUBTRACT文は以下のように記述します。

「SUBTRACT 減算する項目 FROM 減算対象項目.」
※つまりこの式は「減算対象項目 = 減算対象項目 – 減算する項目」となります。

回答:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. SUBTRACT_SAMPLE01.
  3.  
  4. ENVIRONMENT DIVISION.
  5. CONFIGURATION SECTION.
  6. DATA DIVISION.
  7. WORKING-STORAGE SECTION.
  8. 01 WORK-AREA.
  9. 03 WORK-GROUP-1.
  10. 05 WORK-NUM PIC 9(3).
  11. 05 WORK-SUM PIC 9(3).
  12.  
  13. PROCEDURE DIVISION.
  14. MAIN SECTION.
  15. *>値を設定する
  16. MOVE 100 TO WORK-NUM.
  17. MOVE 300 TO WORK-SUM.
  18. *>WORK-SUMに減算した結果を保存する
  19. SUBTRACT WORK-NUM FROM WORK-SUM.
  20. *>結果を出力する
  21. DISPLAY "結果: "WORK-SUM.
  22. STOP RUN.

実行結果:
基礎-ルール-実行結果2

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門