COBOL: tipos de datos

Un tipo de datos es una clasificación realizada por el programador para decirle al compilador/intérprete cómo se utilizarán los datos dentro de un programa. Por ejemplo, el número de registro del estudiante definido como el número se ingresará como un número solo si se proporcionan otros valores en lugar del número, lo que generará una finalización anormal dentro del programa.

Símbolo Breve descripción

Descripción

Ejemplo de valor  
9 Numérico Incluir dígitos del 0 al 9 Número de teléfono: 9898989898
A Alfabético Incluir solo las letras A a A/az Nombre: GeekForGeeks
X Alfanumérico Incluir dígitos y letras Vale_regalo: ABZ445
S firmado Incluir valor entero  Saldo: -458 
PAGS decimal asumido Se utiliza para encontrar el valor en el lado izquierdo o derecho del decimal Asumed_dec:  

Programa de ejemplo: Usaremos este programa para explicar los conceptos de este artículo.

Cobol

IDENTIFICATION DIVISION.
       PROGRAM-ID. YOUR-PROGRAM-NAME.
       DATA DIVISION.
       FILE SECTION.
       WORKING-STORAGE SECTION.
        
           01 GROUP01.
            02 PHONE_NUMBER            PIC 9(10) VALUE 7845955477.
            02 ST_NAME                 PIC A(20) VALUE 'GeekForGeeks'.
             
           01 GIFTVOUCHER              PIC X(6) VALUE 'ABZ445'.
           01 BALANCE                  PIC S9(3) VALUE -458.
           01 ASSUMED_DEC              PIC P9(2) VALUE 23.458.
       PROCEDURE DIVISION.
       MAIN-PROCEDURE.
            DISPLAY GROUP01
            DISPLAY GIFTVOUCHER
            DISPLAY BALANCE
            DISPLAY ASSUMED_DEC
             
            STOP RUN.

Explicación: Para comprender el concepto de tipo de datos, necesitamos conocer el término básico utilizado.

  •  Nombre de datos
  •  Número de nivel
  •  Cláusula de imagen
  •  Cláusula de valor

1. Nombre de datos

Un nombre de datos es como una variable definida por el usuario utilizada en el programa que se utilizará para contener diferentes valores y debe contener solo dígitos (0-9), letras (AZ), signos menos y guiones (-), un El nombre de datos no puede usar palabras reservadas como MOVER, COMPUTAR.

Some Valid data names:

 PHONE_NUMBER
 ST_NAME
 WS-POS1
 BOOK
 
Invalid data names:

MOVE          : it is reserved keyword
COMPUTE          : it is reserved keyword    
$VAR          : $ char not allowed
100              : only number not allowed

2. Número de nivel

Un número de nivel es un número entero de uno o dos dígitos entre 01 y 49, o uno de los tres números de nivel especiales: 66, 77 u 88. Los siguientes números de nivel se utilizan para estructurar registros:

  • Elemento de grupo: un elemento de grupo consta de uno o más elementos elementales, en el siguiente ejemplo, GROUP01 es un elemento de grupo.
  • Elemento elemental: es un elemento definido individualmente, en el ejemplo anterior PHONE_NUMBER es un elemento elemental.
Número de nivel Descripción Escribe
01 Descripción del registro o título para el grupo Número de nivel general
02 a 49 Para artículos grupales/elementales
66 Cambiar el nombre de los elementos de la cláusula Número de nivel especial
77 Fijo no se puede subdividir para declarar un elemento elemental
88 Entrada de nombre de condición (utilizada principalmente para fines de marca)

Ejemplo:

DATA DIVISION.
WORKING-STORAGE SECTION.


   01 GROUP01.                                                        /*GROUP ELEMENT*/ 
   02 PHONE_NUMBER            PIC 9(10) VALUE 7845955477.            /*ELEMENTARY ELEMENT*/
   02 ST_NAME                 PIC A(20) VALUE 'GeekForGeeks'.        /*ELEMENTARY ELEMENT*/
   02 GIFTVOUCHER              PIC X(6) VALUE 'ABZ445'.
   02 BALANCE                  PIC S9(3) VALUE 458.
   
  66 WS-VAR2 RENAMES PHONE_NUMBER THROUGH ST_NAMES                   /*RENAME ELEMENT*/   
  
  77  ASSUMED_DEC              PIC P9(2) VALUE 23.458.                      /*INDEPENDENT ELEMENT*/
  
   01 WS-GENDER                 PIC X(01).                             /*CONDITIONAL ELEMENT*/
   88 WS-MALE                   VALUE "M". 
   88 WS-FEMALE                   VALUE "F".

3. Cláusula de imagen

En el código anterior, se definen diferentes variables de tipo de datos como PHONE_NUMBER, ST_NAME, GIFT VOUCHER con la ayuda de la cláusula Picture, también conocida como PIC, hay 5 símbolos (9, A, X, S, P) que se pueden usar con la ayuda de la cláusula de imagen que ya se ha explicado.

Ejemplo:

02 PHONE_NUMBER PIC 9(10) VALUE 7845955477. /*PHONE_NUMBER se inicializa como un valor numérico con la ayuda de la cláusula de imagen usando el símbolo 9 que puede contener 10 dígitos*/

02 ST_NAME FOTO A(20) VALOR ‘GeekForGeeks’. /*ST_NAME se inicializa como un valor alfabético con la ayuda de la cláusula de imagen usando el símbolo A que puede contener 20 caracteres*/

4. Cláusula de valor 

Se utiliza para inicializar el ejemplo de elemento de datos en el código anterior PHONE_NUMBER tiene un valor predeterminado de 785955477, definido con la ayuda de la cláusula de valor. Es opcional usar la cláusula de valor.

Cuando compilamos y ejecutamos el código anterior, mostrará los valores definidos usando la cláusula Values

Ejemplo:

02 PHONE_NUMBER PIC 9(10) VALOR 7845955477. /* PHONE_NUMBER tiene el valor predeterminado 7845955477 que se mostrará si no se asignan otros valores */

02 ST_NAME FOTO A(20) VALOR ‘GeekForGeeks’. /* ST_NAME contiene el valor de string predeterminado «GeekForGeeks» definido con la palabra clave VALUE*/

Publicación traducida automáticamente

Artículo escrito por bankay55555 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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