next up previous
Next: DIVIDEの規則 Up: PROCEDURE DIVISION Previous: MOVEの規則

COMPUTEの規則

計算処理の基本はCOMPUTE命令です。ただし、剰余を求める必要がある場合に限 り、DIVIDE命令を使用します。いかなる場合でも、ADDやSUBやMULは使用禁止で す。

【例】
     1   1   2   2   2   3   3   4   4   4   5   5   6   6   6   7
7----2---6---0---4---8---2---6---0---4---8---2---6---0---4---8---2
     COMPUTE A = A + 1 .
     COMPUTE WK1-SEC = WK1-HH * 3600
                     + WK1-MM * 60
                     + WK1-SS.
     COMPUTE WK1-DUR = WK1-EHH * 3600
                     + WK1-EMM * 60
                     + WK1-ESS
                     - ( WK1-SHH * 3600
                       + WK1-SMM * 60
                       + WK1-SSS
                       ) .
     COMPUTE WK1-DUR = ( WK1-EHH - WK1-SHH ) * 3600
                     + ( WK1-EMM - WK1-SMM ) * 60
                     + ( WK1-ESS - WK1-SSS ) .

なお、上に挙げた例のうち2番目のCOMPUTE WK1-DUR は、不可の例です。これは 数学的には正しい式ですが、ちょっと見た時に「おや?」と思わせるものがある ためです。記述上の演算の回数は後のプログラムの方が少ないので、効率が良さ そうですが、現代のコンパイラでは同じ効率のコード生成を行うはずです。



Masami Ogoshi 2001-11-12