Tarea 11

Cobol

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 numerico0-9
Espacio
Cadenas de caracteresLas 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

andDevuelve #f tan pronto uno de sus argumentos es falso
orDevuelve #t tan pronto uno de sus argumentos es verdadero
notNegació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.