【一般的な記述】
COMPUTE 項目名1 「ROUNDED」 = 【変数2・数字常数・演算式】「ON SIZE ERROR 命令」
①項目名1は、演算結果が格納される領域です。
②ROUNDEDを記述すると四捨五入された演算結果となります。(記述しなければ切り捨て)
③【項目名2・数字常数・演算式】
それぞれの記述例
項目2 : COMPUTE A = B
数字常数: COMPUTE A = 1
演算式 : COMPUTE A = A + 1(加算)
: COMPUTE A = A – 1(減算)
: COMPUTE A = A * B(乗算)
: COMPUTE A = A / C(除算)
: COMPUTE A = (B + C – D) * E / F
: COMPUTE A = A – 1(減算)
: COMPUTE A = A * B(乗算)
: COMPUTE A = A / C(除算)
: COMPUTE A = (B + C – D) * E / F
④ON SIZE ERROR 命令
桁溢れ(演算結果が項目1の桁を超えた状態)が起きた場合に、命令が実行されます。
エラー処理へ制御を渡すことになりますが通常記述しません。
【使用例】
以下は、COMPUTE(演算)命令を使用したプログラムの例です。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE04.
*COMPUTE(演算命令)を使用した例
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
01 WORK-AREA.
03 TANKA PIC 9(05).
03 SURYO PIC 9(05).
03 KINGAKU PIC 9(05).
PROCEDURE DIVISION.
MAIN.
DISPLAY “単価を入力してください”.
ACCEPT TANKA.
DISPLAY “数量を入力してください”.
ACCEPT SURYO.
COMPUTE KINGAKU = TANKA * SURYO.
DISPLAY “金額は” KINGAKU “です。”
STOP RUN.
PROGRAM-ID. SAMPLE04.
*COMPUTE(演算命令)を使用した例
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
01 WORK-AREA.
03 TANKA PIC 9(05).
03 SURYO PIC 9(05).
03 KINGAKU PIC 9(05).
PROCEDURE DIVISION.
MAIN.
DISPLAY “単価を入力してください”.
ACCEPT TANKA.
DISPLAY “数量を入力してください”.
ACCEPT SURYO.
COMPUTE KINGAKU = TANKA * SURYO.
DISPLAY “金額は” KINGAKU “です。”
STOP RUN.
コメントを書く