DIVIDE 文
DIVIDE 文は、1 つの数値データ項目を複数に割り、商および剰余に等しいデータ項目の値を設定する。
書き方 1 の一般形式
書き方 2 の一般形式
書き方 3 の一般形式
書き方 4 の一般形式
書き方 5 の一般形式
すべての書き方に関する構文規則
各一意名 (identifier) は基本数字項目を参照するものとする。ただし、GIVING 指定または REMAINDER 指定に関連付ける一意名は、基本数字編集項目を参照してもよい。
各定数は数字定数とする。
作用対象の合成は、REMAINDER データ項目を除くすべての受信側データ項目を使用して決定される。「
手続き部
」の章の「
算術文
」トピックを参照。
書き方 1、2、または 3 の場合、浮動小数点データ項目または定数は、数値データ項目または定数を指定できる任意の場所で使用できる。書き方 4 または 5 の場合、浮動小数点データ項目または定数は指定できない。
すべての書き方に関する一般規則
「
手続き部
」の章の「
ROUNDED 指定
」、「
ON SIZE ERROR 指定
」、「
算術文
」、「
作用対象の重複
」、および「
算術文での複数の結果
」トピックを参照。また、「
COBOL 言語の概念
」の章の「
明示範囲符および暗示範囲符
」セクションおよび「
言語の基礎
」の章の「
範囲明示文
」セクションも参照。.
書き方 1 の一般規則
書き方 1 では、literal-1、または identifier-1 が参照するデータ項目の値が、一時データ項目に格納される。次に、この一時データ項目の値は identifier-2 の値へと割られる。被除数の値 (identifier-2 が参照するデータ項目の値) は、この商で置き換えられる。同様に一時データ項目が、連続する一連の identifier-2 へと割られる。この際、identifier-2 が指定された左から右の順番になる。
書き方 2 の一般規則
書き方 2 では、identifier-1 または literal-1 の値が identifier-2 または literal-2 へと割られ、その結果が identifier-3 が参照する各データ項目に格納される。
書き方 3 の一般規則
書き方 3 では、identifier-1 または literal-1 の値が、identifier-2 または literal-2 の値で割られ、その結果は identifier-3 が参照する各データ項目に格納される。
書き方 4 および 5 の一般規則
書き方 4 および 5 は、除算演算の剰余、つまり identifier-4 が必要な場合に使用する。COBOL では、剰余は、商 (identifier-3) および除数の積を被除数から引いた結果として定義される。identifier-3 を数字編集項目として定義する場合、剰余の計算に使用する商は、編集されていない商を含む中間フィールドである。ROUNDED を使用する場合、剰余の計算に使用する商は、四捨五入ではなく切り捨てられた DIVIDE 文の商を含む中間フィールドである。
書き方 4 および 5 では、REMAINDER データ項目 (identifier-4) の精度は、上記の計算によって決まる。identifier-4 が参照するデータ項目の内容は、必要に応じて、小数点の位置合わせおよび切り捨て (四捨五入ではない) が行われる。
書き方 4 および 5 で ON SIZE ERROR を指定すると、次の規則が適用される。
商で桁あふれ条件が生じた場合は、剰余を計算しても意味をなさない。したがって、identifier-3 および identifier-4 の両方が参照するデータ項目の内容は変更されない。
剰余で桁あふれ条件が生じた場合、identifier-4 が参照するデータ項目の内容は変更されない。
ただし、算術文で複数の結果を求める他の場合と同様、実際にどのような状況が発生したかを認識するためには、独自の分析を行う必要がある。
上位ヘルプ:
文
関連情報
算術式
ON SIZE ERROR 指定および NOT ON SIZE ERROR 指定
ROUNDED 指定
算術文
作用対象の重複
算術文での複数の結果
明示範囲符および暗示範囲符
範囲明示文