Curso de Cobol y PowerCobol

¿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.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.