COBOL2002 ユーザーズガイド
算術文には,COMPUTE文,ADD文,SUBTRACT文,MULTIPLY文,およびDIVIDE文があります。各文の説明を,次に示します。
なお,例中のtemp,quot,rem-tmp,およびremは,任意の一時的な記憶場所を示します。
COMPUTE文は,算術式の値を一つ以上のデータ項目に収めます。
COMPUTE文による演算の例を次に示します。なお,A〜Dは整数項目を表します。
COMPUTE A = B + C. ←BにCを加算し,その結果をAに収める COMPUTE A = B - C. ←BからCを減算し,その結果をAに収める COMPUTE A = B * C. ←BにCを乗算し,その結果をAに収める COMPUTE A = B / C.※ ←BをCで除算し,その結果をAに収める COMPUTE A = B ** C. ←BをC乗し,その結果をAに収める
COMPUTE A = B / C ←BをCで除算し,その商をAに収める COMPUTE D = B - C * A ←商Aを使って剰余を求め,Dに収める
ADD文は,幾つかの数字作用対象の和を一つ以上のデータ項目に収めます。
ADD文による演算の例を次に示します。
ADD A TO B *COMPUTE B = A + B ADD A B C TO D *COMPUTE D = A + B + C + D ADD A B TO C D *COMPUTE temp = A + B *COMPUTE C = temp + C *COMPUTE D = temp + D
ADD A B TO C GIVING D *COMPUTE D = A + B + C ADD A B GIVING C D ROUNDED *COMPUTE temp = A + B *COMPUTE C = temp *COMPUTE D ROUNDED = temp
05 A. 10 D1 PIC S9(6). 10 D2 PIC S9(3)V9(2) USAGE COMP. 05 B. 10 D1 PIC S9(5)V9 USAGE COMP. 10 D2 PIC 9(5)V9(5). : ADD CORRESPONDING A TO B ROUNDED * COMPUTE D1 OF B = D1 OF A + D1 OF B * COMPUTE D2 OF B = D2 OF A + D2 OF B
SUBTRACT文は,幾つかの数字作用対象の和を,一つ以上のデータ項目から減じ,その結果を一つ以上のデータ項目に収めます。
SUBTRACT文による演算の例を次に示します。
SUBTRACT A FROM B *COMPUTE B = B - A SUBTRACT A B C FROM D *COMPUTE D = D - (A + B + C) SUBTRACT A B FROM C D *COMPUTE temp = A + B *COMPUTE C = C - temp *COMPUTE D = D - temp
SUBTRACT A FROM B GIVING C *COMPUTE C = B - A SUBTRACT A B C FROM D GIVING E *COMPUTE E = D - (A + B + C) SUBTRACT A B FROM C GIVING D E ROUNDED *COMPUTE temp = C - (A + B) *COMPUTE D = temp *COMPUTE E ROUNDED = temp
05 A. 10 D1 PIC S9(6). 10 D2 PIC S9(3)V9(2) USAGE COMP. 05 B. 10 D1 PIC S9(5)V9 USAGE COMP. 10 D2 PIC 9(5)V9(5). : SUBTRACT CORRESPONDING A FROM B *COMPUTE D1 OF B = D1 OF B - D1 OF A *COMPUTE D2 OF B = D2 OF B - D2 OF A
MULTIPLY文は,数字作用対象同士の積を計算し,その結果を一つ以上のデータ項目に収めます。
MULTIPLY文による演算の例を次に示します。
MULTIPLY A BY B ROUNDED C D *COMPUTE temp = A *COMPUTE B ROUNDED = temp * B *COMPUTE C = temp * C *COMPUTE D = temp * D
MULTIPLY A BY B GIVING C D ROUNDED E *COMPUTE temp = A * B *COMPUTE C = temp *COMPUTE D ROUNDED = temp *COMPUTE E = temp
DIVIDE文は,一つの作用対象をほかの数字作用対象で割り,その商と剰余を一つ以上のデータ項目に収めます。
DIVIDE文による演算の例を次に示します。
DIVIDE A INTO B ROUNDED A C *COMPUTE temp = A *COMPUTE B ROUNDED = B / temp *COMPUTE A = A / temp *COMPUTE C = C / temp
DIVIDE A INTO B GIVING C D ROUNDED *COMPUTE temp = B / A *COMPUTE C = temp *COMPUTE D ROUNDED = temp
DIVIDE A BY B GIVING C D ROUNDED *COMPUTE temp = A / B *COMPUTE C = temp *COMPUTE D ROUNDED = temp
DIVIDE A INTO B GIVING C ROUNDED REMAINDER D *COMPUTE quot = B / A *COMPUTE rem-tmp = quot. *COMPUTE rem = B - A * rem-tmp. *COMPUTE C ROUNDED = quot *COMPUTE D = rem
DIVIDE A BY B GIVING C ROUNDED REMAINDER D *COMPUTE quot = A / B *COMPUTE rem = A - B * quot *COMPUTE C ROUNDED = quot *COMPUTE D = rem
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.