COMPUTE y ROUND – Programación COBOL
En COBOL, la instrucción COMPUTE
se utiliza para realizar operaciones aritméticas y asignar el resultado a una variable. Puedes utilizar COMPUTE
para realizar operaciones simples como suma, resta, multiplicación, división, y también para realizar operaciones más complejas.
Sintaxis básica de la instrucción COMPUTE
COMPUTE variable-resultado = expresion
Donde:
variable-resultado
: es la variable a la que se le asignará el resultado de la operación.expresion
: es la expresión aritmética que se evaluará.
Aquí hay algunos ejemplos para ilustrar cómo usar COMPUTE
:
Suma
COMPUTE Total = Precio1 + Precio2.
Resta
COMPUTE Saldo = SaldoInicial - Retiro.
Multiplicación
COMPUTE Subtotal = Cantidad * PrecioUnitario.
División
COMPUTE Promedio = Total / CantidadItems.
- Puedes utilizar paréntesis para controlar el orden de las operaciones y realizar cálculos más complejos.
Es importante tener en cuenta las reglas de formato y tamaño de las variables al utilizar COMPUTE
. Las variables involucradas en la operación deben ser del mismo tipo y tener dimensiones compatibles.
Además, recuerda que COBOL es un lenguaje que utiliza la aritmética de punto fijo para las variables numéricas, y las declaraciones de las variables deben indicar la precisión y escala necesarias para manejar los resultados de las operaciones de manera adecuada.
Función ROUND
La función ROUND
en COBOL se utiliza para redondear un número decimal a una cantidad específica de posiciones decimales. La sintaxis general de la función ROUND
es la siguiente:
FUNCTION ROUND(número, posiciones_decimales)
Donde:
número
: es la variable numérica que deseas redondear.posiciones_decimales
: es el número de posiciones decimales al que deseas redondear.
Ejemplo de programa COBOL con COMPUTE y ROUND
Aquí tienes un ejemplo sencillo de un programa COBOL que utiliza la instrucción COMPUTE
para realizar operaciones aritméticas y también aplica la función ROUND
para redondear el resultado:
IDENTIFICATION DIVISION.
PROGRAM-ID. EjemploComputeRound.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Numero1 PIC 9(5)V99 VALUE 123.456.
01 Numero2 PIC 9(5)V99 VALUE 78.901.
01 ResultadoSuma PIC 9(6)V99.
01 ResultadoRound PIC 9(6)V99.
PROCEDURE DIVISION.
DISPLAY 'Numero1: ' Numero1
DISPLAY 'Numero2: ' Numero2
COMPUTE ResultadoSuma = Numero1 + Numero2
DISPLAY 'Suma sin ROUND: ' ResultadoSuma
COMPUTE ResultadoRound = FUNCTION ROUND(ResultadoSuma, 2)
DISPLAY 'Suma con ROUND: ' ResultadoRound
EXIT PROGRAM.
Explicación del programa
Numero1
yNumero2
son dos variables numéricas.ResultadoSuma
es una variable donde almacenamos la suma deNumero1
yNumero2
usando la instrucciónCOMPUTE
.ResultadoRound
es una variable donde almacenamos el resultado de aplicar la funciónROUND
aResultadoSuma
. La funciónROUND
se utiliza para redondear el resultado a dos decimales.
Este programa realiza una suma simple y luego redondea el resultado a dos decimales utilizando la función ROUND
. Ten en cuenta que la función ROUND
es parte del estándar COBOL y su sintaxis puede variar ligeramente según la implementación específica del compilador COBOL que estés utilizando. Asegúrate de consultar la documentación del compilador COBOL que estés usando para obtener detalles específicos sobre la función ROUND
.