← 学習トップに戻る

🖥️ COBOL

Common Business-Oriented Language(1959年生まれ)。金融・保険・官公庁など基幹業務システムで現在も広く使われるレガシー言語。

📌 プログラム4大分割

DIVISION役割
IDENTIFICATION DIVISIONプログラム名・作成者などのメタ情報
ENVIRONMENT DIVISION外部ファイルとの割り当て(SELECT文)
DATA DIVISION変数・ファイルレコードの定義(PIC句)
PROCEDURE DIVISION処理ロジック(動詞を使って記述)

📌 データ定義(PIC句)

PIC句意味
PIC 9(5)数字5桁12345
PIC X(10)英数字10桁HELLO     
PIC S9(7)V99符号付き数字7桁+小数2桁-1234567.89
PIC 9(5) COMP-3パック10進数(内部形式)高速演算用
PIC 9(5) COMPバイナリ数値2バイト/4バイト

📌 主要動詞

動詞用途
MOVE A TO B変数Aの値をBへコピー
COMPUTE C = A + B算術演算
ADD A TO B加算(B = B + A)
PERFORM PARA-NAME段落(サブルーチン)を呼び出す
PERFORM VARYING i FROM 1 BY 1 UNTIL i > 10ループ
IF / ELSE / END-IF条件分岐
EVALUATE / WHEN / END-EVALUATEswitch文相当
DISPLAY 'text'コンソール出力
STOP RUNプログラム終了

💡 プログラム構造サンプル

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-NAME      PIC X(20) VALUE 'COBOL'.
       01  WS-COUNTER   PIC 9(3)  VALUE 0.

       PROCEDURE DIVISION.
       MAIN-PARA.
           PERFORM VARYING WS-COUNTER
               FROM 1 BY 1
               UNTIL WS-COUNTER > 5
               DISPLAY 'Count: ' WS-COUNTER
           END-PERFORM.
           STOP RUN.

💡 ファイル処理

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN-FILE ASSIGN TO 'INPUT.DAT'
               ORGANIZATION IS SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  IN-FILE.
       01  IN-REC.
           05  IN-CODE   PIC X(5).
           05  IN-NAME   PIC X(20).

       PROCEDURE DIVISION.
           OPEN INPUT  IN-FILE.
           READ IN-FILE AT END MOVE 'Y' TO EOF-FLG.
           CLOSE IN-FILE.

🔗 参考リンク