El condicional IF ELSE de COBOL con ejemplos
Capítulo 9: El condicional IF ELSE
En este capítulo aprenderás a utilizar el condicional IF
, el cual dotará a tus programas de cierta "inteligencia" y será capaz de ejecutar trozos de código según unas condiciones que le indiquemos.
Debemos utilizar la palabra reservada IF
y a continuación escribes la condición que quieras.
Mira este ejemplo del código de la suma del capítulo anterior:
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-9.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(4).
01 NUM2 PIC 9(4).
01 RESULTADO PIC 9(5).
PROCEDURE DIVISION.
MAIN-PROCEDURE.
DISPLAY "Introduce el primer número: ".
ACCEPT NUM1.
DISPLAY "Introduce el segundo número: ".
ACCEPT NUM2.
ADD NUM1 TO NUM2 GIVING RESULTADO.
IF RESULTADO > 50
DISPLAY "El resultado es mayor que 50.".
STOP RUN.
END PROGRAM CAPITULO-9.
Resultado
Suponiendo que el valor almacenado en la variable RESULTADO
es mayor que 50
, mostrará el DISPLAY
:
El resultado es mayor que 50.
En caso de que el número sea menor que 50
, el programa no ejecuta el código del IF
.
Podemos añadir un bloque de código alternativo añadiendo un ELSE
, el cual se ejecutará en caso de que no se cumpla la condición del IF
.
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-9.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(4).
01 NUM2 PIC 9(4).
01 RESULTADO PIC 9(5).
PROCEDURE DIVISION.
MAIN-PROCEDURE.
DISPLAY "Introduce el primer número: ".
ACCEPT NUM1.
DISPLAY "Introduce el segundo número: ".
ACCEPT NUM2.
ADD NUM1 TO NUM2 GIVING RESULTADO.
IF RESULTADO > 50
DISPLAY "El resultado es mayor que 50."
ELSE
DISPLAY "El resultado es menor o igual que 50."
END-IF.
STOP RUN.
END PROGRAM CAPITULO-9.
Resultado
Suponiendo que el valor almacenado en la variable RESULTADO
es menor o igual que 50, mostrará el DISPLAY
:
El resultado es es menor o igual que 50.
De ahora en adelante, puedes poner todo el código que quieras dentro de los bloques IF
y ELSE
, no solo estos simples DISPLAY
Fíjate que para cerrar correctamente un IF ELSE
deberías hacerlo con un END-IF
como en el código de ejemplo.
Comentarios
Si te quedan dudas sobre el temario, sobre COBOL, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.