En este módulo, aprenderemos sobre los diferentes tipos de datos que se utilizan en COBOL. Entender los tipos de datos es fundamental para escribir programas eficientes y correctos. COBOL, siendo un lenguaje de programación orientado a negocios, tiene una estructura de datos robusta que permite manejar grandes volúmenes de datos de manera eficiente.
Contenido
Tipos de Datos Numéricos
COBOL soporta varios tipos de datos numéricos que se utilizan para representar números enteros y decimales.
- Números Enteros
- PIC 9(n): Representa un número entero con
n
dígitos.
En este ejemplo,01 NUMERO-ENTERO PIC 9(5).
NUMERO-ENTERO
puede almacenar un número entero de hasta 5 dígitos.
- Números Decimales
-
PIC 9(n)V9(m): Representa un número decimal con
n
dígitos antes del punto decimal ym
dígitos después del punto decimal.01 NUMERO-DECIMAL PIC 9(3)V9(2).
En este ejemplo,
NUMERO-DECIMAL
puede almacenar un número con 3 dígitos antes del punto decimal y 2 dígitos después del punto decimal. -
PIC 9(n).9(m): Otra forma de representar números decimales, donde el punto decimal es explícito.
01 NUMERO-DECIMAL-EXPLICITO PIC 9(3).9(2).
Tipos de Datos Alfanuméricos
Los datos alfanuméricos en COBOL se utilizan para representar cadenas de texto.
- Cadenas de Texto
- PIC X(n): Representa una cadena de texto con
n
caracteres.
En este ejemplo,01 CADENA-TEXTO PIC X(20).
CADENA-TEXTO
puede almacenar una cadena de hasta 20 caracteres.
- Cadenas de Texto con Espacios
- PIC A(n): Representa una cadena de texto alfabética con
n
caracteres.
En este ejemplo,01 CADENA-ALFABETICA PIC A(10).
CADENA-ALFABETICA
puede almacenar una cadena de hasta 10 caracteres alfabéticos.
Tipos de Datos de Fecha
COBOL también permite manejar fechas de manera eficiente.
- Fechas
- PIC 9(8): Representa una fecha en formato
YYYYMMDD
.
En este ejemplo,01 FECHA PIC 9(8).
FECHA
puede almacenar una fecha en el formatoYYYYMMDD
.
Ejemplos Prácticos
Veamos algunos ejemplos prácticos de cómo se declaran y utilizan estos tipos de datos en un programa COBOL.
IDENTIFICATION DIVISION. PROGRAM-ID. EjemploTiposDeDatos. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMERO-ENTERO PIC 9(5) VALUE 12345. 01 NUMERO-DECIMAL PIC 9(3)V9(2) VALUE 123.45. 01 CADENA-TEXTO PIC X(20) VALUE 'Hola COBOL'. 01 CADENA-ALFABETICA PIC A(10) VALUE 'ABCDEFGHIJ'. 01 FECHA PIC 9(8) VALUE '20230101'. PROCEDURE DIVISION. DISPLAY 'Numero Entero: ' NUMERO-ENTERO. DISPLAY 'Numero Decimal: ' NUMERO-DECIMAL. DISPLAY 'Cadena de Texto: ' CADENA-TEXTO. DISPLAY 'Cadena Alfabetica: ' CADENA-ALFABETICA. DISPLAY 'Fecha: ' FECHA. STOP RUN.
Explicación del Código
- NUMERO-ENTERO: Se declara como un número entero de 5 dígitos y se inicializa con el valor
12345
. - NUMERO-DECIMAL: Se declara como un número decimal con 3 dígitos antes del punto decimal y 2 dígitos después, inicializado con
123.45
. - CADENA-TEXTO: Se declara como una cadena de texto de 20 caracteres y se inicializa con
Hola COBOL
. - CADENA-ALFABETICA: Se declara como una cadena alfabética de 10 caracteres y se inicializa con
ABCDEFGHIJ
. - FECHA: Se declara como una fecha en formato
YYYYMMDD
y se inicializa con20230101
.
Ejercicios
Ejercicio 1
Declara una variable para almacenar un número entero de 7 dígitos y otra para almacenar una cadena de texto de 30 caracteres. Inicializa ambas variables y muestra sus valores.
Ejercicio 2
Declara una variable para almacenar un número decimal con 4 dígitos antes del punto decimal y 3 dígitos después. Inicializa la variable y muestra su valor.
Ejercicio 3
Declara una variable para almacenar una fecha en formato YYYYMMDD
. Inicializa la variable con la fecha actual y muestra su valor.
Soluciones
Solución Ejercicio 1
IDENTIFICATION DIVISION. PROGRAM-ID. Ejercicio1. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMERO-ENTERO-7 PIC 9(7) VALUE 1234567. 01 CADENA-TEXTO-30 PIC X(30) VALUE 'Curso de Programación COBOL'. PROCEDURE DIVISION. DISPLAY 'Numero Entero de 7 digitos: ' NUMERO-ENTERO-7. DISPLAY 'Cadena de Texto de 30 caracteres: ' CADENA-TEXTO-30. STOP RUN.
Solución Ejercicio 2
IDENTIFICATION DIVISION. PROGRAM-ID. Ejercicio2. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMERO-DECIMAL-4-3 PIC 9(4)V9(3) VALUE 1234.567. PROCEDURE DIVISION. DISPLAY 'Numero Decimal con 4 digitos antes y 3 despues del punto: ' NUMERO-DECIMAL-4-3. STOP RUN.
Solución Ejercicio 3
IDENTIFICATION DIVISION. PROGRAM-ID. Ejercicio3. DATA DIVISION. WORKING-STORAGE SECTION. 01 FECHA-ACTUAL PIC 9(8) VALUE '20231001'. * Suponiendo que la fecha actual es 1 de octubre de 2023 PROCEDURE DIVISION. DISPLAY 'Fecha Actual: ' FECHA-ACTUAL. STOP RUN.
Conclusión
En este módulo, hemos aprendido sobre los diferentes tipos de datos en COBOL, incluyendo datos numéricos, alfanuméricos y de fecha. También hemos visto ejemplos prácticos y ejercicios para reforzar los conceptos. Comprender estos tipos de datos es crucial para escribir programas COBOL eficientes y correctos. En el próximo módulo, exploraremos las variables y constantes en COBOL.
Curso de Programación COBOL
Módulo 1: Introducción a COBOL
- ¿Qué es COBOL?
- Historia de COBOL
- Configuración del Entorno COBOL
- Estructura Básica de un Programa COBOL
Módulo 2: Sintaxis Básica de COBOL y Tipos de Datos
Módulo 3: Estructuras de Control
Módulo 4: Trabajando con Datos
- Manejo de Archivos en COBOL
- Procesamiento de Archivos Secuenciales
- Procesamiento de Archivos Indexados
- Procesamiento de Archivos Relativos
Módulo 5: Manejo Avanzado de Datos
Módulo 6: Subprogramas y Programación Modular
Módulo 7: Manejo de Errores y Depuración
Módulo 8: COBOL y Bases de Datos
Módulo 9: Temas Avanzados
- COBOL Orientado a Objetos
- COBOL y Servicios Web
- Optimización del Rendimiento
- Mejores Prácticas en Programación COBOL