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.