ILE COBOL 解説書


DIVIDE ステートメント

DIVIDE ステートメントは 1 つの数字データ項目を、1 つまたは複数の他の数字データ項目で除算して、その結果を商と余りとして保管します。

DIVIDE ステートメントには次の 5 つの形式があります。

DIVIDE ステートメント - 形式 1 - INTO
 
                                 .-------------------.
                                 V                   |
>>-DIVIDE--+-ID-1-------+--INTO----ID-2--+---------+-+---------->
           '-リテラル-1-'                '-ROUNDED-'
 
>--+------------------------------------------+----------------->
   '-+----+--SIZE ERROR--命令ステートメント-1-'
     '-ON-'
 
>--+-----------------------------------------------+------------>
   '-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
          '-ON-'
 
>--+------------+----------------------------------------------><
   '-END-DIVIDE-'
 
 

形式 1 では、ID-1 またはリテラル-1 の値は ID-2 の値で除算が行われます。 その後、商が ID-2 に入れられます。 このプロセスは ID-2 のそれ以後のオカレンスごとに繰り返されます。

DIVIDE ステートメント - 形式 2 - INTO GIVING
 
>>-DIVIDE--+-ID-1-------+--INTO--+-ID-2-------+----------------->
           '-リテラル-1-'        '-リテラル-2-'
 
           .-------------------.
           V                   |
>--GIVING----ID-3--+---------+-+-------------------------------->
                   '-ROUNDED-'
 
>--+------------------------------------------+----------------->
   '-+----+--SIZE ERROR--命令ステートメント-1-'
     '-ON-'
 
>--+-----------------------------------------------+------------>
   '-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
          '-ON-'
 
>--+------------+----------------------------------------------><
   '-END-DIVIDE-'
 
 

形式 2 では、ID-1 またはリテラル-1 の値は、ID-2 またはリテラル-2 の値で除算されます。 商の値は、ID-3 によって参照される各データ項目に保管されます。

DIVIDE ステートメント - 形式 3 - BY GIVING
 
>>-DIVIDE--+-ID-1-------+--BY--+-ID-2-------+------------------->
           '-リテラル-1-'      '-リテラル-2-'
 
           .-------------------.
           V                   |
>--GIVING----ID-3--+---------+-+-------------------------------->
                   '-ROUNDED-'
 
>--+------------------------------------------+----------------->
   '-+----+--SIZE ERROR--命令ステートメント-1-'
     '-ON-'
 
>--+-----------------------------------------------+------------>
   '-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
          '-ON-'
 
>--+------------+----------------------------------------------><
   '-END-DIVIDE-'
 
 

形式 3 では、ID-1 またはリテラル-1 の値は、ID-2 またはリテラル-2 の値で除算されます。 この商は、ID-3 で参照される各データ項目に保管されます。

DIVIDE ステートメント - 形式 4 - INTO GIVING REMAINDER
 
>>-DIVIDE--+-ID-1-------+--INTO--+-ID-2-------+----------------->
           '-リテラル-1-'        '-リテラル-2-'
 
>--GIVING--ID-3--+---------+--REMAINDER--ID-4------------------->
                 '-ROUNDED-'
 
>--+------------------------------------------+----------------->
   '-+----+--SIZE ERROR--命令ステートメント-1-'
     '-ON-'
 
>--+-----------------------------------------------+------------>
   '-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
          '-ON-'
 
>--+------------+----------------------------------------------><
   '-END-DIVIDE-'
 
 

形式 4 では、ID-1 またはリテラル-1 の値は、ID-2 またはリテラル-2 の値で除算されます。 この商は ID-3 に保管され、余りの値は ID-4 に保管されます。

DIVIDE ステートメント - 形式 5 - BY GIVING REMAINDER
 
>>-DIVIDE--+-ID-1-------+--BY--+-ID-2-------+------------------->
           '-リテラル-1-'      '-リテラル-2-'
 
>--GIVING--ID-3--+---------+--REMAINDER--ID-4------------------->
                 '-ROUNDED-'
 
>--+------------------------------------------+----------------->
   '-+----+--SIZE ERROR--命令ステートメント-1-'
     '-ON-'
 
>--+-----------------------------------------------+------------>
   '-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
          '-ON-'
 
>--+------------+----------------------------------------------><
   '-END-DIVIDE-'
 
 

形式 5 では、ID-1 またはリテラル-1 の値は、ID-2 またはリテラル-2 の値で除算されます。 この商は ID-3 に保管され、余りの値は ID-4 に保管されます。

すべての形式において、以下が適用されます。

ID-1、ID-2
基本数字項目でなければなりません。
ID-3、ID-4
基本数字項目または基本数字編集項目でなければなりません。
リテラル-1、リテラル-2
数字リテラルでなければなりません。

オペランドの合成は、REMAINDER データ項目を除いた、すべての受け入れデータ項目を重ね合わせることによって決定されます。 オペランドの合成に関する詳細は オペランドのサイズを参照してください。

+----------------------------------IBM 拡張----------------------------------+

形式 1 〜 3 では、浮動小数点データ項目および浮動小数点リテラルは、数字データ項目または数字リテラルが指定できるところであればどこでも使用できます。

形式 4 および形式 5 では、浮動小数点データ項目または浮動小数点リテラルは使用できません。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]