Sunteți pe pagina 1din 4

Universidad Nacional Autnoma de Mxico

Facultad de Ingeniera
Lenguajes de Programacin

Aguilar Mrquez Jos Luis


Tarea: COBOL
Historia
COBOL fue desarrollado en 1959 por un grupo llamado el comit CODASYL.
CODASYL es una abreviacin de COnference on DAta SYstem Languages. Este
comit incluy representantes acadmicos, grupos de usuario y fabricantes de
computadoras. El objetivo final de este comit era desarrollar un lenguaje
estndar orientado a negocios para el cual todos los grandes fabricantes
proveeran compiladores. El Departamento de Defensa convino esta conferencia
desde entonces, al igual que otras agencias del gobierno, que no satisfaca por la
carencia de estndares en el campo de la computacin.
Los primeros compiladores estuvieron disponibles en 1960. Pero con los aos los
usuarios quedaron insatisfechos debido al largo rango de variaciones entre los
compiladores COBOL producidos por los diferentes fabricantes de computadoras.
En 1968, la primera versin ANS (American National Standards) de COBOL fue
desarrollada y aprobada. Se crearon ms versiones de ANS COBOL en 1974 y en
1985, siendo esta ltima la ms usada al incrementar la versatilidad y la
estructura del leguaje.
Caractersticas
COBOL es una abreviacin para COmmon Business-Oriented Language. Es un
lenguaje de programacin estructurada que usa un diseo modular, en donde un
mdulo principal llama a otros mdulos cunado son requeridos (estos son
llamados bajo la sentencia PERFORM). Tambin utiliza la tcnica de programacin
top-down, que implica que el diseo de un programa apropiado se logra mejor
desarrollando mdulos grandes antes que las pequeas, ya dems, las rutinas
principales son codificadas primero y son seguidas por las rutinas intermedias y
luego por las menores.
Todo programa COBOL consiste en 4 divisiones, cada una con una funcin
especfica:

Divisin de Identificacin: Identifica el programa al sistema operativo.


Tambin puede proveer documentacin sobre el programa.
Divisin de entorno: Define los nombres de archivo y describe el equipo de
cmputo especfico que ser usado por el programa.
Divisin de datos: Describe los formatos de entrada y salida usados por el
programa. Tambin define cualquier constante y reas de trabajo
necesarias para el procesamiento de datos.

Universidad Nacional Autnoma de Mxico


Facultad de Ingeniera
Lenguajes de Programacin

Divisin de procedimientos: Contiene las instrucciones necesarias para leer


entrada, procesarlas y crear salida.

Ventajas

Es un lenguaje orientado a negocios. Es una de los lenguajes de aplicacin


comercial ms extendidas en uso hoy. Estas aplicaciones incluyen nminas
e inventario, que tpicamente operan con un largo volumen de datos.
Es un lenguaje estndar. Es un lenguaje comn, implicando que los
compiladores de COBOL estn disponibles en una forma estndar para la
mayora de las computadoras, al igual que sin importar en cual se corra, las
reglas sintcticas se aplican por igual.
Es un lenguaje similar al ingls. Todas las instrucciones pueden ser
codificadas usando palabras en ingls en lugar de cdigos complejos. Para
sumar dos nmeros juntos, por ejemplo, se usa la palabra ADD. Esto facilita
su aprendizaje.
Es un lenguaje fcil de usar. Por el punto anterior, es considerado por
muchos usuarios fcil de usar. Esto significa que no est sobrecargado con
tecnicismos como otros lenguajes. Usuarios que no estn familiarizado con
la programacin sern capaces de entender la lgica e instrucciones de un
programa en COBOL.

Desventajas

Antes del ao 2000, los cdigos de COBOL usaban un sistema de 2 dgitos


para representar el ao en una fecha para ahorrar espacio en archivos. Sin
embargo, a la llegada de ese ao, se suscit el problema de que su
representacin sera 00. Esto provoc estragos para todas las aplicaciones
y sistemas que esperaban que el nuevo ao fuera una ms que el anterior
ao, debido a que causo errores en los programas que utilizaban clculos
con las fechas. Por este descuido, se tuvieron que reemplazar billones de
lneas de cdigo, estimando un costo de $600 billones de dlares o ms
para reparar el problema completamente para todos los sistemas. El famoso
incidente fue llamado Y2K.
Es de muchas palabras. A pesar de ser un lenguaje bastante aproximado al
natural y de ser de fcil lgica y estructura, el cdigo es demasiado largo y
poco prctico para programadores experimentados
Limitado, no puede ser usado para aplicaciones cientficas.
La estructura es muy rgida.

Aplicaciones
Las aplicaciones hechas en COBOL frecuentemente se usan en reas crticas de
negocios. Por ejemplo, el 95% de los datos de las aplicaciones de finanzas y
seguros son procesados mediante COBOL. Las serias consecuencias legales y

Universidad Nacional Autnoma de Mxico


Facultad de Ingeniera
Lenguajes de Programacin

financieras que implicaran fallos en los programas son razones para el pnico
creado con la llegada del efecto 2000.
Las aplicaciones hechas en COBOL suelen mover y utilizar grandes cantidades de
datos. No es raro hablar de archivos de bases de datos de terabytes de peso.
Ejemplo:
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.
ENVIROMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMPLOYEE-DATA
ASSIGN TO EMP-DAT.
SELECT PAYROLL-LISTING ASSIGN TO PRINTER.
DATA DIVISION.
FILE SECTION.
FD EMPLOYEE-DATA
LABEL RECORDS ARE STANDARD.
01 EMPLOYEE-RECORD.
05 EMPLOYEE-NAME-IN
PICTURE X(20).
05 HOURS-WORKED-IN
PICTURE 9(2).
05 HOURLY-RATE-IN
PICTURE9V99.
FD PAYROLL-LISTING
LABEL RECORDS ARE OMITTED.
01 PRINT-REC.
05
PICTURE X(20).
05 NAME-OUT
PICTURE X(20).
05
PICTURE X(10).
05 HOURS-OUT
PICTURE 9(2).
05
PICTURE X(8).
05 RATE-OUT
PICTURE 9.99.
05
PICTURE X(6).
05 WEEKLY-WAGES-OUT
PICTURE 999.99.
WORKING-STORAGE SECTION.
01 ARE-THERE-MORE-RECORDS
PICTURE XXX VALUE YES.
PROCEDURE DIVISION.
100-MAIN-MODULE.
OPEN INPUT EMPLOYEE-DATA
OUTOUT PAYROLL-LISTING
PERFORM UNTIL ARE-THERE-MORE-RECORDS = NO
READ EMPLOYEE-DATA
AT END
MOVE NO TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 200-WAGE-ROUTINE
END-READ
END-PERFORM
CLOSE EMPLOYEE-DATA
PAYROLL-LISTING
STOP RUN.

Universidad Nacional Autnoma de Mxico


Facultad de Ingeniera
Lenguajes de Programacin

200-WAGE-ROUTINE.
MOVE SPACES TO PRINT-REC
MOVE EMPLOYEE-NAME-IN TO NAME-OUT
MOVE HOURS-WORKED-IN TO HOURS-OUT
MOVE HOURLY-RATE-IN TO RATE-OUT
MULTIPLY HOURS-WORKED-IN BY HOURLY-RATE-IN
GIVING WEEKLY-WAGES-OUT
WRITE PRINT-REC.
Referencias:

Structured Programming COBOL, Nancy Stern, Robert A. Stern, John Wiley


& Sons Inc., 9th Edition, 2002.

S-ar putea să vă placă și