一歩先へ行く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入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典