¡Descarga material de estudio informatico y más Apuntes en PDF de Informática solo en Docsity!
cobol
#cobol
Tabla de contenido
Acerca de
You can share this PDF with anyone you feel could benefit from it, downloaded the latest version
from: cobol
It is an unofficial and free cobol ebook created for educational purposes. All the content is
extracted from Stack Overflow Documentation, which is written by many hardworking individuals at
Stack Overflow. It is neither affiliated with Stack Overflow nor official cobol.
The content is released under Creative Commons BY-SA, and the list of contributors to each
chapter are provided in the credits section at the end of this book. Images may be copyright of
their respective owners unless otherwise specified. All trademarks and registered trademarks are
the property of their respective company owners.
Use the content presented in this book at your own risk; it is not guaranteed to be correct nor
accurate, please send your feedback and corrections to [email protected]
https://riptutorial.com/es/home 1
Capítulo 1: Empezando con Cobol
Observaciones
COBOL es la usiness CO mmon B O riented programación L anguage.
A pesar de que se ha convertido en un nombre pronunciado, COBOL aún es tratado como
acrónimo por el comité de estándares, y COBOL es la ortografía preferida por los organismos de
estándares ISO e INCITS.
Especificacion estandar
La especificación actual es
ISO / IEC 1989: 2014 Tecnología de la información - Lenguajes de programación, sus entornos e
interfaces de software del sistema - Lenguaje de programación COBOL
Ese documento se publicó en mayo de 2014 y se puede comprar en varias sucursales de
organismos estándar, oficialmente alojados en
http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=
Principal campo de uso
Orientado a los negocios. Eso generalmente significa procesamiento de transacciones. La banca,
las agencias gubernamentales y la industria de seguros son áreas importantes de los despliegues
de aplicaciones COBOL. Los sistemas mainframe de IBM generalmente tienen un compilador
COBOL instalado. Hay más de 300 dialectos COBOL en existencia, con aproximadamente 10
versiones que toman la mayor parte de las implementaciones. La mayoría de estos compiladores
son sistemas propietarios, pero también está disponible el software libre COBOL.
Categoría
COBOL es un lenguaje de programación procesal, imperativo, compilado. A partir de la
especificación COBOL 2002, las características Orientadas a Objetos se agregaron al estándar.
Por intención de diseño, COBOL es un lenguaje de programación muy detallado. Aunque la forma
algebraica está permitida:
COMPUTE I = R * B
la intención inicial era usar palabras completas para las descripciones computacionales y la
manipulación de datos:
MULTIPLY INTEREST-RATE BY BALANCE GIVING CURRENT-INTEREST ROUNDED MODE IS NEAREST-EVEN
https://riptutorial.com/es/home 2
Eso define el balance como un valor de ocho dígitos firmado con dos dígitos asumidos después
del punto decimal. rate es de tres dígitos antes y tres dígitos después de un punto decimal
supuesto. show-balance es un campo de edición numérica que tendrá un signo de dólar inicial,
siete dígitos (cero suprimido) con al menos un dígito mostrado antes de dos dígitos después de
un punto decimal.
balance se puede utilizar en los cálculos, show-balance es solo para fines de visualización y no se
puede utilizar en instrucciones computacionales.
Declaraciones de procedimiento
COBOL es una palabra reservada de lenguaje pesado. El estilo MOVE, COMPUTE, MULTIPLY,
PERFORM de forma larga conforman la mayoría de las especificaciones estándar. Más de 300
palabras clave y 47 declaraciones operativas en la especificación COBOL 2014. Muchas
implementaciones de compiladores agregan aún más a la lista de palabras reservadas.
Examples
Hola Mundo HELLO * HISTORIC EXAMPLE OF HELLO WORLD IN COBOL IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. DISPLAY "HELLO, WORLD". STOP RUN.
Los días de diseño de las tarjetas perforadas y las entradas solo en mayúsculas están muy por
detrás. Sin embargo, la mayoría de las implementaciones de COBOL todavía manejan el mismo
diseño de código. Incluso las implementaciones actuales siguen lo mismo (a menudo incluso en
mayúsculas,) compiladas y en producción.
Una implementación moderna bien formateada podría verse como:
*> Hello, world identification division. program-id. hello. procedure division. display "Hello, world" goback. end program hello.
Con algunas implementaciones de COBOL, esto se puede reducir a:
display "Hello, world".
Este formato generalmente requiere compiladores de tiempo para poner un compilador COBOL
en un modo de sintaxis relajada, ya que faltan algunas de las declaraciones DIVISION normalmente
https://riptutorial.com/es/home 4
obligatorias.
COBOL asume las fuentes de formato FIJO de forma predeterminada, incluso en la especificación
actual.
Pre-2002 COBOL
Columna Zona
1-6 Área del número de secuencia
7 Área del indicador
8-12 Area a
12-72 Area b
73-80 Área de Nombre del Programa
Los editores de texto de mainframe de IBM todavía están configurados para este formulario en
algunos casos.
Después de 2002 y en COBOL 2014, el Área A y B se fusionaron y se extendieron a la columna
255, y el Área de nombre del programa se eliminó.
Columna Zona
1-6 Área del número de secuencia
7 Área del indicador
8- Area de texto del programa
La columna 8 a través de una implementación definida en la columna Margen R , por lo general
todavía está limitada a la columna 72, pero la especificación puede ejecutarla hasta la columna
COBOL 2002 introdujo el texto fuente de FORMAT FREE. No hay Área de Número de Secuencia ,
Área de Indicador , y las líneas de origen pueden tener cualquier longitud (hasta un límite de
Margen R definido por la implementación, por lo general menos de 2048 caracteres por línea,
generalmente 255).
Pero el compilador comienza en el modo FORMATO FIJO por defecto. Por lo general, existe un
modificador de compilación o una declaración de la instalación de directiva del compilador antes
de que se reconozca la fuente de formato libre.
bbbbbb >>SOURCE FORMAT IS FREE
https://riptutorial.com/es/home 5
Capítulo 2: ¿Cómo funciona el computacional
en cobol?
Introducción
La cláusula computacional se usa para describir el tipo de almacenamiento utilizado en COBOL.
Se utiliza para 3 formas: COMP-1, COMP-2 y COMP-3. La forma más común de computación es
COMP-3. Con frecuencia es simplemente llamado "COMP" por los programadores.
Examples
COMP-
El elemento de datos se almacena en formato decimal empaquetado en COMP-3. El formato
decimal empaquetado significa que cada byte de almacenamiento (excepto el byte de orden bajo)
puede contener dos números decimales. El byte de orden inferior contiene un dígito en la parte
izquierda y el signo (positivo o negativo) en la parte derecha.
"Formato decimal zonificado" en la imagen de abajo es el almacenamiento predeterminado para
un número en COBOL.
01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21544.
El almacenamiento computacional se usa frecuentemente para reducir el tamaño de un archivo.
Implementaciones comunes
https://riptutorial.com/es/home 7
La implementación de comp, comp-1 ... comp-5 depende de la implementación.
Format Normal Implementation Comp Big endian binary integer Comp-1 4 byte floating point Comp-2 8 byte floating point Comp-3 Packed decimal 123 is stored as x'123c' Comp-5 Binary Integer optermised for performance. Big Endian on the Mainframe, Little Endian on Intel Hardware
Los compiladores de Ibm normalmente admiten Comp, Comp-4, Comp-5 en tamaños de 2,4,
bytes. Soporte GNU Cobolo con tamaños de 1,2,4,8.
Comp-1, los campos de Comp-2 se definen sin una cláusula de imagen:
03 Floating-Field Comp-1. 03 Double-Field Comp-
Para otros Comp's se ingresa la imagen:
03 Big-Endian Pic S9(4) Comp. 03 Packed-Decimal Pic S9(5) Comp.
Lea ¿Cómo funciona el computacional en cobol? en línea:
https://riptutorial.com/es/cobol/topic/10873/-como-funciona-el-computacional-en-cobol-
https://riptutorial.com/es/home 8
DISPLAY 'O STRING= ' O-STRING
FINALIZATION.
DISPLAY 'STRINGVAL EXAMPLE IS COMPLETE !!!!!!!!!!!!!!'
END PROGRAM STRINGVAL.
No es un ejemplo, pero ...
Parecía la única forma de añadir un comentario. Una cosa que es fácil de olvidar es que si
encadena algunas variables como el ejemplo anterior, y la longitud resultante es MÁS PÚBLICA
de lo que originalmente estaba en la variable receptora (cadena arriba), los caracteres "finales" se
dejan en su lugar.
Por ejemplo, si la cadena o contenía "la cadena contiene estos datos" y usted "juntó" fred & Bert ",
entonces la cadena o contendría" fred & Bert contiene estos datos "(si conté correctamente).
En resumen, adquiera el hábito de SIEMPRE mover espacios a su variable receptora antes de
comenzar a encadenar.
Lea Cuerda en línea: https://riptutorial.com/es/cobol/topic/7039/cuerda
https://riptutorial.com/es/home 10
Capítulo 4: Declaración ABIERTA
Observaciones
La sentencia COBOL OPEN inicia el procesamiento del archivo. Los recursos de archivos en
COBOL se definen en la ENVIRONMENT DIVISION , nombrados en los párrafos FD (Descriptor de
archivos). Estos nombres fd se utilizan para acceder a los archivos del disco físico y se
especifican varias opciones en las cláusulas SELECT en el párrafo FILE-CONTROL de la INPUT-OUTPUT
SECTION. Se espera que un programador pruebe un identificador de FILE STATUS para los códigos
de estado y error.
Los modos incluyen INPUT , OUTPUT , IO y EXTEND.
Examples
Muestra ABIERTA, con mini informe LINAGE COBOL *****************************************************************
- Example of LINAGE File Descriptor
- Tectonics: $ cocb -x linage.cob
- $ ./linage
- $ cat -n mini-report
IDENTIFICATION DIVISION. PROGRAM-ID. linage-demo. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. select optional data-file assign to file-name organization is line sequential file status is data-file-status. select mini-report assign to "mini-report". DATA DIVISION. FILE SECTION. FD data-file. 01 data-record. 88 endofdata value high-values. 02 data-line pic x(80).
https://riptutorial.com/es/home 11