A instrução DIVIDE
é usada para realizar operações de divisão aritmética entre itens numéricos. Ela pode armazenar tanto o quociente quanto o resto da divisão, e possui diversos formatos para atender diferentes necessidades de cálculo.
📌 Para que serve
-
Dividir valores numéricos com ou sem armazenamento do resto.
-
Permitir arredondamento automático dos resultados com
ROUNDED
. -
Tratar possíveis erros de tamanho com
ON SIZE ERROR
.
🧾 Sintaxes principais
📘 Formato 1 – DIVIDE INTO
DIVIDE valor BY destino
Ou
DIVIDE valor INTO destino [ROUNDED]
O valor do
identifier-1
ouliteral-1
é dividido emidentifier-2
. O quociente sobrescreveidentifier-2
.
📘 Formato 2 – DIVIDE INTO ... GIVING
DIVIDE valor INTO destino GIVING resultado [ROUNDED]
O valor é dividido e o quociente é armazenado em
resultado
, sem alterar o divisor.
📘 Formato 3 – DIVIDE BY ... GIVING
DIVIDE valor BY divisor GIVING resultado [ROUNDED]
Mesmo efeito do formato anterior, mas com a ordem dos operandos invertida (
valor ÷ divisor
).
📘 Formato 4 – DIVIDE INTO ... GIVING ... REMAINDER
DIVIDE valor INTO divisor
GIVING quociente
REMAINDER resto
📘 Formato 5 – DIVIDE BY ... GIVING ... REMAINDER
DIVIDE valor BY divisor
GIVING quociente
REMAINDER resto
📌 Palavras-chave opcionais
✅ ROUNDED
Arredonda o valor do quociente ao invés de truncar. Útil para valores com casas decimais.
✅ REMAINDER
Armazena o resto da divisão (somente em Formatos 4 e 5).
✅ ON SIZE ERROR / NOT ON SIZE ERROR
Permite o tratamento de erros de estouro, quando o resultado não cabe no campo destino.
✍️ Exemplos:
Simples divisão com sobrescrita
DIVIDE 10 INTO VAR-QUANTIDADE.
Divisão com resultado em outro campo
DIVIDE VAR-TOTAL INTO VAR-FATOR GIVING VAR-RESULTADO.
Com resto e arredondamento
DIVIDE VAR-TOTAL BY VAR-PARCELA
GIVING VAR-QUOCIENTE ROUNDED
REMAINDER VAR-RESTO.
Tratamento de erro de tamanho
DIVIDE VALOR1 INTO VALOR2 GIVING RESULTADO
ON SIZE ERROR
DISPLAY "Erro de tamanho ao dividir."
NOT ON SIZE ERROR
DISPLAY "Divisão realizada com sucesso."
END-DIVIDE.
✅ Conclusão
A instrução DIVIDE
oferece flexibilidade para cálculos aritméticos, permitindo múltiplos formatos, controle de arredondamento, armazenamento do resto e tratamento de erros. É ideal para situações que exigem precisão e controle nos cálculos. A escolha do formato depende do tipo de operação que se deseja realizar e do uso do resultado dentro da lógica do programa.