ディビジョンが4つある。
1. IDENTIFICATION DIVISION. (見出し部)
プログラムの名前などを記述します
2. ENVIRONMENT DIVISION. (環境部)
ファイルを利用する場合など、実行環境を記述します
3. DATA DIVISION. (データ部)
プログラムで使用するデータ項目について記述します
4. PROCEDURE DIVISION. (手続き部)
実際のプログラム(命令語)を記述します
順番もこの通りに書かなくてはならない。
DISPLAY "~~~~"
変数をはさむ場合は、
DISPLAY 変数 "文字列" 変数 "文字列"
というように、空白で区切って並べる。
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
END-PERFORM
※ I をデータディビジョンで宣言しておく必要あり。
01 I PIC 9.
PERFORM 1000 TIMES
DISPLAY "*** HIYOKO GUMI ***"
END-PERFORM
STOP RUN.
LABEL.
GO TO LABEL.
IF PASS = "TEST" THEN
END-IF
整数 :01 I PIC 9. ←桁数の分だけ9を並べる。左のように「9.」とすると、加算時に9の次が0になるので注意。
整数配列:01 TBL.
02 N PIC 9(2) OCCURS 3.
← OCCURS に続く数字が、配列の要素数。
01 N PIC 9(2) OCCURS 3. と宣言すると、「テーブルは親を持たなくてはなりません。」
というエラーになる。先頭の「01」「02」は、階層を意味するらしい。
インデントは無くても大丈夫。あった方が見やすいだろうけど・・・
()内の数字が桁数。
桁数を「3」とした上で、例えば35を代入すると、表示時は「035」と表示される。
実際に使用する時、配列の添え字も()で表現するので注意。
文字列 :01 PASS PIC X(10).
MOVE 数字 TO 変数
※ 数値も文字列もOK。
COMPUTE 変数 = 計算式
行の先頭に「*」
※ 先頭から1桁でもずれると、エラーになるので注意。
+,-,*,/
例:COMPUTE N(3) = N(1) - N(2)
※スペースを空けること。
E-N などというように、ハイフンを含んだ変数名も使えるため。
ACCEPT 変数名
※変数は文字列型
ENVIRONMENT DIVISION.には、以下のセクションが設けられる。
・INPUT-OUTPUT SECTION.
DATA DIVISION.には、以下のセクションが設けられる。
・FILE SECTION.
・WORKING-STORAGE SECTION.
WORKING-STORAGE SECTION.
01 W-REC.
02 W-KOKU PIC 9(5).
02 W-SUU PIC 9(5).
02 W-EI PIC 9(5).
01 MEISAI.
02 PIC X(6) VALUE "平均: ".
02 M-KOKU PIC ZZ9.9.
02 PIC X(2) VALUE SPACE.
02 M-SUU PIC ZZ9.9.
02 PIC X(2) VALUE SPACE.
02 M-EI PIC ZZ9.9.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO "SAMPLE_33.DAT".
DATA DIVISION.
FILE SECTION.
FD IN-FILE.
01 IN-REC.
02 IN-GAKUBAN PIC 9(5).
02 IN-NAME PIC X(10).
02 IN-KOKU PIC 9(3).
02 IN-SUU PIC 9(3).
02 IN-EI PIC 9(3).
PERFORM UNTIL END-FLG = 1
READ IN-FILE
AT END
MOVE 1 TO END-FLG
NOT AT END
COMPUTE W-KOKU = W-KOKU + IN-KOKU
COMPUTE W-SUU = W-SUU + IN-SUU
COMPUTE W-EI = W-EI + IN-EI
COMPUTE CNT = CNT + 1
END-READ
END-PERFORM
最終更新:2010年01月30日 12:28