🖥️ 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-EVALUATE | switch文相当 |
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.