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.