COBOL - Exemplos simples - Macete para dividir um numero por 5



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

COBOL - Exemplos simples - Macete para dividir um numero por 5
IDENTIFICATION DIVISION. 
PROGRAM-ID.  DIVIDE.
AUTHOR.      CARLOS ALBERTO DORNELLES.

* MACETE PARA DIVIDIR UM NUMERO POR 5
* BASTA MULTIPLICAR O NUMERO POR 2 E
* DESLOCAR UMA CASA DA DIREITA PARA A ESQUERDA, SIMPLES

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

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-AUXILIARES.
    05  VALOR-1         PIC 9(010)             VALUE ZEROES. 
    05  VALOR-1-R       REDEFINES VALOR-1
                        PIC 9(009)V9           VALUE ZEROES. 
    05  VALOR-2         PIC 9(009)             VALUE ZEROES. 
    05  VALOR-3         PIC 9(009)             VALUE ZEROES. 
    05  VALOR-4         PIC 9(009)             VALUE ZEROES. 

PROCEDURE DIVISION.

001-INICIO.


    MOVE 160 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R
    
    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000160  VALOR-1: 0000000320  VALOR-1-R: 000000032,0
* VALOR-2: 000000160  VALOR-3: 000000032   VALOR-4  : 000000000

    MOVE 263 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R
    
    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000263  VALOR-1: 0000000526  VALOR-1-R: 000000052,6
* VALOR-2: 000000263  VALOR-3: 000000052   VALOR-4  : 000000003

    MOVE 367 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R
    
    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000367  VALOR-1: 0000000734  VALOR-1-R: 000000073,4
* VALOR-2: 000000367  VALOR-3: 000000073   VALOR-4  : 000000002

    MOVE 463 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R

    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000463  VALOR-1: 0000000926  VALOR-1-R: 000000092,6
* VALOR-2: 000000463  VALOR-3: 000000092   VALOR-4  : 000000003

    MOVE 564 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R

    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000564  VALOR-1: 0000001128  VALOR-1-R: 000000112,8
* VALOR-2: 000000564  VALOR-3: 000000112   VALOR-4  : 000000004

    MOVE 660 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R

    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000660  VALOR-1: 0000001320  VALOR-1-R: 000000132,0
* VALOR-2: 000000660  VALOR-3: 000000132   VALOR-4  : 000000000

    MOVE 767 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R

    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4


* Resultado do teste
* VALOR-2: 000000767  VALOR-1: 0000001534  VALOR-1-R: 000000153,4
* VALOR-2: 000000767  VALOR-3: 000000153   VALOR-4  : 000000002

    MOVE 864 TO VALOR-2
    COMPUTE VALOR-1 = VALOR-2 * 2
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-1: " VALOR-1
            "  VALOR-1: " VALOR-1-R

    DIVIDE VALOR-2 BY 5 GIVING VALOR-3 REMAINDER VALOR-4
    DISPLAY "* VALOR-2: " VALOR-2
            "  VALOR-3: " VALOR-3
            "  VALOR-4: " VALOR-4

* Resultado do teste
* VALOR-2: 000000864  VALOR-1: 0000001728  VALOR-1-R: 000000172,8
* VALOR-2: 000000864  VALOR-3: 000000172   VALOR-4  : 000000004

    STOP RUN.