COBOL - Statement operations - Examples: fixed-point and floating-point evaluations



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Statement operations - Examples: fixed-point and floating-point evaluations
Enterprise COBOL for z/OS, V4.2, Language Reference

O exemplo a seguir mostra instruções que são avaliadas usando aritmética de ponto fixo e aritmética de ponto flutuante.

Suponha que você defina os itens de dados para uma tabela de funcionários da seguinte maneira:


       01  EMPLOYEE-TABLE.
           05  EMP-COUNT         PIC  9(4).
           05  EMPLOYEE-RECORD   OCCURS 1 TO 1000 TIMES
                                 DEPENDING ON EMP-COUNT.
           10 HOURS              PIC +9(5)E+99.
       . . .
       01  REPORT-MATRIX-COL     PIC  9(3).
       01  REPORT-MATRIX-MIN     PIC  9(3).
       01  REPORT-MATRIX-MAX     PIC  9(3).
       01  REPORT-MATRIX-TOT     PIC  9(3).
       01  AVERAGE-HOURS         PIC  9(3)V9.
       01  WHOLE-HOURS           PIC  9(4).

Essas instruções são avaliadas usando aritmética de ponto flutuante:

           COMPUTE REPORT-MATRIX-COL = (EMP-COUNT ** .5) + 1
           COMPUTE REPORT-MATRIX-COL = FUNCTION SQRT(EMP-COUNT) + 1
           IF REPORT-MATRIX-TOT < FUNCTION SQRT(EMP-COUNT) + 1

Essas instruções são avaliadas usando aritmética de ponto fixo:

           ADD REPORT-MATRIX-MIN TO REPORT-MATRIX-MAX GIVING REPORT-MATRIX-TOT
           COMPUTE REPORT-MATRIX-MAX =
                   FUNCTION MAX(REPORT-MATRIX-MAX REPORT-MATRIX-TOT)
           IF WHOLE-HOURS NOT = FUNCTION INTEGER-PART((AVERAGE-HOURS) + 1)


© Copyright IBM Corp.