Explorando el código, creando soluciones, y compartiendo conocimientos en el fascinante mundo del desarrollo de software.

sábado, 11 de mayo de 2024

Ejemplo práctico II : Comunicación entre Programas

Ejemplo práctico II: Comunicación entre Programas
Ejemplo práctico II: Comunicación entre Programas

Operaciones Matemáticas con Programas Separados en COBOL

En COBOL, es posible dividir una aplicación en varios programas independientes que realizan tareas específicas. Aquí tienes un ejemplo de cómo dividir el cálculo de operaciones matemáticas básicas (suma, resta, multiplicación y división) en programas separados y luego crear un programa principal que permita al usuario elegir la operación deseada y proporcionar los números necesarios:

Programa 1: Suma de Dos Números

IDENTIFICATION DIVISION.
PROGRAM-ID. Suma.

DATA DIVISION.
LINKAGE SECTION.
01 Numero1   PIC 9(5).
01 Numero2   PIC 9(5).
01 Suma      PIC 9(6).

PROCEDURE DIVISION USING Numero1, Numero2, Suma.
    ADD Numero1 TO Numero2 GIVING Suma.
    DISPLAY 'La suma es: ' Suma.
    STOP RUN.
        

Programa 2: Resta de Dos Números

IDENTIFICATION DIVISION.
PROGRAM-ID. Resta.

DATA DIVISION.
LINKAGE SECTION.
01 Numero1   PIC 9(5).
01 Numero2   PIC 9(5).
01 Resta     PIC 9(6).

PROCEDURE DIVISION USING Numero1, Numero2, Resta.
    SUBTRACT Numero2 FROM Numero1 GIVING Resta.
    DISPLAY 'La resta es: ' Resta.
    STOP RUN.
        

Programa 3: Multiplicación de Dos Números

IDENTIFICATION DIVISION.
PROGRAM-ID. Multiplicacion.

DATA DIVISION.
LINKAGE SECTION.
01 Numero1       PIC 9(5).
01 Numero2       PIC 9(5).
01 Producto      PIC 9(10).

PROCEDURE DIVISION USING Numero1, Numero2, Producto.
    MULTIPLY Numero1 BY Numero2 GIVING Producto.
    DISPLAY 'El producto es: ' Producto.
    STOP RUN.
        

Programa 4: División de Dos Números

IDENTIFICATION DIVISION.
PROGRAM-ID. Division.

DATA DIVISION.
LINKAGE SECTION.
01 Numero1       PIC 9(5).
01 Numero2       PIC 9(5).
01 Cociente      PIC 9(5).
01 Resto         PIC 9(5).

PROCEDURE DIVISION USING Numero1, Numero2, Cociente, Resto.
    DIVIDE Numero1 BY Numero2 GIVING Cociente REMAINDER Resto.
    DISPLAY 'El cociente es: ' Cociente.
    DISPLAY 'El resto es: ' Resto.
    STOP RUN.
        

Programa Principal: Selector de Operaciones

IDENTIFICATION DIVISION.
PROGRAM-ID. Principal.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 Operacion     PIC X.
01 Numero1       PIC 9(5).
01 Numero2       PIC 9(5).
01 Resultado     PIC 9(6).

PROCEDURE DIVISION.
    DISPLAY 'Seleccione una operación:'.
    DISPLAY 'A - Suma'.
    DISPLAY 'B - Resta'.
    DISPLAY 'C - Multiplicación'.
    DISPLAY 'D - División'.
    ACCEPT Operacion.

    MOVE 10 TO Numero1.
    MOVE 5 TO Numero2.

    PERFORM ELEGIR-OPERACION.

    STOP RUN.

ELEGIR-OPERACION.
    EVALUATE Operacion
        WHEN 'A' OR 'a'
            CALL 'Suma' USING Numero1, Numero2, Resultado
        WHEN 'B' OR 'b'
            CALL 'Resta' USING Numero1, Numero2, Resultado
        WHEN 'C' OR 'c'
            CALL 'Multiplicacion' USING Numero1, Numero2, Resultado
        WHEN 'D' OR 'd'
            CALL 'Division' USING Numero1, Numero2, Resultado
        WHEN OTHER
            DISPLAY 'Operación no válida.'
    END-EVALUATE.
        

En este ejemplo, cada programa recibe los números como parámetros de entrada y los devuelve al programa principal con los resultados calculados utilizando la `LINKAGE SECTION`. Esto garantiza una comunicación adecuada entre los programas y el programa principal.

Próximo Paso

Para continuar practicando, podrías expandir este ejemplo agregando más operaciones matemáticas o implementando manejo de errores para casos como la división por cero.


Navegación entre lecciones

© 2024 Programar desde Cero

No hay comentarios:

Publicar un comentario

Java Iniciación en Java Hola mundo en Java Sintaxis básica de Java Orientación a objetos en Java Manejo de excepciones en Java Java desde Cero Colecciones en Java Manejo de Archivos en Java Entrada/Salida en Java Hilos y concurrencia en Java Programación Funcional en Java Programación Orientada a Objetos (OOP) en Java Manejo de fechas y tiempos Persistencia de datos en Java Desarrollo Web en Java Manejo de dependencias Gradle Maven JUnit Git Java Desarrollo de servicios web en Java Patrones de Diseño en Java Principios Básicos de Seguridad en Java Principios SOLID en Java Frameworks populares en Java Ciclo de vida de una aplicación Java Desarrollo Ágil Base de Datos en Java Hola mundo en COBOL Estructura básica de COBOL Sintaxis Básica de COBOL Manipulación de archivos en COBOL Búsqueda en Archivos Secuenciales COBOL Ordenación y Combinación de Archivos COBOL Manejo de Errores en COBOL Subprogramas y Modularidad en COBOL Archivos Indexados en COBOL Clasificación y Fusión de Archivos en COBOL Lectura y Escritura de Archivos Secuenciales COBOL IDE Desarrollo de Software Programación Java Plugin Eclipse Desarrollo Integrado Eclipse IDE Java Development Desarrollo de Aplicaciones Programación en Eclipse Desarrollo Ágil Java EE Desarrollo Web Desarrollo Móvil Eclipse Marketplace Eclipse Plugins JavaFX Desarrollo GUI Git Control de Versiones GitHub Git Bash Git Commands Git Workflow Branching Merging Repositorios Commit Git Branch Git Pull Git Push Git Clone Git Merge Conflictos en Git Git Log Git Tag Git Remote Visual Studio Code IDE Desarrollo de Software Extensiones Editor de Código Programación Configuración VSC Snippets Depuración Control de Versiones Integración Git Atajos de Teclado Temas Productividad Extensiones VSC Lenguajes de Programación