COMPUTE 文

COMPUTE 文は、算術式の値を 1 つ以上のデータ項目に割り当てる。

書き方 1 の一般形式 (算術計算)


COMPUTE Statement
ISO2002MF 

書き方 2 (ブール計算)

書き方 1 の構文規則

  1. 「=」の左側にのみ現れる一意名は、基本数字項目または基本数字編集項目

    OSVSVSC2MF または浮動小数点数項目を参照する必要がある。

  2. OSVSVSC2MF 「Equal」、「Equals」、および「=」は同意である。
ISO2002MF 

書き方 2 の構文規則

  1. identifier-2 は、基本ブール データ項目を参照するものとする。
  2. boolean-expression の構成要素を、表意定数 ALL のみとすることはできない。
  3. 「Equal」、「Equals」、および「=」は同意である。

一般規則

  1. 手続き部」の章の「算術式」、「ROUNDED 指定」、「ON SIZE ERROR 指定」、「算術文」、「作用対象の重複」、および「算術文での複数の結果」トピックを参照。また、「COBOL 言語の概念」の章の「明示範囲符および暗示範囲符」セクションおよび「言語の基礎」の章の「範囲明示文」セクションも参照。
  2. 単一の一意名または定数で構成される算術式を指定すると、その単一の一意名または定数の値を identifier-1 の値に設定できる。
  3. 算術文 ADD、SUBTRACT、MULTIPLY、および DIVIDE を使用する際には、一時的なデータ項目に中間結果を明示的に格納する必要があるが、COMPUTE 文を使用すると、その処理を行わなくとも算術演算を組み合わせることができる。式では可能な限り多くの桁が評価され、identifier-1 に収まるように切り捨てまたは四捨五入される。

    OSVSVSC2 式の評価中に取得した中間結果は、COBOL システムが確定する PICTURE のデータ項目に転記された場合と同様に切り捨てられる。この動作は ARITHMETIC コンパイラ指令を使用して選択する。

    ISO2002MF boolean-expression の評価から得られる値のブール値の位置の数は、その式で参照される最大ブール項目のブール値の位置の数である。結果の値は、MOVE 文の規則に従って identifier-2 が参照するデータ項目に転記される。

  4. 「=」の前に演算結果用の一意名を複数個指定すると、算術式の計算結果の値が、個々の identifier-1 の新しい値として順番に格納される。