DIVIDE 文

DIVIDE 文は、1 つの数値データ項目を複数に割り、商および剰余に等しいデータ項目の値を設定する。

書き方 1 の一般形式


DIVIDE - FORMAT 1

書き方 2 の一般形式


DIVIDE - FORMAT 2

書き方 3 の一般形式


DIVIDE - FORMAT 3

書き方 4 の一般形式


DIVIDE - FORMAT 4

書き方 5 の一般形式


DIVIDE - FORMAT 5

すべての書き方に関する構文規則

  1. 各一意名 (identifier) は基本数字項目を参照するものとする。ただし、GIVING 指定または REMAINDER 指定に関連付ける一意名は、基本数字編集項目を参照してもよい。
  2. 各定数は数字定数とする。
  3. 作用対象の合成は、REMAINDER データ項目を除くすべての受信側データ項目を使用して決定される。「手続き部」の章の「算術文」トピックを参照。
  4. OSVSVSC2MF 書き方 1、2、または 3 の場合、浮動小数点データ項目または定数は、数値データ項目または定数を指定できる任意の場所で使用できる。書き方 4 または 5 の場合、浮動小数点データ項目または定数は指定できない。

すべての書き方に関する一般規則

  1. 手続き部」の章の「ROUNDED 指定」、「ON SIZE ERROR 指定」、「算術文」、「作用対象の重複」、および「算術文での複数の結果」トピックを参照。また、「COBOL 言語の概念」の章の「明示範囲符および暗示範囲符」セクションおよび「言語の基礎」の章の「範囲明示文」セクションも参照。.

書き方 1 の一般規則

  1. 書き方 1 では、literal-1、または identifier-1 が参照するデータ項目の値が、一時データ項目に格納される。次に、この一時データ項目の値は identifier-2 の値へと割られる。被除数の値 (identifier-2 が参照するデータ項目の値) は、この商で置き換えられる。同様に一時データ項目が、連続する一連の identifier-2 へと割られる。この際、identifier-2 が指定された左から右の順番になる。

書き方 2 の一般規則

  1. 書き方 2 では、identifier-1 または literal-1 の値が identifier-2 または literal-2 へと割られ、その結果が identifier-3 が参照する各データ項目に格納される。

書き方 3 の一般規則

  1. 書き方 3 では、identifier-1 または literal-1 の値が、identifier-2 または literal-2 の値で割られ、その結果は identifier-3 が参照する各データ項目に格納される。

書き方 4 および 5 の一般規則

  1. 書き方 4 および 5 は、除算演算の剰余、つまり identifier-4 が必要な場合に使用する。COBOL では、剰余は、商 (identifier-3) および除数の積を被除数から引いた結果として定義される。identifier-3 を数字編集項目として定義する場合、剰余の計算に使用する商は、編集されていない商を含む中間フィールドである。ROUNDED を使用する場合、剰余の計算に使用する商は、四捨五入ではなく切り捨てられた DIVIDE 文の商を含む中間フィールドである。
  2. 書き方 4 および 5 では、REMAINDER データ項目 (identifier-4) の精度は、上記の計算によって決まる。identifier-4 が参照するデータ項目の内容は、必要に応じて、小数点の位置合わせおよび切り捨て (四捨五入ではない) が行われる。
  3. 書き方 4 および 5 で ON SIZE ERROR を指定すると、次の規則が適用される。
    1. 商で桁あふれ条件が生じた場合は、剰余を計算しても意味をなさない。したがって、identifier-3 および identifier-4 の両方が参照するデータ項目の内容は変更されない。
    2. 剰余で桁あふれ条件が生じた場合、identifier-4 が参照するデータ項目の内容は変更されない。

    ただし、算術文で複数の結果を求める他の場合と同様、実際にどのような状況が発生したかを認識するためには、独自の分析を行う必要がある。