Curso de cobol y powercobol

Hojas de papel y las columnas de COBOL

Capítulo 9: Hoja de codificación - Columnas

Si ya has programado en lenguajes de programación modernos, puede que te preguntes, ¿por qué es tan rara la escritura de COBOL? ¿Por qué dejamos una parte del principio de la línea vacía? ¿Qué son estas guías que trae OpenCobolIDE?

En este capítulo obtendrás respuestas a todo esto y más.

Programación en papel

Sí, lo has leído bien. ¿Te han hecho en alguna clase de programación hacer un examen en papel escribiendo código?

Si estudias programación en algún centro, seguro que sí. Algunos piensan que es una tontería y otros que no, que así se forjan los programadores más rudos. Mi opinión personal, aunque no sea relevante, es que para qué aprender a fuego todo lo que escribimos si tenemos grandes ayudas con todo el software que hay hoy en día.

No pido hacer exámenes con internet para realizar búsquedas, solo un ordenador para poder ir probando los resultados de tu código. ¿Acaso, te compila todo a la primera? ¿Por qué tendrías que ser mejor estudiante que programador y escribir un código sin errores a la primera en un examen?

Cuestiones actuales a parte, en la época de la salida de COBOL, esto no era una opción, era un requisito, ya que había que dibujar primero lo que se conoce como "flowchart" en inglés, que se puede traducir como diagrama de flujo. Este servía y sirve para simplificar en un dibujo el algoritmo antes de ponerse a escribir código (cosa que se sigue haciendo igualmente hoy en día).

regla para organigramas

Una vez tenías la idea, era el momento de pasarlo a código. También a mano, con hojas de codificación.

Hojas de codificación de COBOL

Inicialmente los programas de COBOL se escribían en hojas de codificación. Los programas eran perforados en tarjetas perforadas y posteriormente se leían en un ordenador con un lector de tarjetas.

hoja de codificación de COBOL

Una vez tenías el programa terminado, llevabas todas tus hojas ordenaditas a perforar en tarjetas como esta:

targeta perforada de COBOL

Y aquí tienes un programa literalmente físico. Todas las tarjetas debían estar ordenadas, de lo contrario se mascaba la tragedia.

Programa en targetas perforadas de COBOL

¿Por qué te cuento todo esto? Bien, COBOL, en tu equipo, funciona igual que las hojas de codificación. Así está hecho COBOL y ya no va a cambiar a estas alturas en este sentido.

Transformemos la explicación de esta hoja de COBOL a la de nuestro IDE.

Mira la hoja de codificación. Abajo del todo y arriba, aunque muy pequeñito, se pueden ver números que empiezan desde el 1 (izquierda) hasta el 72 (derecha). Estas son las columnas. Cada caracter ocupará una de ellas.

Arriba, tenemos áreas que separan ciertas columnas.

Área de secuencia de hoja de codificación COBOL

La primera área, va de las columnas de la 1 a la 6. Estas representan la secuencia (SEQUENCE), son para el número de secuencia, el cual, va en orden ascendente.

Ya puedes ver que esto ha quedado totalmente obsoleto, ya que con el propio IDE, no necesitamos establecer ninguna secuencia.

Columna de comentarios

Si tenemos que incluír un comentario en cierta línea, marcaremos la columna 7 (área indicadora) con un asterísco.

Las áreas A y B de COBOL

La siguientes áreas van desde la columna 8 hasta la 11. La conocida como área A, y desde la columna 12 a la 72 el área B.

Normalmente se empieza a escribir a partir de la zona A las DIVISIONES, SECCIONES, números de nivel superiores, etc.

A partir de la columna B, las instrucciones del programa, números de nivel mayores al 01, etc.

Evidentemente, no debes saber que son algunas de las cosas que voy diciendo. Pronto lo aprenderás, no te preocupes. Solo quédate que con que desde el área A hasta el final de la B, escribes el programa.

Si lo empiezas todo desde el área A no da error, pero está peor organizado y puede dar errores en compiladores antiguos, así que siempre intenta hacerlo lo mejor posible siguiendo mis ejemplos y las convenciones que te vaya mostrando.

La última área es la que va desde la columna 73 a la 80, la llamada área de identificación, la cuál está en desuso y es ignorada por el compilador. En la hoja de codificación aparece arriba del todo.

Bien, algunas hojas llevaban para todas las filas un espacio para este área, lo cual es algo bastante innecesario, algo así como puedes ver en OpenCobolIDE, que deja todas las filas para esa área, como esta:

Hoja de codificación COBOL

No se ve muy bien, pero fíjate que hay una columna (IDENTIFICATION) extra al final.

Veamos todo esto representado en OpenCobolIDE.

El área de secuencia es la que ocupa la zona marcada. 6 caracteres, a uno de la primera línea.

Área de secuencia en OpenCobolIDE

Después tenemos la columna de comentarios (la columna que sobra entre el área de secuencia y la primera línea).

Comentarios en OpenCobolIDE

Entre la primera línea corresponde al área A y la segunda a la B.

Entre la línea 3 y la 4, tenemos el área de identificación, la cual podemos utilizar para poner los números de línea de código, lo cual, con un IDE, ya es innecesario, ya que a la izquierda, nos las va contando.

Si siguiésemos el uso de las hojas de codificación en nuestro editor, quedaría algo así:

áreas de COBOL

Sin embargo, esto es totalmente innecesario y además, OpenCobolIDE no está preparado para hacerlo, ya que tenemos que ir tabulando manualmente.

Sin embargo, esto compila correctamente, en ese aspecto si que está adaptado.

En la columna IDENTIFICATION, no puedes escribir código. Por ejemplo, mira este DISPLAY, no puede pasarse de ese área.

Correcto:

áreas de COBOL A y B

Incorrecto:

Error en columna 73 de COBOL

terminal Resultado en la consola terminal

Se esperaba un caracter de continuación (ya lo explicaré).

Error de sintaxis, fin de archivo inesperado.

continuation character expected
syntax error, unexpected end of file

Toda la información de este capítulo, te ha servido para entender el porqué de esta forma tan peculiar de escribir en COBOL.


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.