COBOL - Exemplos simples - COMPUTE - www.cadcobol.com.br



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

COBOL - Exemplos simples - COMPUTE
IDENTIFICATION DIVISION.
PROGRAM-ID.  COMPUTE.
AUTHOR.      CARLOS ALBERTO DORNELLES.

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-AUXILIARES.
    05  VALOR-1         PIC 9(009)          VALUE ZEROES. 
    05  VALOR-2         PIC 9(009)          VALUE ZEROES. 
    05  VALOR-3         PIC 9(009)          VALUE ZEROES. 
    05  VALOR-4         PIC 9(009)V9(002)   VALUE ZEROES. 
    05  VALOR-5         PIC S9(009)         VALUE ZEROES. 
    05  VENDAS          PIC 9(009)          VALUE ZEROES. 
    05  QUANTIDADE      PIC 9(009)          VALUE ZEROES. 

PROCEDURE DIVISION.

001-INICIO.
COBOL - Exemplos simples - COMPUTE
    MOVE 10 TO QUANTIDADE
    MOVE 09 TO VALOR-1
    COMPUTE VENDAS  = QUANTIDADE * VALOR-1 / 5	

    DISPLAY "QUANTIDADE     " QUANTIDADE  
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VENDAS         " VENDAS  

* Resultado do teste:

* QUANTIDADE     000000010
* VALOR-1        000000009
* VENDAS         000000018

COBOL - Exemplos simples - COMPUTE
    MOVE 05 TO VALOR-1
    DISPLAY "VALOR-1 ANTES  " VALOR-1
    COMPUTE VALOR-1 = VALOR-1 + 1  
    DISPLAY "VALOR-1 DEPOIS " VALOR-1
	
* Resultado do teste:

* VALOR-1 ANTES  000000005
* VALOR-1 DEPOIS 000000006

COBOL - Exemplos simples - COMPUTE
    MOVE 05 TO VALOR-1
    MOVE 15 TO VALOR-2
    COMPUTE VALOR-3 = VALOR-1 - VALOR-2 
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-3        " VALOR-3  

* Resultado do teste:

* VALOR-1        000000005
* VALOR-2        000000015
* VALOR-3        000000010

COBOL - Exemplos simples - COMPUTE
    MOVE 05 TO VALOR-1
    MOVE 15 TO VALOR-2
    COMPUTE VALOR-3 = VALOR-1 * VALOR-2
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-3        " VALOR-3  

* Resultado do teste:

* VALOR-1        000000005
* VALOR-2        000000015
* VALOR-3        000000075

COBOL - Exemplos simples - COMPUTE
    MOVE 05 TO VALOR-1
    MOVE 15 TO VALOR-2
    COMPUTE VALOR-3 = VALOR-1 + VALOR-2 + 50	
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-3        " VALOR-3  

* Resultado do teste:

* VALOR-1        000000005
* VALOR-2        000000015
* VALOR-3        000000070

COBOL - Exemplos simples - COMPUTE
    MOVE 05 TO VALOR-1
    DISPLAY "VALOR-1 ANTES  " VALOR-1
    COMPUTE VALOR-1 = VALOR-1 - 1  
    DISPLAY "VALOR-1 DEPOIS " VALOR-1

* Resultado do teste:

* VALOR-1 ANTES  000000005
* VALOR-1 DEPOIS 000000004

COBOL - Exemplos simples - COMPUTE
    COMPUTE VALOR-1 VALOR-2 VALOR-3 = 2 * 3	
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-3        " VALOR-3  

* Resultado do teste:

* VALOR-1        000000006
* VALOR-2        000000006
* VALOR-3        000000006

COBOL - Exemplos simples - COMPUTE
    COMPUTE VALOR-1 = 33 - 2 * (5 + 8 / 2 - (4 * 6 - 20 * (9 - 8)))

* Resultado do teste:

  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

* VALOR-1        000000023

COBOL - Exemplos simples - COMPUTE
    COMPUTE VALOR-1 = 63 - 2 * (5 + (8 / 2 - 4 * 6 - 20 * (19 - 17)))

* Resultado do teste:

= 63 - 2 * (5 + (8 / 2 - 4 * 6 - 20 * 2))
= 63 - 2 * (5 + (4 - 24 - 40))
= 63 - 2 * (5 + (-60))
= 63 - 2 * (-55)
= 63 + 110

* VALOR-1        000000173

COBOL - Exemplos simples - COMPUTE
    COMPUTE VALOR-5 = -3 * (4 - 6) - 2 * (5 * (3 - 5 * (-7 + 5) - 3))

* Resultado do teste:

= -3 * (-2) - 2 * (5 * (3 - 5 * (-2) - 3))
=  6 - 2 * (5 * (3 + 10 - 3))
=  6 - 2 * (5 * 10)
=  6 - 2 * 50
=  6 - 100
= -94

* VALOR-5       -000000094

COBOL - Exemplos simples - COMPUTE / ROUNDED
    MOVE 05 TO VALOR-1
    MOVE 15 TO VALOR-2
    COMPUTE VALOR-2 ROUNDED = VALOR-1 / 5	
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  

* Resultado do teste:

* VALOR-1 ANTES  000000005
* VALOR-2 ANTES  000000015

* VALOR-1 DEPOIS 000000005
* VALOR-2 DEPOIS 000000001

COBOL - Exemplos simples - COMPUTE / ROUNDED
    MOVE 11 TO VALOR-1
    MOVE 03 TO VALOR-2
    COMPUTE VALOR-4 ROUNDED = VALOR-1 / VALOR-2	
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-4        " VALOR-4  

* Resultado do teste:

* VALOR-1        000000011
* VALOR-2        000000003
* VALOR-4        000000003.67 (3.66666666666)

COBOL - Exemplos simples - COMPUTE / ROUNDED
    MOVE 10 TO VALOR-1
    MOVE 03 TO VALOR-2
    COMPUTE VALOR-4 ROUNDED = VALOR-1 / VALOR-2	
    DISPLAY "VALOR-1        " VALOR-1  
    DISPLAY "VALOR-2        " VALOR-2  
    DISPLAY "VALOR-4        " VALOR-4  

* Resultado do teste:

* VALOR-1        000000010
* VALOR-2        000000003
* VALOR-4        000000003.33 (3.33333333333)

    STOP RUN.