Curso de COBOL desde Cero

Curso de COBOL desde Cero

Carlos Sánchez Botello

Carlos Sánchez Botello

Estructura de un programa en COBOL

2/24
Recursos
Transcripción

¿Qué relación tiene COBOL con las tarjetas perforadas?

COBOL, uno de los lenguajes de programación más antiguos, tiene una conexión directa con las tarjetas perforadas que solían ser la base de los sistemas informáticos en los inicios de la era de la computación. Estas tarjetas contenían ochenta columnas y de diez a quince filas, con cada tarjeta almacenando una sola línea de código COBOL. Esto hacía que el manejo de las tarjetas perforadas en los mainframes requería mucho cuidado, ya que la caída del conjunto de tarjetas podía llevar a una pérdida de control y legibilidad. Aunque hoy en día este método está en desuso, el lenguaje COBOL sigue conservando el estándar de ochenta columnas como reminiscencia de su pasado.

¿Cómo se estructura un programa COBOL en relación con las tarjetas perforadas?

El diseño de un programa COBOL refleja la estructura de las tarjetas perforadas, lo que se manifiesta en la organización en columnas:

  • Columnas 1-6: Originalmente, se usaban para numerar las líneas y las tarjetas, controlando así su orden. Aún se pueden numerar hoy por cuestiones de elegibilidad.
  • Columna 7: Se utiliza para un asterisco que indica un comentario.
  • Área A (Columnas 8-11): Aquí se definen las divisiones del programa, niveles jerárquicos y nombres de párrafos.
  • Área B (Columnas 12-72): Se declaran subniveles jerárquicos y las sentencias COBOL, controlando la lógica del programa.
  • Columnas 73-80: Usadas en el pasado para comentarios adicionales, actualmente se dejan en desuso.

¿Cuáles son las principales divisiones en un programa COBOL?

Un programa COBOL está dividido en cuatro partes esenciales que exigen atención para garantizar su compilación y ejecución exitosa.

¿Qué es la identification division?

La identification division es la primera en un programa COBOL y contiene información esencial como:

  • Nombre del programa.
  • Nombre del autor.
  • Instalación y fechas de creación y compilación.

De esta división, son obligatorios el nombre de la división y el identificador del programa (Program-ID), necesarios para que el compilador localice y ejecute el programa.

¿Qué incluye la environment division?

Esta división se encarga de gestionar los archivos de entrada y salida del programa. Guarda una relación estrecha con la definición del programa llamador o JCL, y es aquí donde se especifica cómo se manejarán los archivos mediante la interacción con diferentes programas COBOL.

¿Qué es la data division y sus secciones?

La data division contiene tres secciones específicas:

  1. File Section: Referencia a los archivos manejados en el programa, incluidas las variables que definen su longitud.
  2. Working Storage Section: Almacena variables temporales no relacionadas directamente con los archivos.
  3. Linkage Section: Muestra las variables compartidas entre programas si el programa entrega o recibe datos de otros programas.

¿Qué es la procedure division?

Es el núcleo funcional donde se declaran todas las sentencias COBOL divididas en párrafos. Cada párrafo tiene un nombre descriptivo y debe iniciar y terminar con un punto, asegurando la correcta ejecución del código.

Recomendaciones para programar en COBOL

  1. Maneja con cuidado la organización en columnas para mantener la legibilidad del código.
  2. Utiliza comentarios para aclarar y documentar segmentos específicos del código.
  3. Asegúrate de incluir las cuatro divisiones en tu programa para evitar errores de compilación.
  4. Familiarízate con las secciones de datos para el manejo eficiente de archivos y variables.
  5. Practica el diseño lógico de parágrafos, asegurando que cada sección funcione correctamente y terminen apropiadamente.

El dominio en COBOL aún refleja la importancia de comprender y aplicar estas normas estructurales, reforzando la idea de que un buen manejo de la organización del código es fundamental para la eficiencia y efectividad del programa.

Aportes 21

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Resumen de estructura de un programa COBOL:

Se mantuvo la longitud de 80 columnas desde las tarjetas perforadas:

Columna 1 a 6 Se refiere a la posición al número de linea en el que te encuentras
Columna número 7 “*” los asteriscos son comentarios.
Area A (columna 8 a 11) divisiones y niveles jerarquicos, nombres de parrafos, etc…
Area B (Columna 12 a 72) se definen a los subniveles, sentencias, estructuras de control, etc…
Columnas 72 a la 80 (Originalmense usaban para poner comentarios referentes al programa)

  • Las divisiones de componentes:

Idenfication division: Incluye varios datos:

Nombre de programa, instalación, fechas, etc…
Es obligatorio el “program ID” y Sección de división.

Enviroment division:

Contiene todos los ficheros de entrada y salida.

Data division:

Contiene datos relacionados con los archivos de entrada y salida (longitudes, tamaños, variables, etc…)

Procedure division

Se declaran todas las sentencias en parrafos, siempre debe finalizar con un punto cada bloque de código.

Este es un resumen rápido, porfavor, si hay fallos respondedme a este comentario y entre todos nos ayudamos 😃

No se que tanto aporte esto pero mi abuela trabajaba en IBM como verificadora y llegue a jugar con esas tarjetas de pequeño, poder aprender ese mismo sistema con aplicaciones actuales me motiva mucho más a avanzar este curso

Términos importantes a conocer durante este proceso de aprendizaje de Cobol:

¿QUÉ ES UN MAINFREM?

Un mainframe, es un ordenador utilizado principalmente por grandes organizaciones para aplicaciones críticas, procesamiento de datos masivos (como censos y estadísticas de la industria y del consumidor, planificación de recursos empresariales y transacciones a gran escala procesamiento). Los ordenadores mainframe se utilizan a menudo como servidores.

PROCESO BATCH

Los procesos batch o sistema por lotes o modo batch son conjuntos de programas que tienen como entrada ficheros o consultas sobre la base de datos, generalmente voluminosos, y procesan los datos generando como salida listados para consultar el resultado de los procesos que son distribuidos posteriormente a cada departamento/oficina responsable de los mismos. Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario.
Un ejemplo sería la liquidación de préstamos, en la cual se tratarían todos los préstamos de la entidad susceptibles de ser liquidados, lo cual, dependiendo del tamaño de la entidad puede llegar a consumir un tiempo considerable.

PROCESOS ON-LINE

Los procesos on-line permiten procesar programas muy cortos (procesan uno o unos pocos registros) y por tanto generan una contestación casi inmediata hacia el terminal que ha solicitado su ejecución.
Un ejemplo sería el empleado de una entidad que desde el terminal del que dispone en su oficina consulta los datos de un cliente a partir de su dni. Dicha consulta es muy específica y el proceso se realizará inmediatamente (a no ser que nos quedemos embuclados claro…).

JCL

El JCL (Job Control Language), en español Lenguaje de Control de Trabajos, es un lenguaje informático o un conjunto de especificaciones de morfología y sintaxis requeridas para la redacción de instrucciones de ejecución de programas informáticos por parte del sistema operativo de un equipo informático. Este lenguaje se usa en los Ordenadores Centrales (Mainframes) y es específico para cada sistema operativo.
Las instrucciones (también llamadas “pasos” o “sentencias”) del JCL son declaraciones u órdenes con las que se indica al sistema operativo qué tareas debe realizar, en qué secuencia han de ejecutarse y en qué periféricos están ubicados los ficheros de datos (de entrada y/o de salida) que requieren dichas tareas.
En el contexto de JCL, un procedimiento (también llamado trabajo o job) es un conjunto coherente de instrucciones para realizar un trabajo particular.
El uso del JCL permite un alto grado de flexibilidad e independencia respecto a la ubicación física de los programas y ficheros involucrados.

Tengo 68 años y mi formación en sistemas fue con la herramienta COBOL, con el transcurrir de los años, los cambios de escenarios, me fui actualizando con SQL, Visual Foxpro, Oracle y ahora jubilado estoy desarrollando en HTML,CSS, Postgrest, JavaScript, y al encontrar este curso, me sirve para refrescar y nuevamente amarlo y descubrir que hay demanda de desarrollador en este lenguaje tan viejo pero muy robusto

La enviroment division no es solamente es para el manejo de ficheros…
en algunos casos se establece la maquina destino (la referencia), y su uso común es para Special-Names, cuando se quiere el decimal sea una coma o un punto.

Notas del curso

Estructura de un programa COBOL

Un programa COBOL mantuvo como estándar la longitud de 80 columnas.

En la columna de 1 6 se mantiene vacío. Se comenta el código con un * en la columna 7. De la 8 a la 11 definimos las divisiones del programa, y los nombres de los párrafos. De la 12 a la 72 definimos todos los subniveles y sentencias. De la 72 a la 80 no se usan.

Divisiones de un programa COBOL (Son 4)

  • División de identificación: Continente el nombre del programa, el nombre del autor, instalación, y las fechas de creación y de compilación.

  • División de ambiente: son todos los ficheros de entrada y salida del programa.

  • División de datos: Contiene tres secciones, 1) File section: referencia de archivos de entrada y salida 2)Working-Storage section: Contiene todas las variables que no tienen relación 3) Linkage section: contiene las variables que conviven entre los programas

  • Procedure división: en ella declaramos todas las sentencias cobol. Todos los párrafos deben finalizar con un punto.

Interesante el curso

Se me hace muy interesante el Lenguaje de COBOL.

Divisiones de un programa en COBOL

No tenia idea de lo poderoso que es este lenguaje.

Hoy en dia hay muy buenos lenguajes para Backend pero en el sector bancario siempre utilizan Cobol por su gran rendimiento en ejecución.

Muy interesante conocer y programar en COBOL. Esperemos crear un pequeño sistema.

El area B va desde la columna 12 hasta la 72 y la que hoy esta en desuso y que se utilizaba para comentarios del programa que va desde la columna 73 (no 72) hasta la 80

DIVISIÓN DE IDENTIFICACIÓN: Esta división contiene información sobre el programa en sí, como su nombre, autor y propósito. También incluye comentarios y documentación.

DIVISIÓN MEDIO AMBIENTE: La DIVISIÓN MEDIO AMBIENTE es

Secciones comunes dentro de MEDIO AMBIENTE

SECCIÓN DE CONFIGURACIÓN: Esta sección define la configuración de hardware del
SECCIÓN FUENTE-COMPUTADORA: Describe el sistema informático donde se desarrolló el programa.
SECCIÓN OBJETO-COMPUTADORA: Esta sección describe el sistema informático de destino donde se ejecutará el programa.
SECCIÓN DE NOMBRES ESPECIALES: Se utiliza para definir caracteres y símbolos especiales.
DIVISIÓN DE DATOS: La DIVISIÓN DE DATOS es donde se definen las estructuras de datos y las variables utilizadas en el programa. Esto incluye declarar archivos

DIVISIÓN DE PROCEDIMIENTO: El PROCEDIMIENTO

Curso de COBOL desde Cero

Estructura de un programa en COBOL*

  • targeta perforadas se componia por 80 columnas estandar entre 10 y 15 lineas
  • la 1 columna referencia hacia referencia a la linea que estaba haciendo preforferadas
  • logitud de 80 columnas un programa de cobol debe tener control de lineas
  • columnas que compone un programa de cobol referencia a numero de linea y targeta aunque ya esta en deshuso
  • area de difinicion de tu programa cobol
  • indetificacion division> esta contiene internamente el nombre del programa , el autor , fecha de integracion , instalacion y compilacion
  • compilador ejecuta la etiqueta del programa