一歩先へ行くCOBOLプログラマの知っておくべき4つのヒント | 学習講座

COBOL(コボル)言語のプログラマが知っておくべきこととは

勉強法-ヒント-イメージ

COBOLは事務処理に特化したプログラミング言語

COBOLの大きな特徴として、事務処理に特化したプログラミング言語であることが挙げられます。

事務員でも開発できるように作られた言語のため、文法が英文に近く直感的にわかりやすいので、コンピューターに関する特別な知識がなくても扱うことができます。

主に売上データや給与などの大量のデータを高速に処理ができることを可能にしたプログラムで、1960年代から現在まで会計システムや規模の大きな基幹システムなど、幅広いシステムで使われております。

しかし、COBOLは最近登場したプログラミング言語には無い独自の仕様があり、とっつきにくいイメージもあります。

次項ではそんなCOBOLプログラムを学習する上で、知っておくべき4つのヒントについてご紹介します。

COBOLの構成を理解しよう

COBOLを理解するためには、まず最初にCOBOL独自の構成について理解しておく必要があります。COBOLには大きく分けて4つの部で構成されており、それぞれの部ごとに「見出し」があります。

COBOLプログラムで最初に記述することになるのが見出し部(IDENTIFICATION DIVISION)で、プログラムの作成者や作成日、プログラムの情報などを記述します。

2番目に記述するのが環境部(ENVIRONMENT DIVISION)で、使用するコンピューターの情報や使用する環境変数の受け渡し情報、プログラムから実行するファイルの情報などを記述します。

3番目にはデータ部(DATA DIVISION)を指定し、入出力ファイルのレイアウトや変数として使用するデータ項目、外部プログラムとやりとりする情報などを定義します。

最後に手続き部(PROCEDURE DIVISION)を指定し、プログラムが行う処理内容を記述します。

このようにCOBOLではそれぞれの部や見出しごとに記述する内容が異なります。そのため、他のプログラミング言語のように、変数の定義と同時にプログラムの処理を実行するのではなく、構成に沿ったプログラミングを行う必要がありますので、しっかりと理解しておきましょう。

データ項目の定義方法を覚えよう

通常のプログラミング言語では、プログラムの中で値や演算結果などを一時的に格納する入れ物のことを変数と呼びますが、COBOLでは変数と同じ使い方をする入れ物のことをデータ項目と呼びます。

COBOLでデータ項目(変数)を定義するときは、集団項目・基本項目やレベル番号などを用いて定義します。データ項目には整数や符号付きの値、小数点、英数字などさまざまな型を指定することが可能です。また、型のサイズまで厳密に指定できることがCOBOLの大きな特徴です。

01 データ項目 PIC 9(3)V9(5) VALUE 100.12345
このデータ項目の定義ではPIC 9(3)で数値型で3桁、V9(5)で小数点以下5桁のデータを定義することができます。

また、VALUE句を指定することで初期値を指定することができますし、手続き部で値を自由に指定することもできます。

データ項目の定義例:
勉強法-ヒント-定義例
 
この例ではSAMPLE-DATAが集団項目となり、その配下に基本項目としてデータ項目のNUM-A?NUM-Eにそれぞれ型とサイズの指定を行って初期値を指定しています。データ項目SUM-DATAに関しては計算結果を格納するため、初期値は指定していません。

このようにCOBOLならデータ項目定義時にデータのサイズまで指定することができるため、正確な計算処理を行うことができます。

また、COBOLでは計算処理の自由度も高く、通常では「A = A + 1」のように記述する計算処理も、演算子を使わずに「ADD 1 TO A」と英文に似た形式で記述することができますし、COMPUTE文を使えば演算子を使用した数式で計算を行うことができます。

以下にCOBOLで四則演算を行う簡単なサンプルを紹介します。

COBOLの計算処理:
勉強法-ヒント-計算処理サンプル

実行結果:
勉強法-ヒント-実行結果

ファイルの扱い方を理解しよう

COBOLではさまざまな種類のファイルを扱うことが可能です。COBOLは大量のデータをレコードという形でファイルに書き込み・読み込みなどの処理を行うのが基本となります。

順番にファイルのレコードへアクセスするための「順ファイル」、キーの指定によるレコード位置を直接計算して高速で処理できる「相対ファイル」、キーの指定による対象のレコードへアクセスする「索引ファイル」などがあります。

それぞれのファイルの特性を利用して大量のデータをソートやマージ、計算などを高速で行えることが大きな特徴です。そのため、COBOLでは各種ファイルの扱い方については必ず理解しておきましょう。

正しいコーディングを行おう

COBOLは上述したように英文に近い文法でデータ項目の定義・記述することができますので文法さえ理解しておけば、プログラムを作成することができます。

CやJavaなどの他のプログラミング言語と比べて、COBOLのプログラムは一見冗長になりがちですが、文法がある程度決まっているので、プログラマによって可読性が極端に落ちるといったことが少ないと言えます。

プログラムを書いた人と保守を担当する人が異なる場合でも、保守性・メンテナンス性に優れているので、文法さえ理解していればプログラムの改修も容易に可能です。しかし、保守性が高いからと言ってフォーマットを決めずにコーディングを行った場合、統一性がなくなり可読性も悪くなります。

そのため、COBOLでコーディングを行う場合はインデントの位置をあらかじめ決めておいたり、処理ごとにコメントを残すなど、あとで見返しても処理がわかるように学習の段階からコーディングルールを決めておくと良いでしょう。

まとめ

ここでは、COBOLの学習を行うにあたって知っておくべき4つのヒントについて紹介しました。

COBOLには他のプログラミング言語には無い独自のルールがあり、一見難しそうなイメージがあります。しかし、文法やルールをしっかりと理解すれば、習得するのは難しくありません。

COBOLを学習する際には、まずCOBOLの言語仕様についてしっかりと理解をしておくことが大切です。

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

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

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

COBOL入門のカテゴリー

 

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