COBOL - Coding your program - Examples: fixed-point and floating-point evaluations



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

COBOL - Codificando seu programa - Exemplos: avaliações de ponto fixo e ponto flutuante
Enterprise COBOL for z/OS, Version 4.2

O exemplo a seguir mostra instruções que são avaliadas usando aritmética de ponto fixo e usando 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(004).
    05  EMPLOYEE-RECORD OCCURS 1 TO 1000 TIMES
            DEPENDING ON EMP-COUNT.
        10 HOURS          PIC +9(005)E+99.
. . .
01  REPORT-MATRIX-COL     PIC  9(003).
01  REPORT-MATRIX-MIN     PIC  9(003).
01  REPORT-MATRIX-MAX     PIC  9(003).
01  REPORT-MATRIX-TOT     PIC  9(003).
01  AVERAGE-HOURS         PIC  9(003)V9(001).
01  WHOLE-HOURS           PIC  9(004).

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 declaraçõ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.