Tuesday 8 October 2024

A instrução DIVIDE divide um item de dados numéricos em / por outros e define os valores dos itens de dados iguais ao quociente e ao restante.

 

No Formato 1 da declaração DIVIDE, o valor do identificador-1 ou literal-2 é dividido em o valor de identificador-2; o quociente é então colocado no identificador-2. Este processo é repetido para cada ocorrência sucessiva.

Formato 1 (DIVIDE)
 
                                   *----------------------*
                                   V                      +
->->--DIVIDE-*--identifier-1--*-INTO identifier-2-*---------*->
           *--literal-1-----*                   *-ROUNDED-*
 
->----*----------------------------------------------*------->
     *--*----*---SIZE ERROR imperative-statement-1--*
        *-ON-*
 
->---*---------------------------------------------------*--->
    *-NOT---*----*---SIZE ERROR imperative-statement-2--*
            *-ON-*
 
->--*------------*-------------------------------------------><-
   *-END-DIVIDE-*
 

 

No Formato 2 , o valor do identificador-1 ou literal-1 é dividido em o valor de identificador-2 ou literal-2 . O valor do quociente é armazenado em cada item de dados referenciado na frase GIVING pelo identificador-3.

Formato 2 (DIVIDE INTO, GIVING)
 
->->--DIVIDE--*--identifier-1--*-----INTO----*-identifier-2-*->
            *--literal-1-----*             *-literal-2----*
 
          *-------------------------*
          V                         +
->--GIVING identifier-3--*-----------*----------------------->
                        *--ROUNDED--*
 
->----*----------------------------------------------*------->
     *--*----*---SIZE ERROR imperative-statement-1--*
        *-ON-*
 
->---*---------------------------------------------------*--->
    *-NOT---*----*---SIZE ERROR imperative-statement-2--*
            *-ON-*
 
 
->--*------------*-------------------------------------------><-
   *-END-DIVIDE-*
 

 

No Formato 3 , o valor do identificador-1 ou literal-1 é dividido pelo valor de identificador-2 ou literal-2 . O valor do quociente é armazenado em cada item de dados referenciado na frase GIVING pelo identificador-3 .

Formato 3 (DIVIDE BY, GIVING)
 
->->--DIVIDE--*--identifier-1--*--BY--*-identifier-2-*-------->
            *--literal-1-----*      *-literal-2----*
 
          *-------------------------*
          V                         +
->--GIVING identifier-3--*-----------*----------------------->
                        *--ROUNDED--*
 
->----*----------------------------------------------*------->
     *--*----*---SIZE ERROR imperative-statement-1--*
        *-ON-*
 
->---*---------------------------------------------------*--->
    *-NOT---*----*---SIZE ERROR imperative-statement-2--*
            *-ON-*
 
 
->--*------------*-------------------------------------------><-
   *-END-DIVIDE-*
 

 

No Formato 4 , o valor do identificador-1 ou literal-1 é dividido em identificador-2 ou literal-2 . O valor do quociente é armazenado no identificador-3, e o valor do restante é armazenado no identificador-4.

Formato 4 (DIVIDE INTO, GIVING, with REMAINDER)
 
->->--DIVIDE--*--identifier-1--*-----INTO----*-identifier-2-*->
            *--literal-1-----*             *-literal-2----*
 
->--GIVING identifier-3--*-----------*----------------------->
                        *--ROUNDED--*
 
->--REMAINDER identifier-4----------------------------------->
 
->----*----------------------------------------------*------->
     *--*----*---SIZE ERROR imperative-statement-1--*
        *-ON-*
 
->---*---------------------------------------------------*--->
    *-NOT---*----*---SIZE ERROR imperative-statement-2--*
            *-ON-*
 
->--*------------*-------------------------------------------><-
   *-END-DIVIDE-*

 

No Formato 5, o valor do identificador-1 ou literal-1 é dividido pelo identificador-2 ou literal-2. O valor do quociente é armazenado no identificador-3, e o valor do restante é armazenado no identificador-4.

Formato 5 (DIVIDE BY, GIVING, with REMAINDER)
 
->->--DIVIDE--*--identifier-1--*--BY--*-identifier-2-*-------->
            *--literal-1-----*      *-literal-2----*
 
->--GIVING identifier-3--*-----------*----------------------->
                        *--ROUNDED--*
 
->--REMAINDER identifier-4----------------------------------->
 
->----*----------------------------------------------*------->
     *--*----*---SIZE ERROR imperative-statement-1--*
        *-ON-*
 
->---*---------------------------------------------------*--->
    *-NOT---*----*---SIZE ERROR imperative-statement-2--*
            *-ON-*
 
->--*------------*-------------------------------------------><-
   *-END-DIVIDE-*
 

 

identifier-1 or -2

Identificador-1 e identificador-2 deve nomear um item numérico elementar.

 

literal-1 or -2

Literal deve ser um literal numérico.

 

identifier-3

Identificador-3 deve nomear um item numérico ou numérico-editado elementar.

 

identifier-3 or identifier-4

Identificador-3 e identificador-4 deve nomear um item numérico ou numérico-editado elementar.

 

ROUNDED

O quociente usado para calcular o restante está em um campo intermediário. O valor do campo intermediário é truncado ao invés de arredondado.

 

REMAINDER

O resultado da subtração do produto do quociente e o divisor de o dividendo é armazenado no identificador-4. Se identificador-3, o quociente, é um item numérico-editada, o quociente usadas para calcular o restante é um campo intermediário que contém o quociente não editada.

Quaisquer subscritos para identificador-4 na frase restantes são avaliados após o resultado da operação de divisão é armazenado no identificador-3 da frase dar.

 

SIZE ERROR imperative-statement-1

Se ocorrer um erro de tamanho no quociente, nenhum cálculo de restante é significativo. Portanto, o conteúdo do campo quociente (identificador-3) e o campo restante (identificador-4) permanecem inalteradas.

Se ocorrer um erro de tamanho no restante, o conteúdo do campo restante (identificador-4) permanecem inalteradas.

Em qualquer destes casos, você deve analisar os resultados para determinar qual situação realmente ocorreu.