COBOL

COBOL入門

データを定義し、読み込み、計算し、帳票へ出力する流れを、短いコードと実行結果で学びましょう。

GnuCOBOL 3.2系・フリーフォーマットを対象にしています。

COBOL入門の講座一覧

GnuCOBOLの導入

Ubuntu・Debian・Mintではsudo apt updateの後にsudo apt install gnucobol、macOSではHomebrewのbrew install gnucobolを実行します。WindowsはWSLのUbuntuを使うと同じ手順で始められます。導入後にcobc --versionを確認してください。

OS別の補足と最初のコンパイルは環境構築と最初のプログラムで説明します。

sudoについて管理者権限が必要なため、実行するとユーザーのパスワードを求められることがあります。

01

COBOLとは

COBOLは、事務処理や大量のデータ処理を意識して設計されたプログラミング言語です。英語に近い命令名と、データの項目・桁数を明示する定義が特徴です。

この講座では、ブラウザ上で実行するのではなく、GnuCOBOLをインストールして、.cobファイルをコンパイルして実行する流れを使います。COBOLは処理系によって書式や拡張機能に差があるため、ページ内の例はGnuCOBOL 3.2系とフリーフォーマットを前提にしています。

COBOLの読み方

まず「どのデータを定義し、どの順番で読み、どの条件で処理し、何を出力するか」を追います。キーワードを丸暗記するより、データの流れを図にすると理解しやすくなります。

02

学習の流れ

最初に短い表示プログラムを動かし、次に4つのDivision、データ定義、計算、分岐、繰り返しへ進みます。その後、表データとファイルを扱い、最後に段落とサブプログラムを使って処理を分割します。

最初に覚える処理の流れTEXT
データを定義する
    ↓
データを読み込む
    ↓
条件を判断して計算する
    ↓
結果を表示・ファイルへ出力する

各ページでは、コードを写すだけで終わらないように、実行結果、値の変化、よくある間違い、入力値を変える練習を掲載しています。COBOLの命令は大文字で書かれることが多いですが、GnuCOBOLでは小文字でも実行できます。

03

データを定義する

COBOLでは、DATA DIVISIONのWORKING-STORAGE SECTIONなどに、データ名と桁数・種類を定義します。文字列の長さや数値の桁を先に決めるため、入力と出力のレイアウトを意識できます。

数量と単価から金額を計算するCOBOL
01  QUANTITY PIC 9(3) VALUE 4.
01  PRICE    PIC 9(5) VALUE 1200.
01  TOTAL    PIC 9(8).

COMPUTE TOTAL = QUANTITY * PRICE
DISPLAY "合計: " TOTAL
実行結果OUTPUT
合計: 00004800

詳しいPIC句、MOVE、算術命令、文字列の定義はデータ定義と計算で扱います。先に桁数を決めることが、COBOLのコードを読む第一歩です。

04

ファイルを処理する

COBOLの実務的な処理では、ファイルを定義して、開き、1レコードずつ読み、終了条件を確認し、閉じます。ファイル入出力では、GnuCOBOLで扱いやすい行順編成ファイルを使った例を掲載しています。

入力ファイルを自分で作る

例題では、まずsales.txtのような短いテキストファイルを作ります。データを1行増やし、合計や件数が変わることまで確認すると、READの動きが理解しやすくなります。

05

練習して定着させる

COBOLでは、同じ命令でもデータ定義やファイルレイアウトによって結果が変わります。COBOL練習問題では、表示、合計、成績判定、表検索、ファイル集計、入力検証の課題を用意しています。

解答を見る前に、変数の初期値、処理の繰り返し回数、条件が成立するタイミングを紙に書いてみましょう。実行結果と予想が違ったときに、どの値が変わったかを調べる習慣が身につきます。

NEXT

公式資料でさらに深く学ぶ

GnuCOBOLの公式ガイドには、言語の構文・意味・使い方をまとめたProgrammer's Guide、短く調べるためのQuick Reference、サンプルプログラム集があります。この講座は初学者向けに順序と実行例を補うもので、詳細な仕様を確認するときは公式資料を参照してください。