
¿Cómo funciona el nivel 88 de COBOL?
Capítulo 23: El nivel de ejecución 88
En este capítulo seguimos con los condicionales y con el nivel de ejecución de las variables 88
. El cuál está diseñado para crear posibles valores que se van a almacenar en una variable dependiendo de la condición.
A continuación tienes un ejemplo. Creamos una estructura de grupo como las del capítulo anterior. Solo que esta vez, si te fijas, el nivel 01
tiene el PICTURE
y las variables de su interior no.
Las variables con el nivel 88
son opciones de datos entre los que se va a escoger uno. Esto se hace evaluando condiciones.
IDENTIFICATION DIVISION.
PROGRAM-ID. Capitulo23.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 Edad PIC 999 VALUE ZEROS.
88 Joven VALUE 1 THRU 39.
88 Maduro VALUE 40 THRU 65.
88 Anciano VALUE 66 THRU 100.
PROCEDURE DIVISION.
CompruebaEdad.
*> Se le solicita la edad al usuario.
DISPLAY "Introduce tu edad: "
ACCEPT EDAD.
*> Se evalúan posibles valores.
IF Joven THEN
DISPLAY "Eres joven. " WITH NO ADVANCING
END-IF
IF Maduro THEN
DISPLAY "Eres maduro. " WITH NO ADVANCING
END-IF
IF Anciano THEN
DISPLAY "Eres anciano. " WITH NO ADVANCING
END-IF
DISPLAY "Tienes " Edad " años.".
STOP RUN.
END PROGRAM Capitulo23.
Hagamos unas cuantas pruebas. El usuario introduce la edad de 30. Se evalúa la estructura Edad
y se determina que con el valor de 30, se tiene que utilizar el valor Joven
que tiene un rango de posibles valores del 1 al 39. El resto se descarta.
Introduce tu edad:
30
Eres joven. Tienes 030 años.
Probemos con un número mayor.
Introduce tu edad:
54
Eres maduro. Tienes 054 años.
Si probamos con 99...
Introduce tu edad:
99
Eres anciano. Tienes 099 años.
Por último, ¿Qué ocurre si ponemos una edad no contemplada en la estructura?
En este caso, me dice la edad gracias al DISPLAY
de la línea 33
. En este caso, no entra en juego ningún dato de nivel 88
, sin embargo, la variable Edad
, sigue funcionando como una variable normal.
Introduce tu edad:
101
Tienes 101 años.
Por cierto, utilizando estas variables especiales, creamos en ellas las condiciones que son llamadas en los IF. En lugar de escribir condiciones complejas como esta: IF Edad IS GREATER THAN 1 AND Edad IS LESS THAN 40 THEN
, que sería el equivalente al IF
del ejemplo sin utilizar el nivel de ejecución 88
.
Las variables de nivel 88 no pueden ir sueltas, tienen que pertenecer a una de nivel 01.
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.