Voici des exemple de programme utilisant COMPUTE :
IDENTIFICATION DIVISION.
PROGRAM-ID. COMPUTE.
AUTHOR. LA COMMUNAUTE DU COBOL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 VALEUR-1 PIC 9(009) VALUE ZEROES.
05 VALEUR-2 PIC 9(009) VALUE ZEROES.
05 VALEUR-3 PIC 9(009) VALUE ZEROES.
05 VALEUR-4 PIC 9(009)V9(002) VALUE ZEROES.
05 VALEUR-5 PIC S9(009) VALUE ZEROES.
05 VENTES PIC 9(009) VALUE ZEROES.
05 QUANTITE PIC 9(009) VALUE ZEROES.
PROCEDURE DIVISION.
001-INIT.
Exemple 1
MOVE 10 TO QUANTITE
MOVE 09 TO VALEUR-1
COMPUTE VENTES = QUANTITE * VALEUR-1 / 5
DISPLAY "QUANTITE " QUANTITE
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VENTES " VENTES
* Resultat du test:
* QUANTITE 000000010
* VALEUR-1 000000009
* VENTES 000000018
Exemple 2
MOVE 05 TO VALEUR-1
DISPLAY "VALEUR-1 AVANT " VALEUR-1
COMPUTE VALEUR-1 = VALEUR-1 + 1
DISPLAY "VALEUR-1 APRÈS " VALEUR-1
* Resultat du test:
* VALEUR-1 AVANT 000000005
* VALEUR-1 APRÈS 000000006
Exemple 3
MOVE 05 TO VALEUR-1
MOVE 15 TO VALEUR-2
COMPUTE VALEUR-3 = VALEUR-1 - VALEUR-2
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-3 " VALEUR-3
* Resultat du test:
* VALEUR-1 000000005
* VALEUR-2 000000015
* VALEUR-3 000000010
Exemple 4
MOVE 05 TO VALEUR-1
MOVE 15 TO VALEUR-2
COMPUTE VALEUR-3 = VALEUR-1 * VALEUR-2
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-3 " VALEUR-3
* Resultat du test:
* VALEUR-1 000000005
* VALEUR-2 000000015
* VALEUR-3 000000075
Exemple 5
MOVE 05 TO VALEUR-1
MOVE 15 TO VALEUR-2
COMPUTE VALEUR-3 = VALEUR-1 + VALEUR-2 + 50
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-3 " VALEUR-3
* Resultat du test:
* VALEUR-1 000000005
* VALEUR-2 000000015
* VALEUR-3 000000070
Exemple 6
MOVE 05 TO VALEUR-1
DISPLAY "VALEUR-1 AVANT " VALEUR-1
COMPUTE VALEUR-1 = VALEUR-1 - 1
DISPLAY "VALEUR-1 APRES " VALEUR-1
* Resultat du test
:
* VALEUR-1 AVANT 000000005
* VALEUR-1 APRES 000000004
Exemple 7
COMPUTE VALEUR-1 VALEUR-2 VALEUR-3 = 2 * 3
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-3 " VALEUR-3
* Resultat du test:
* VALEUR-1 000000006
* VALEUR-2 000000006
* VALEUR-3 000000006
Exemple 8
COMPUTE VALEUR-1 = 33 - 2 * (5 + 8 / 2 - (4 * 6 - 20 * (9 - 8)))
* Resultat du test:
33 - 2 * (5 + 8 / 2 - (4 * 6 - 20 * (9 - 8)))
= 33 - 2 * (5 + 8 / 2 - 4)
= 33 - 2 * (5 + 4 - 4)
= 33 - 2 * 5
= 33 - 10
* VALEUR-1 000000023
Exemple 9
COMPUTE VALEUR-1 = 63 - 2 * (5 + (8 / 2 - 4 * 6 - 20 * (19 - 17)))
* Resultat du test:
= 63 - 2 * (5 + (8 / 2 - 4 * 6 - 20 * 2))
= 63 - 2 * (5 + (4 - 24 - 40))
= 63 - 2 * (5 + (-60))
= 63 - 2 * (-55)
= 63 + 110
* VALEUR-1 000000173
Exemple 10
COMPUTE VALEUR-5 = -3 * (4 - 6) - 2 * (5 * (3 - 5 * (-7 + 5) - 3))
* Resultat du test
:
= -3 * (-2) - 2 * (5 * (3 - 5 * (-2) - 3))
= 6 - 2 * (5 * (3 + 10 - 3))
= 6 - 2 * (5 * 10)
= 6 - 2 * 50
= 6 - 100
= -94
* VALEUR-5 -000000094
Exemple 11
MOVE 05 TO VALEUR-1
MOVE 15 TO VALEUR-2
COMPUTE VALEUR-2 ROUNDED = VALEUR-1 / 5
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
* Resultat du test:
* VALEUR-1 AVANT 000000005
* VALEUR-2 AVANT 000000015
* VALEUR-1 APRES 000000005
* VALEUR-2 APRES 000000001
Exemple 12
MOVE 11 TO VALEUR-1
MOVE 03 TO VALEUR-2
COMPUTE VALEUR-4 ROUNDED = VALEUR-1 / VALEUR-2
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-4 " VALEUR-4
* Resultat du test:
* VALEUR-1 000000011
* VALEUR-2 000000003
* VALEUR-4 000000003.67 (3.66666666666)
Exemple 13
MOVE 10 TO VALEUR-1
MOVE 03 TO VALEUR-2
COMPUTE VALEUR-4 ROUNDED = VALEUR-1 / VALEUR-2
DISPLAY "VALEUR-1 " VALEUR-1
DISPLAY "VALEUR-2 " VALEUR-2
DISPLAY "VALEUR-4 " VALEUR-4
* Resultat du test:
* VALEUR-1 000000010
* VALEUR-2 000000003
* VALEUR-4 000000003.33 (3.33333333333)