DIVIDE(除算)文

DIVIDE(除算)文は、いくつかの数字データ項目を1つの数字データ項目で割って、 商と 剰余をデータ項目の値として設定する。

一般形式

形式 1

形式 2

形式 3

形式 4

形式 5

構文規則

すべての形式
  1. 各一意名は、基本数字項目とする。ただし、GIVING指定またはREMAINDER指定に指定する一意名は、基本数字編集項目であってもよい。

  2. 各定数は、数字定数とする。

  3. 作用対象を合成したものは、REMAINDERデータ項目を除くすべての受取り側データ項目の使用により、決定される。手続き部の章の算術文節を参照。

  4. 形式 1、2、または 3 のいずれかの場合、浮動小数点データ項目または定数は、数字データ項目または定数が指定できる箇所であればどこでも使用できる。形式 4 または 5 の場合、浮動小数点データ項目または定数は指定できない。

一般規則

すべての形式
  1. 手続き部の章のROUNDED指定ON SIZE ERROR指定算術文, 作用対象の重なり、および算術文における複数個の答えの各節、およびCOBOL言語の概念の章の明示範囲符と暗黙範囲符節、翻訳集団の概念の章の範囲明示文節を参照。

形式 1
  1. 形式 1 では、定数-1または一意名-1によって参照されるデータ項目の値が一時的データ項目に記憶される。次いで、一意名-2の値がこの一時的なデータ項目の値で割られる。そして、被除数(一意名-2)の値が商で置き換えられる。同様に、一意名-2の後ろに続く各被除数が、指定された順番に左から右に順次この一時的なデータ項目で割られる。
形式 2
  1. 形式 2 では、一意名-2または定数-2が、定数-1または一意名-1のデータ項目の値で割られ、結果が一意名-3によって参照される各データ項目に入れられる。
形式 3
  1. 形式 3 では、一意名-1または定数-1が、定数-2または一意名-2のデータ項目の値で割られ、結果が一意名-3によって参照される各データ項目に入れられる。

形式 4 および 5
  1. 形式 4 および 5は、一意名-4に剰余を入れたいときに使用する。COBOLでは、剰余は、被除数から除数と商(一意名-3)の積を差し引いた結果の値であると定義される。一意名-3が数字編集項目として定義されていると、剰余を計算するために用いられる商には、編集されていない値を保持している中間項目が使用される。ROUNDEDを指定すると、剰余を計算するために用いられる商には、四捨五入ではなく切り捨てられた値を保持している中間項目が使用される。

  2. 形式 4 および 5では、REMAINDERデータ項目(一意名-4)の精度は上記の計算によって決まる。一意名-4によって参照されるデータ項目の内容は、必要に応じて、小数点の位置合わせと切捨て(四捨五入ではない)が行われる。

  3. 形式 4および 5においてON SIZE ERROR指定を書くと、下記の規則が適用される。

    1. 桁あふれが商に発生した場合、剰余を計算しても意味がない。したがって、一意名-3および一意名-4によって参照される値は変更されない。

      剰余に桁あふれが発生した場合、一意名-4によって参照される値は変更されない。.

    しかし、算術演算で複数の結果を求める他の場合と同様、利用者は自分で分析を行って、実際に何が発生したのかを突き止める必要がある。