COBOL es un acrónimo que significa COmmon Business Oriented Language (Lenguaje orientado a los negocios comunes). Está diseñado para el desarrollo de negocios, por lo general orientada a archivos y aplicaciones. No está diseñado para escribir programas de sistemas, como por ejemplo un sistema operativo o un compilador. Durante más de cuatro décadas COBOL ha sido el lenguaje de programación dominante en la informática empresarial, gracias a la capacidad de manejar ficheros grandes. En ese tiempo se ha encontrado desafíos de un gran número lenguajes de programación como PL1, Algol68, Pascal, Modula, Ada, C, C + +. Todas estos lenguajes han encontrado su sitio en le mercado, pero ninguno ha desplazado a COBOL.
Sintaxis
| TIPO | SYNTAXIS | |
| Alfabetos (mayúsculas) | A-Z | |
| Alfabetos (minusculas) | A-z | |
| Valor numerico | 0-9 | |
| Espacio | ||
| Cadenas de caracteres | Las cadenas de caracteres se forman combinando caracteres individuales. Una cadena de caracteres puede ser un
*Comentario *Literal, o *COBOL palabra. Todas las cadenas de caracteres debe ser finalizado con separadores. Un separador es utilizado para separar las cadenas de caracteres. Con frecuencia utilizan separadores : Espacio, coma, Punto, apóstrofe, paréntesis izquierdo y derecho, y comillas. | |
| Comentario | se escriben despues de un * | |
| Estructuras repetitivas | Párrafos o Rutinas. Siempre que se ejecuta un programa en COBOL, se hace de forma secuencial, empezando desde arriba hasta que encuentre la instrucción de finalizar el programa. Las rutinas es una forma de alterar ese orden, es decir, le damos el control a un párrafo y ejecuta todas las instrucciones que haya en éste. |
Simbolos
Aritmeticos
| + | Suma | |
| - | resta | |
| * | Multiplicación | |
| / | División | |
| $ | Simbolo de moneda | |
| = | Asignación | |
| () | Dar prioridad | |
| ** | Potenciación | |
| " | comillas |
Relacionales
| = | Igual que | |
| > | Mayor que | |
| : | Colon | |
| < | Menor que | |
| ' | Apostrofe | |
| < > |
Funciones booleanas
| and | Devuelve #f tan pronto uno de sus argumentos es falso | |
| or | Devuelve #t tan pronto uno de sus argumentos es verdadero | |
| not | Negación de un valo booleano |
Algunas palabras reservadas
| ACCEPT | |
| MOVE | |
| CALL | |
| CANCEL | |
| ALSO | |
| typeid | |
| Space | |
| High-value | |
| ALL | |
| High-value | |
| High-value | |
| + |
Esqueleto de un programa en Cobol
IDENTIFICATION DIVISION
PROGRAM-ID
AUTHOR
INSTALLATION
DATE-WRITTEN
DATE-COMPILED
SECURITY
ENVIRONMENT DIVISION
CONFIGURATION SECTION
SOURCE-COMPUTER
OBJECT-COMPUTER
SPECIAL-NAMES
INPUT-OUTPUT SECTION
FILE CONTROL
I-O-CONTROL
DATA DIVISION
FILE SECTION
...
FICHERO
REGISTRO
...
WORKING-STORATE SECTION
...
VARIABLE
...
LINKAGE SECTION
...
PARAMETRO
...
PROCEDURE DIVISION
...
SECCION
PARRAFO
SENTENCIA
...
Aplicación para ejecutar y editar codigo Cobol
Visual Cobol
Microfocus, una de las empresas dedicadas a Cobol más destacadas, ha desarrollado un plugin de Visual Cobol para Visual Studio. Esta misma empresa también tiene Visual Cobol como IDE independiente.
Open Cobol
En caso de que quieras utilizar IDEs gratuitos, puedes optar por Open Cobol. Tiene versiones disponibles para GNU/Linux, Windows y MacOS.
Paradigma al que pertenece
Cobol es miembro del Paradigma imperativo
Programa en Cobol
El programa acepta un registro de estudiante simple del usuario y muestra los campos individuales.
$ CONFIGURAR FORMATO FUENTE "GRATIS"
DIVISIÓN DE IDENTIFICACIÓN.
PROGRAMA-ID. AcceptAndDisplay.
AUTOR. Michael Coughlan.
* Utiliza los verbos ACCEPT y DISPLAY para aceptar un registro de estudiante
* del usuario y mostrar algunos de los campos. También muestra cómo
* ACCEPT puede usarse para obtener la fecha y hora del sistema.
* El AAAAMMDD en "ACEPTAR CurrentDate FROM DATE AAAAMMDD".
* es un comando de formato que asegura que la fecha contiene un
* Año de 4 dígitos. Si no se utiliza, el año proporcionado por el sistema
* solo contiene dos dígitos que pueden causar un problema en el año 2000.
DIVISIÓN DE DATOS.
SECCIÓN TRABAJO-ALMACENAMIENTO.
01 StudentDetails.
02 StudentId PIC 9 (7).
02 StudentName.
03 Apellido FOTO X (8).
03 Iniciales PIC XX.
02 CourseCode PIC X (4).
02 Género PIC X.
* AAMMDD
01 CurrentDate.
02 Año actual PIC 9 (4).
02 CurrentMonth PIC 99.
02 CurrentDay PIC 99.
* YYDDD
01 DayOfYear.
02 RELLENO FOTO 9 (4).
02 YearDay PIC 9 (3).
* HHMMSSss s = S / 100
01 CurrentTime.
02 Hora actual PIC 99.
02 CurrentMinute PIC 99.
02 RELLENO FOTO 9 (4).
DIVISIÓN DE PROCEDIMIENTOS.
Empezar.
PANTALLA "Ingrese los detalles del estudiante usando la plantilla a continuación".
PANTALLA "Ingresar - ID, apellido, iniciales, código de curso, género"
MOSTRAR "SSSSSSSNNNNNNNNIICCCCG".
ACEPTAR StudentDetails.
ACEPTAR CurrentDate FROM DATE AAAAMMDD.
ACEPTE DayOfYear DESDE EL DÍA YYYYDDD.
ACEPTAR CurrentTime FROM TIME.
PANTALLA "El nombre es", iniciales ESPACIO Apellido.
DISPLAY "La fecha es" CurrentDay SPACE CurrentMonth SPACE CurrentYear.
PANTALLA "Hoy es el día" YearDay "del año".
DISPLAY "El tiempo es" CurrentHour ":" CurrentMinute.
DETENER EJECUTAR.