Exemple – DIVIDE

Voici des programmes utilisant le DIVIDE :

IDENTIFICATION DIVISION.
PROGRAM-ID.  DIVIDE.
AUTHOR.      LA COMMUNAUTE DU COBOL.

ENVIRONMENT DIVISION.                                            
CONFIGURATION SECTION.                                           
SPECIAL-NAMES.                                                   
    DECIMAL-POINT IS COMMA. 

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-AUXILIARES.
    05  VALEUR-1      PIC 9(009)V99    VALUE ZEROES. 
    05  VALEUR-2      PIC 9(009)V99    VALUE ZEROES. 
    05  VALEUR-3      PIC 9(009)V99    VALUE ZEROES. 
    05  VALEUR-4      PIC 9(009)       VALUE ZEROES. 
    05  VALEUR-5      PIC 9(009)       VALUE ZEROES. 
    05  VALEUR-6      PIC 9(009)       VALUE ZEROES. 
    05  VALEUR-7      PIC 9(009)       VALUE ZEROES. 

PROCEDURE DIVISION.

001-INIT.

Exemple 1

    MOVE 5892,00 TO VALEUR-1
    DIVIDE 5 INTO VALEUR-1	
    DISPLAY "VALEUR-1 " VALEUR-1

* Resultat de test:

* VALEUR-1 000001178,40

Exemple 2

    MOVE 35,00 TO VALEUR-1
    MOVE 10,00 TO VALEUR-2
    MOVE  8,20 TO VALEUR-3 
    DIVIDE VALEUR-1 BY VALEUR-2 GIVING VALEUR-3	
    DISPLAY "VALEUR-1 " VALEUR-1
    DISPLAY "VALEUR-2 " VALEUR-2
    DISPLAY "VALEUR-3 " VALEUR-3

* Resultat de test:

* VALEUR-1 000000035,00
* VALEUR-2 000000010,00
* VALEUR-3 000000003,50

Exemple 3

    MOVE 1250,00 TO VALEUR-1
    MOVE ZEROES  TO VALEUR-2
    DIVIDE VALEUR-1 BY VALEUR-2 GIVING VALEUR-2 ON SIZE ERROR
           MOVE ZEROES TO VALEUR-1	
    DISPLAY "VALEUR-1 " VALEUR-1
    DISPLAY "VALEUR-2 " VALEUR-2

* Resultat de test:

* VALEUR-1 000000000,00
* VALEUR-2 000000000,00

Exemple 4

    MOVE 28,00 TO VALEUR-1
    MOVE 10,00 TO VALEUR-2
    MOVE  4,00 TO VALEUR-3 
    DIVIDE VALEUR-1 BY VALEUR-2 GIVING VALEUR-3 ROUNDED	
    DISPLAY "VALEUR-1 " VALEUR-1
    DISPLAY "VALEUR-2 " VALEUR-2
    DISPLAY "VALEUR-3 " VALEUR-3

* Resultat de test:

* VALEUR-1 000000028,00
* VALEUR-2 000000010,00
* VALEUR-3 000000002,80

Exemple 5

    MOVE 28 TO VALEUR-4
    MOVE 10 TO VALEUR-5
    MOVE  4 TO VALEUR-6 
    DIVIDE VALEUR-4 BY VALEUR-5 GIVING VALEUR-6 ROUNDED	
    DISPLAY "VALEUR-4 " VALEUR-4
    DISPLAY "VALEUR-5 " VALEUR-5
    DISPLAY "VALEUR-6 " VALEUR-6

* Resultat de test:

* VALEUR-4 000000028
* VALEUR-5 000000010
* VALEUR-6 000000003

Exemple 6

    MOVE 28 TO VALEUR-4
    MOVE 10 TO VALEUR-5
    MOVE  4 TO VALEUR-6 
    DIVIDE VALEUR-4 BY VALEUR-5 GIVING VALEUR-6 REMAINDER VALEUR-7	
    DISPLAY "VALEUR-4 " VALEUR-4
    DISPLAY "VALEUR-5 " VALEUR-5
    DISPLAY "VALEUR-6 " VALEUR-6
    DISPLAY "VALEUR-7 " VALEUR-7

* Resultat de test:

* VALEUR-4 000000028
* VALEUR-5 000000010
* VALEUR-6 000000002
* VALEUR-7 000000008