BlogCOBOL

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

  1. Numero1 y Numero2 son dos variables numéricas.
  2. ResultadoSuma es una variable donde almacenamos la suma de Numero1 y Numero2 usando la instrucción COMPUTE.
  3. ResultadoRound es una variable donde almacenamos el resultado de aplicar la función ROUND a ResultadoSuma. La función ROUND 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *