Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aula 05 - Valores positivos e negativos

       IDENTIFICATION DIVISION.
       PROGRAM-ID. PROGCOB06.
      **************************************************************
      ** AREA DE COMENTARIO - REMARKS
      ** AUTHOR = LEONARDO(ESTUDANTE) LEOO
      ** OBJETIVO: USO DOS SINAIS POSITIVO E NEGATIVO
      ** DATA = 05/05/2020
      **************************************************************
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77  WRK-NUM1               PIC  9(02)  VALUE ZEROS.
       77  WRK-NUM2               PIC  9(02)  VALUE ZEROS.
       77  WRK-RESUL               PIC  S9(03) VALUE ZEROS.
       77 WRK-RESUL-ED        PIC  -ZZ9   VALUE ZEROS.

       PROCEDURE DIVISION.
           ACCEPT WRK-NUM1 FROM CONSOLE.
           ACCEPT WRK-NUM2 FROM CONSOLE.

           DISPLAY '=================SUBTRACAO======================='.

           SUBTRACT WRK-NUM2 FROM WRK-NUM1 GIVING WRK-RESUL.
           MOVE WRK-RESUL TO WRK-RESUL-ED.
           DISPLAY 'RESULTADO.. ' WRK-RESUL.
           DISPLAY 'RESULTADO.. ' WRK-RESUL-ED.


           STOP RUN.


Bom dia , tudo bom ?

Durante a aula 05 de Cobol foi mostrado uma máscara para a inclusão dos sinais positivo/negativo, porém com o código acima caso seja colocado na variável "wrk-num1" o valor de 10 e na variável "wrk-num2" o valor de 20 ele dará como resultado "- 10" em ambas e mudando as posições o resultado é "+10" e "10". Por quê ?

Tecnicamente , ele pega primeiro o valor inserido em "wrk-num2" para fazer a conta com num1 então neste caso se eu colocar em "num1" 10 e no "num2" 20 ele não deveria voltar "+ 10" e "-10" ?

2 respostas
solução!

Bom dia Leonardo.

No seu exemplo : SUBTRACT WRK-NUM2 FROM WRK-NUM1 GIVING WRK-RESUL10 vai para num1 e 20 vai para NUM2 certo. E o resultado em RESUL..

Ele subtrai o Num1 pelo Num2 então 10 - 20 fica -10 mesmo. O FROM é quem subtrai e não o subtraido..

Beleza ? Ivan

Nossa , agora eu entendi e isso simplesmente passou batido haha. Obrigado professor !!