Vous êtes sur la page 1sur 23

Programacin Aplicada I

prof. Roberto Cattaneo

Prof. Roberto CATTANEO

Programacin Aplicada I

INTRODUCCIN................................................................................................ 3
1.1 EL ORDENADOR ................................................................................................ 3 1.2 LENGUAJES DE PROGRAMACIN .................................................................. 3
1.2.1 DIFERENCIAS ........................................................................................................... 3 1.2.2 VENTAJAS E INCONVENIENTES ............................................................................ 3

1.3 DEFINICIN DE PROGRAMA ............................................................................ 3 1.4 COMPONENTES DE UN PROGRAMA .............................................................. 4


1.4.1 OBJETOS DE UN PROGRAMA, DATOS.................................................................. 4 1.4.2 EXPRESIONES ......................................................................................................... 4 1.4.3 INSTRUCCIONES DE UN PROGRAMA ................................................................... 4

ELEMENTOS DEL LENGUAJE COBOL........................................................... 7


2.1 CARACTERES .................................................................................................... 7 2.2 PALABRAS.......................................................................................................... 7 2.3 CONSTANTES O LITERALES ............................................................................ 7 2.4 REGLAS DE PUNTUACIN ............................................................................... 8 2.5 HOJA DE CODIFICACIN .................................................................................. 8 2.6 NOTACIN SOBRE FORMATOS DE INSTRUCCIONES COBOL .................... 9

ESTRUCTURA DE UN PROGRAMA COBOL................................................. 11


3.1 INTRODUCCIN............................................................................................... 11 3.2 IDENTIFICATION DIVISION (Divisin de identificacin)................................... 11 3.3 ENVIR0NMENT DIVISION (Divisin de entorno) .............................................. 11
3.3.1 CONFIGURATION SECTION (Seccin de Configuracin) ..................................... 12 3.3.2 INPUT-OUTPUT SECTION (Seccin de entrada / salida) ...................................... 12

3.4 DATA DIVISION (Divisin de datos).................................................................. 12


3.4.1 FILE SECTION (Seccin de Ficheros) .................................................................... 12 3.4.2 WORKING-STORAGE SECTION (Seccin de Trabajo) ......................................... 13 3.4.3 LINKAGE SECTION (Seccin de Enlace) ............................................................... 15 3.4.4 COMMUNICATION SECTION (Seccin de Comunicaciones)................................ 15 3.4.5 SCREEN SECTION (Seccin de Pantalla).............................................................. 15

3.5 PROCEDURE DIVISION (Divisin de procedimientos)..................................... 15

SENTENCIAS BSICAS DE LA PROCEDURE DIVISION ............................. 17


4.1 VISUALIZAR DATOS: DISPLAY ....................................................................... 17 4.2 LEER DATOS: ACCEPT ................................................................................... 17 4.3 INTRUCCIN DE ASIGNACIN: MOVE .......................................................... 18 4.4 SENTENCIA ADD.............................................................................................. 18 4.5 SENTENCIA SUBTRACT.................................................................................. 18 4.6 SENTENCIA MULTIPLY.................................................................................... 19 4.7 SENTENCIA DIVIDE ......................................................................................... 19 4.8 SENTENCIA COMPUTE ................................................................................... 20

SENTENCIAS DE CONTROL.......................................................................... 21
5.1 SENTENCIA IF .................................................................................................. 21 5.2 SENTENCIA PERFORM ................................................................................... 22

Edit: Juan Jos Beltrn

Pg. 2 de 23

COBOL Bsico

INTRODUCCION

INTRODUCCIN
1.1 EL ORDENADOR
Es una mquina que recoge datos, los almacena en memoria y trabaja con ellos para obtener unos resultados: DATOS ORDENADOR RESULTADOS

En un ordenador distinguimos dos partes: o HARDWARE: Parte fsica. CPU, monitor, teclado o SOFWARE: Programas e instrucciones. Permiten a la mquina trabajar.

1.2 LENGUAJES DE PROGRAMACIN


LENGUAJE: Conjunto de palabras y smbolos establecidos para comunicar informacin al ordenador. El nico lenguaje que entiende el ordenador es el LENGUAJE MQUINA, escrito en binario, es decir 0 y 1. LENGUAJES SIMBLICOS: Aparecen en un intento de hacer la programacin ms sencilla ya que se asemejan ms al lenguaje hablado. Se dividen en: LENGUAJES DE BAJO NIVEL: Lenguajes parecidos al de la mquina y orientados hacia ella, son largos y difciles de leer y ejecutar. Ej. EMSAMBLADORES. LENGUAJES DE ALTO NIVEL: Lenguajes que facilitan la programacin por asemejarse al lenguaje humano. Son universales en tanto que son vlidos para todos los ordenadores. Ej. FORTRAN, COBOL, C, PASCAL, BASIC, COMPILADOR E INTERPRETE: Se encargan de traducir el lenguaje fuente (BASIC, COBOL, etc.) a lenguaje mquina para que el ordenador lo pueda ejecutar.

1.2.1 DIFERENCIAS
COMPILADOR: Lee el programa y lo graba en lenguaje mquina, si no hay ningn error, hasta que no est todo correcto el programa no podr ejecutarse. INTRPRETE: Va traduciendo y ejecutando las instrucciones lnea a lnea.

1.2.2 VENTAJAS E INCONVENIENTES


El compilador es ms rpido que el interprete. Una vez compilado un programa, si no tiene ningn error no necesita volver a compilarse ya que se genera un programa en lenguaje de mquina, por contra el interprete tiene que traducir el programa a lenguaje mquina cada vez que queramos ejecutarlo. El compilador presenta mayor dificultad en el tratamiento de errores ya que slo se produce un listado de los errores al final de la compilacin, mientras que el intrprete al traducir lnea a lnea se para en el momento de detectar un error con lo cual es ms fcil la depuracin de dichos errores.

1.3 DEFINICIN DE PROGRAMA


Conjunto de instrucciones escritas en secuencia, que aplicadas a un conjunto de datos y ejecutadas por un ordenador permiten resolver un determinado problema.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 3 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

La elaboracin de un programa tiene tres fases fundamentales: El ANALISIS del problema: Se clasifica la informacin a tratar y se dan las soluciones previstas. Elaboracin de ALGORITMOS: Se desarrollan los planteamientos anteriores de manera genrica. CODIFICACIN del programa: Traduccin de los algoritmos al lenguaje adecuado.
Anlisis Algoritmo Codificacin Compilacin Depuracin y Pruebas

1.4 COMPONENTES DE UN PROGRAMA


La informacin manejada por un programa esta compuesta por objetos, expresiones e instrucciones.

1.4.1 OBJETOS DE UN PROGRAMA, DATOS


Constituyen la informacin elemental que procesa un programa. Se agrupan en dos tipos: CONSTANTES: Aquellos datos cuyo valor no cambia durante toda la ejecucin del programa. Segn su valor pueden ser numricas o alfanumricas en cuyo caso aparecen entre comillas. VARIABLES: Pueden tomar distintos valores a lo largo del programa. Pueden ser de tipo numrico, alfabtico o alfanumrico.

1.4.2 EXPRESIONES
Expresin es toda combinacin de valores constantes y variables unidos por los operadores del lenguaje. Las expresiones pueden clasificarse en numricas, alfanumricas y lgicas, estas ltimas son aquellas que devuelven verdadero o falso al evaluar la expresin.

1.4.3 INSTRUCCIONES DE UN PROGRAMA


Expresiones que indican una operacin a realizar por el ordenador. Segn la funcin que desempean en el programa se clasifican en: Instrucciones DECLARATIVAS: Declaran y definen los datos que va a manejar el programa. Instrucciones PRIMITIVAS: Son aquellas que son ejecutadas de forma inmediata por el programa. Pueden ser: o Inst. de ASIGNACIN: Almacenan en una variable el resultado de evaluar una expresin. Ej. a=a+1 o Inst. de ENTRADA: Leen un dato de un perifrico y lo almacenan en una variable definida en el programa. Ej. Leer a o Inst de SALIDA: Escribe en un perifrico el valor de un objeto del programa. Ej. Escribir a Instrucciones de CONTROL: Son las encargadas de controlar la secuencia de ejecucin de un programa, bien para que se ejecuten o no una serie de instrucciones, o bien para que estas se ejecuten ms de una vez. Segn su funcin pueden ser: o Inst. CONDICIONALES: Evalan el valor de una expresin de tipo lgico y en funcin del resultado permiten que se ejecute o no un grupo de instrucciones. Existen dos tipos de condicionales:

Edit: Juan Jos Beltrn

Pg. 4 de 23

COBOL Bsico

INTRODUCCION

Condicional simple si P Donde P es una expresin lgica (devuelve V o F) entonces intruccin1 intruccin2 .......... Si el resultado de evaluar el valor de P es V, se intruccinN ejecutan las instrucciones que estn dentro de la condicional, en caso de ser F no se ejecutan y finsi
se ejecuta la instruccin siguiente a la misma.

Condicional compuesta si P entonces 1 sino 2 finsi


Donde P es una expresin lgica (devuelve V o F) Si el resultado de evaluar el valor de P es V se ejecutan las instrucciones del bloque 1 y si por el contrario es F se ejecutan las del bloque 2, de este modo siempre hay un grupo de instrucciones que no se ejecuta nunca.

o Inst REPETITIVAS o BUCLES: Hacen que una o ms instrucciones se repitan varias veces durante la ejecucin de un programa. Existen tres tipos. Repetir repetir
Repite el bloque de instrucciones hasta que la expresin lgica P sea verdadera.

hasta P Mientras mientras P hacer


Repite el bloque de instrucciones mientras la expresin lgica P sea verdadera.

Fin mientras La principal diferencia entre ambas estructuras es el lugar donde se comprueba la condicin de salida (P). En la estructura mientras la condicin se comprueba antes de entrar al bucle con lo que si la condicin es falsa las instrucciones que estn dentro no se ejecutan nunca, por el contrario en las estructura repetir las instrucciones se ejecutan al menos una vez, pues la condicin se comprueba despus de pasar por las instrucciones contenidas dentro del bucle. Para para V = Vi hasta Vf hacer
Asigna a una variable V un valor inicial Vi y repite el bloque de instrucciones, incrementando dicho valor de 1 en 1 hasta llegar al valor final Vf.

fin para Esta estructura se utiliza cuando se sabe de antemano el nmero de veces que se va a repetir el bucle.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 5 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

Edit: Juan Jos Beltrn

Pg. 6 de 23

COBOL Bsico

SENTENCIAS DE CONTROL

ELEMENTOS DEL LENGUAJE COBOL


2.1 CARACTERES
El carcter es la partcula elemental de cualquier lenguaje. Son todos aquellos smbolos que se permiten para representar palabras. El lenguaje Cobol admite los siguientes caracteres: 1. Letras del alfabeto de la A a la Z, con excepcin de la , en minsculas y maysculas. 2. Dgitos decimales del 0 al 9. 3. Espacio en blanco. 4. Caracteres especiales: . , ; : ( ) + - * / = > < $

2.2 PALABRAS
Estn formadas por los caracteres Cobol permitidos. Se agrupan en: PALABRAS RESERVADAS o palabras clave: Son identificadores predefinidos que tienen un significado especial para el compilador Cobol. Son las instrucciones del lenguaje. NOMBRES DEL PROGRAMADOR O IDENTIFICADORES: Son nombres creados para el programa, para reconocer por ejemplo las variables. Para su formacin se deben tener en cuenta las siguientes normas: 1. No pueden tener el mismo nombre que una palabra reservada del lenguaje. 2. No pueden exceder de 30 caracteres, y estos slo pueden ser letras, dgitos y el guin. 3. Deben comenzar por una letra. 4. No pueden llevar dos guiones seguidos, y este no puede ser el ltimo carcter del identificador. 5. No se les pueden intercalar espacios en blanco.

2.3 CONSTANTES O LITERALES


Son valores que no cambian a lo largo de la ejecucin del programa. Se dividen en tres grupos: Constantes NUMRICAS: Expresan una cantidad en base 10 que puede ser positiva, negativa, entera o fraccionaria. Para su construccin rigen las siguientes normas: 1. Se componen de dgitos, el signo + o - y la coma (punto) decimal. 2. El signo debe escribirse a la izquierda sin dejar espacio en blanco antes de la primera cifra. 3. La coma no puede ser ni el primer ni el ltimo carcter de la constante. 4. Como mximo se permiten hasta 18 dgitos. Constantes ALFANUMRICAS: Expresan cualquier combinacin de los caracteres Cobol permitidos, con las siguientes reglas de construccin: 1. No pueden exceder, en ningn caso, de 2047 caracteres. 2. Pueden contener cualquier carcter ASCII.
http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm Pg. 7 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

3. Deben ir encerrados entre comillas o apstrofes. Constantes FIGURATIVAS: Son constantes predefinidas por el lenguaje que se utilizan para asignar valores iniciales a las variables. Son las siguientes: SPACE o SPACES: Representa uno o ms espacios en blanco. ZERO: Representa el valor cero. Puede utilizarse como valor numrico en operaciones aritmticas o como literal alfanumrico. ALL carcter: Asigna a una variables uno o varios de los caracteres que se especifican entre comillas. LOW-VALUE: Representa el menor valor a asignar, a una variable alfanumrica. HIGH-VALUE: Representa el mayor valor a asignar, a una variable alfanumrica.

2.4 REGLAS DE PUNTUACIN


1. El punto gramatical, la coma y el punto y coma no pueden ir precedidos por un espacio en blanco, pero deben ir seguidos de l. 2. El parntesis izquierdo debe llevar un espacio a su izquierda y ninguno a la derecha, y el derecho no puede llevar espacio a su izquierda y si a la derecha. 3. Los operadores aritmticos +,-,*,/.= y los relacionales <,>,=,>=,<= deben ir precedidos y seguidos de un espacio en blanco. 4. Entre dos palabras reservadas sucesiva debe existir al menos un espacio. 5. Los nombres de divisin, seccin, prrafo y procedimiento deben terminar en punto.

2.5 HOJA DE CODIFICACIN


La hoja de codificacin nos indica como y en que columnas se codifican las instrucciones de los programas COBOL: Columnas 1 a 3: Sirven para numerar las pginas del programa. Su uso no es obligatorio. Columnas 4 a 6: Sirven para numerar las lneas de cada pgina. Tampoco es obligatorio usarlas. Columna 7: En ella slo pueden aparecer los caracteres * y con la siguiente funcin: o o El * indica que la lnea que viene a continuacin es un comentario explicativo del programa. El - indica que en esa lnea continua una constante alfanumrica que qued interrumpida en la lnea anterior.

Columnas 8 a 72: Es la parte donde se escribe el programa. Se divide a su vez en dos reas: Columnas 8 a 11: Area A. o En este rea deben comenzar: Nombres de DIVISION. Nombres de SECCION.

Edit: Juan Jos Beltrn

Pg. 8 de 23

Programacin Aplicada I

ELEMENTOS DEL LENGUAJE COBOL

Nombres de PARRAFO. Nombres de PROCEDIMIENTO. Indicador FD para descripcin de archivos. Los nmeros de nivel 01 y 77 de descripcin de datos, y, opcionalmente los nmeros de nivel del 02 al 49, el 66 y el 88, tambin de descripcin de datos. Columnas 12 a 72: Area B. o o En esta rea deben comenzar: El resto de declaraciones y sentencias del programa.

Columnas 73 a 80: Son ignoradas por el compilador.

2.6 NOTACIN SOBRE FORMATOS DE INSTRUCCIONES COBOL


Para definir la sintaxis de una instruccin se utiliza un formato estndar usado en todos los manuales de Cobol, cuyos smbolos y significados se explican en este punto. Para ello usamos como ejemplo el formato de la instruccin MULTIPLY que permite realizar multiplicaciones. MULTIPLY { literal-numrico-1 | identificador-1 } BY identificador-2 [ ROUNDED ] [, identificador-3 [ ROUNDED ] ] [; ON SIZE ERROR instruccin-imperativa ] Maysculas: Los trminos escritos en maysculas son palabra reservadas del lenguaje. Subrayado: Las palabras reservadas subrayadas y no escritas entre llaves o corchetes son obligatorias al codificar la instruccin. Las no subrayadas son opcionales. Minsculas: Especifican la informacin que debe suministrar el programador. Es obligatoria salvo que este entre corchetes. Llaves: Es obligatorio elegir una opcin entre las escritas dentro de ellas. Corchetes: La informacin incluida en ellos es opcional. Puntos suspensivos: Indican que la informacin que les precede puede repetirse varias veces.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 9 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

Edit: Juan Jos Beltrn

Pg. 10 de 23

COBOL Bsico

SENTENCIAS DE CONTROL

ESTRUCTURA DE UN PROGRAMA COBOL


3.1 INTRODUCCIN
Un programa fuente Cobol es un conjunto de instrucciones, prrafos y secciones que se agrupan en cuatro DIVISIONES obligatorias que, escritas en orden, son las siguientes: IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION.

3.2 IDENTIFICATION DIVISION (Divisin de identificacin)


Tiene que ser incluida en cada programa fuente. Sirve para proporcionar un nombre para identificar el programa. Opcionalmente se puede especificar informacin acerca del autor, fecha en que fue escrito, etc. Consta de siete posibles prrafos siendo obligatorio solamente el primero de ellos. Su formato general es el siguiente: IDENTIFICATION DIVISION. PROGRAM-ID. Nombre del programa. [AUTHOR. Nombre programador.] [INSTALLATION. Instalacin.] [DATE-WRITTEN. Fecha de escritura.] [DATE-COMPILED. Fecha de compilacin.] [SECURITY. Comentario.] [REMARKS. Comentario.] PROGRAM-ID. Nombre del programa. Es el nico prrafo obligatorio y sirve para especificar el nombre del programa. Este nombre ser usado por el compilador o en la ejecucin del programa para indicar algn error. El nombre del programa debe ajustarse a las reglas, ya vistas, de formacin de un identificador Cobol.

3.3 ENVIR0NMENT DIVISION (Divisin de entorno)


Permite definir el tipo de ordenador para el que fue escrito el programa, as como los dispositivos perifricos necesarios para soportar los ficheros utilizados en el programa. El formato general para esta divisin es el siguiente: ENVIRONMENT DIVISION. [CONFIGURATION SECTION. [SOURCE-COMPUTER. Nombre ordenador.] [OBJECT-COMPUTER. Nombre ordenador.] [SPECIAL-NAMES. Nombre especiales.] ] [INPUT-OUTPUT SECTION. FILE-CONTROL.
http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm Pg. 11 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

Control de archivos. [I-O CONTROL. Control de entrada / salida.] ]

3.3.1 CONFIGURATION SECTION (Seccin de Configuracin)


Esta seccin es opcional. Su utilidad es indicar al programa el modelo de ordenador a utilizar y asociar nombres especiales que van a ser usados en el programa. Para esta ltima opcin se utiliza el prrafo SPECIAL-NAMES siendo interesante la posibilidad de intercambiar la funcin de la coma y el punto decimal, mediante la clusula DECIMAL-POINT IS COMMA de la siguiente forma: ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA.

3.3.2 INPUT-OUTPUT SECTION (Seccin de entrada / salida)


Esta seccin es tambin opcional. Proporciona informacin al compilador sobre los archivos utilizados en el programa y su relacin con los dispositivos externos. Se explicar con detalle a la hora de trabajar con ficheros.

3.4 DATA DIVISION (Divisin de datos)


Se utiliza para realizar una descripcin completa de los ficheros que intervienen en el programa, de sus registros lgicos y de las variables de trabajo. Su formato es el siguiente: DATA DIVISION. [FILE SECTION. [Declaracin del archivo. [Declaracin del registro. ] ] ] [WORKING-STORAGE SECTION. [77 Declaracin de variables independientes.] [01 Declaracin de registros.] ] [LINKAGE SECTION. [77 Declaracin de variables independientes.] [01 Declaracin de registros.] ] [COMMUNICATION SECTION. [Descripcin comunicacin.] [Declaracin de registros. ] ] [SCREEN SECTION. [01 Descripcin de pantallas.]]

3.4.1 FILE SECTION (Seccin de Ficheros)


En esta seccin se describen detalladamente toda la informacin referente a los archivos utilizados en el programa, as como los registros junto con sus campos y el tipo de datos que se va a almacenar en ellos. Se ver con ms detalle en los apuntes de ficheros.

Edit: Juan Jos Beltrn

Pg. 12 de 23

COBOL Bsico

ESTRUCTURA DE UN PROGRAMA COBOL

3.4.2 WORKING-STORAGE SECTION (Seccin de Trabajo)


En ella se describen las variables usadas por el programa, ya sea con estructura de registro o como campos independientes. Para declarar una variable es necesario especificar su nmero de nivel, su nombre, su tipo y longitud, opcionalmente tambin se le puede asignar un valor inicial. Nmeros de nivel Sirven para indicar la relacin que existe un campo y otros campos. Los campos de datos pueden clasificarse en: Campos elementales: Un campo elemental es aquel que no puede subdividirse. Campos compuestos: Un campo compuesto est formado por varios elementales. Campos independientes: Un campo independiente es un campo de trabajo que no depende de ningn otro. Los nmeros de nivel que pueden utilizarse son del 01 al 49, 66, 77 y 88. El nivel superior es el 01. Las normas a seguir para utilizar los nmeros de nivel son las siguientes: El nmero de nivel 01 slo puede ir delante del nombre de registro. Los nmeros de nivel 02 a 49 pueden preceder a cualquier campo del registro, elemental o compuesto. El nmero de nivel 77 se utiliza para describir los campos independientes, las variables. Clusula PICTURE Permite declarar el nombre, el tipo y el tamao de un campo elemental. Su formato es el siguiente: nn identificador PIC IS especificacin de formato. nn especifica el numero de nivel. identificador es el nombre que se le da a ese campo. Nombre al que podremos hacer referencia posteriormente. El tipo del campo depende de los caracteres que se empleen para definir la especificacin de formato. La longitud de un campo viene dada por el nmero de caracteres empleados en la especificacin de formato para declarar el campo. Los campos pueden ser alfabticos, alfanumricos y numricos. Campos alfabticos Permiten almacenar letras y/o espacios en blanco. Para definirlos se emplea el carcter A. 77 NOMBRE PIC A(10). Campos alfanumricos Permiten almacenar cualquier carcter del alfabeto que se est utilizando. El carcter empleado para definirlos es la X. 77 NIF PIC X(10). Campos numricos Almacenan cualquier valor numrico que no tenga ms de 18 cifras. Los caracteres que se emplean para definir un campo de este tipo son 9, S y V.
http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm Pg. 13 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

El 9 representa una cifra del 0 al 9, es decir un dgito decimal. 77 PRECIO PIC 9(6). La S indica la aparicin de signo. No es obligatorio, pero si conveniente porque si no Cobol, despus de cada operacin lo suprime. No ocupa espacio en memoria y cuando se pone, debe ser el primer carcter de la especificacin de formato. 77 SALDO PIC S9(7). La V representa la posicin del punto decimal. Se denomina punto decimal implcito ya que no ocupa espacio en memoria y slo se usa internamente para alinear las partes decimales de los campos cuando se quiere realizar una operacin. 77 NOTA PIC 99V99. PICTURE para edicin Los caracteres descritos hasta ahora para definir los datos numricos, no sirven para ser visualizados por pantalla. Para se utilizan los caracteres de edicin, que son los siguientes: La Z representa una cifra del 0 al 9. Si la cifra a escribir se corresponde con un 0 no significativo, en su lugar se escribe un espacio en blanco. El * (asterisco) representa una cifra del 0 al 9. Si la cifra a escribir se corresponde con un 0 no significativo, se escribe en su lugar un asterisco. Los caracteres Z y * no pueden ir precedidos, pero si seguidos, del carcter 9. El . (punto) hace que se inserte un punto decimal para separar la parte entera de la parte fraccionaria al escribir el campo. La , (coma) hace que se inserte este mismo carcter en el lugar que se indica de la especificacin de formato. La clusula DECIMAL-POINT IS COMMA permite invertir el papel del punto y la coma en las especificaciones de formato para edicin. B, 0, / Permite insertar un espacio en blanco, un cero o una barra en el lugar que se indican de la picture. CR, DB son smbolos bancarios indicativos de crdito y dbito. Slo pueden colocarse a la derecha de la especificacin de formato. Se imprimen si el valor del campo es positivo, si no lo es en su lugar aparecen dos espacios en blanco. El smbolo $ colocado en primer lugar de la picture permite la aparicin de este carcter en el lugar indicado. La aparicin en una picture de n caracteres $ permite la edicin de un valor de n-1 cifras. Si la cifra a escribir se corresponde con un 0 no significativo, se escribe en su lugar un espacio en blanco, excepto a la izquierda de la primera cifra significativa, que se inserta un carcter $. El smbolo + colocado en primer o ltimo lugar de la picture permite la aparicin de un + para valores positivos o un - para negativos en el lugar indicado. La aparicin en una picture de n caracteres + permite la edicin de un valor de n-1 cifras. Si la cifra a escribir se corresponde con un 0 no significativo, se escribe en su lugar un espacio en blanco, excepto a la izquierda de la primera cifra significativa, que se inserta un carcter + para valores positivos o un - para valores negativos. Colocado en primer o ltimo lugar de la picture permite la aparicin de un espacio en blanco para valores positivos o un - para valores negativos en el lugar indicado.

Edit: Juan Jos Beltrn

Pg. 14 de 23

COBOL Bsico

ESTRUCTURA DE UN PROGRAMA COBOL

La aparicin en una picture de n caracteres - permite la edicin de un valor de n-1 cifras. Si la cifra a escribir se corresponde con un 0 no significativo, se escribe en su lugar un espacio en blanco, excepto a la izquierda de la primera cifra significativa, que se inserta un carcter - para valores negativos. Clusula VALUE Permite asignar un valor inicial para un campo que se define con PICTURE dentro de la WORKING-STORAGE SECTION. 77 TOTAL PIC 9(5) VALUE 0.

3.4.3 LINKAGE SECTION (Seccin de Enlace)


Permite declarar campos de memoria para ser utilizados por otros programas y por consiguiente, conservar los datos de un programa para otro.

3.4.4 COMMUNICATION SECTION (Seccin de Comunicaciones)


Permite procesar mensajes y controlar el flujo de los mismos.

3.4.5 SCREEN SECTION (Seccin de Pantalla)


Controla la representacin de los datos en la pantalla de la forma ms optima.

3.5 PROCEDURE DIVISION (Divisin de procedimientos)


Indica la secuencia de operaciones necesarias para resolver un problema dado. Es la parte del programa que se ejecuta (el algoritmo). Puede ser dividida en secciones y ests a su vez en prrafos. Cada prrafo generalmente agrupar varias sentencias. La divisin en secciones es opcional y poco utilizada, en cambio, la divisin en prrafos es muy frecuente.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 15 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

Edit: Juan Jos Beltrn

Pg. 16 de 23

COBOL Bsico

SENTENCIAS DE CONTROL

SENTENCIAS BSICAS DE LA PROCEDURE DIVISION


4.1 VISUALIZAR DATOS: DISPLAY
Esta sentencia permite escribir datos en el dispositivos estndar de salida, la pantalla. DISPLAY RESULTADO: A Permite visualizar un dato en una posicin de pantalla determinada. LINE y POSITION sirven para especificar la fila y la columna donde va a comenzar la operacin de escritura. DISPLAY ENTRADA DE DATOS: LINE 10 POSITION 20 Otras opciones: ERASE: Borra la pantalla completa. Si se escribe ERASE EOL borrar desde la posicin del cursor hasta el final de esa lnea, y si se escribe ERASE EOS borra desde la posicin del cursor hasta el final de la pantalla. NO ADVANCING: Hace que el cursor no avance de lnea, una vez que se ha ejecutado la sentencia DISPLAY. HIGH y LOW: Permite visualizar la informacin en alta (HIGH) o baja (LOW) intensidad de vdeo. El valor por defecto es HIGH. BLINK: Hace parpadear los datos visualizados. REVERSE: Los elementos visualizados aparecern en vdeo inverso. CONTROL: Permite especificar el color de fondo y el color de los caracteres que se escriben. FCOLOR = color: Especifica el color de los caracteres. BCOLOR = color: Especifica el color de fondo. color puede ser una constante de las siguientes: BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN o WHITE. DISPLAY HOLA MUNDO CONTROL FCOLOR=WHITE,BCOLOR=BLUE

4.2 LEER DATOS: ACCEPT


Permite asignar valores a uno o ms variables desde el teclado. ACCEPT A Al igual que DISPLAY, tambin permite efectuar la entrada de datos colocando el cursor en una determinada posicin, usando LINE y POSITION. ACCEPT A LINE 10 POSITION 20 Tambin funcionan con ACCEPT las opciones ERASE, HIGH, LOW, BLINK, REVERSE y CONTROL, todas ellas con las mismas funciones que en DISPLAY. Adems existen las siguientes posibilidades: TAB: Obliga a pulsar Enter cuando tecleando la entrada del campo ledo se llega al final del campo. Si no se especifica TAB no es necesario. NO SEP: Suprime el sonido emitido por defecto al ejecutar la orden. PROMPT [literal]: Marca sobre pantalla con el carcter especificado las posiciones vacas mientras se ejecuta la orden. Si no se indica carcter por defecto se utiliza el subrayado.
http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm Pg. 17 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

UPPER - Convierte la entrada a maysculas. Tiene que utilizarse con CONTROL. ACCEPT NOMBRE NO BEEP CONTROL UPPER,BCOLOR=BLUE"

4.3 INTRUCCIN DE ASIGNACIN: MOVE


Esta sentencia permite transferir datos de una variable a otra u otras. Los datos que se transfieren deben ser del mismo tipo que la variable a la que se mueven. Despus de realizarse la operacin de mover, las dos variables contendrn los mismos datos. MOVE 0 TO SUMA MOVE A TO MAYOR SUMA=0 MAYOR=A

4.4 SENTENCIA ADD


Permite sumar dos o ms operandos numricos y almacenar el resultado en uno o ms campos de datos. Opcin TO Esta opcin hace que los valores de los operandos a su izquierda sean aadidos a los valores de los operandos a su derecha. Todos los operandos tienen que ser numricos de trabajo. ADD 1 TO CONT ADD A TO B C Opcin GIVING La suma de los valores de los operandos que preceden a GIVING se almacenan en los campos que estn a continuacin. Los campos que estn a continuacin de GIVING pueden ser numricos de trabajo o de edicin. ADD A B GIVING CONT ADD A B GIVING S T CONT=A+B S=A+B T=A+B CONT=CONT+1 B=B+A C=C+A

4.5 SENTENCIA SUBTRACT


Se utiliza para restar un dato numrico, o la suma de dos o ms datos numricos, del valor de una o ms variables, dejando el resultado en uno o ms campos. Opcin FROM Los operandos que preceden a FROM se suman y el total se resta del valor actual de la variable que esta a continuacin, almacenando el resultado en ella misma. El proceso se repite para el resto de variables que sigan a FROM. SUBTRACT 1 FROM A SUBTRACT A B FROM R SUBTRACT A B FROM R T Opcin GIVING Los operandos que preceden a FROM se suman y el total se resta del valor actual de la variable que esta a continuacin, almacenando el resultado en las variables que siguen a la palabra GIVING. SUBTRACT 1 FROM A GIVING B SUBTRACT A B FROM R GIVING T
Edit: Juan Jos Beltrn

A=A-1 R=R-(A+B) R=R-(A+B) T=T-(A+B)

B=A-1 T=R-(A+B)
Pg. 18 de 23

COBOL Bsico

SENTENCIAS BASICAS DE LA PROCEDURE DIVISION

4.6 SENTENCIA MULTIPLY


Es utilizada para multiplicar un dato numrico por otro u otros datos numricos y dejar el resultado en una o ms variables. Opcin BY El operando que precede a BY se multiplica por el valor actual de la variable que se indica a continuacin, almacenando el resultado en ella misma. El proceso se repite para el resto de variables que siguen a BY. MULTIPLY 2 BY A MULTIPLY A BY P T Opcin GIVING El operando que precede a BY se multiplica por el que est a continuacin suya, almacenando el resultado en las variables que siguen a la palabra GIVING. MULTIPLY 2 BY A GIVING P MULTIPLY A BY P GIVING T P=A*2 T=P*A A=A*2 P=P*A T=T*A

4.7 SENTENCIA DIVIDE


Se utiliza para dividir uno o ms datos numricos por otro y dejar el resultado en uno o ms campos. Opcin INTO El operando que precede a INTO acta como divisor del valor actual del dato que va a continuacin suyo, almacenando el resultado en este mismo campo y repitiendo el proceso para el resto de los campos que siguen a la palabra INTO. DIVIDE 5 INTO A A=A/5

Opcin GIVING El operando que precede a INTO acta como divisor del valor actual del dato que va a continuacin suyo, almacenando el resultado de dicha divisin en las variables que aparecen despus de GIVING. DIVIDE 5 INTO A GIVING R A=A/5

Opcin BY El operando que precede a BY se divide por valor del dato que va a continuacin suyo, almacenando el resultado de dicha divisin en las variables que aparecen despus de GIVING. DIVIDE A BY 5 GIVING R R=A/5

Opcin REMAINDER Se encarga de recoger el resto de una divisin entre dos datos de tipo entero. Se puede usar tanto con INTO como con BY, pero en ambos casos con la opcin GIVING. DIVIDE 5 INTO A GIVING A REMAINDER R 5 DIVIDE A BY 10 GIVING 10 R REMAINDER V A=A div 5 R=A div 10 R=A V=A mod mod

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 19 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

4.8 SENTENCIA COMPUTE


Permite asignar a una o ms variables numricas el valor de una constante numrica, de otro campo numrico o de una expresin aritmtica. COMPUTE A = 0 COMPUTE AUX = A COMPUTE RESULTADO = A * B + (B - 2) / 5

Edit: Juan Jos Beltrn

Pg. 20 de 23

COBOL Bsico

SENTENCIAS DE CONTROL

SENTENCIAS DE CONTROL
5.1 SENTENCIA IF
Permite tomar una decisin referente a una accin a ejecutar en un programa, basndose en el resultado, verdadero o falso, de una determinada condicin. IF A > 0 MOVE 1 TO A END-IF Si el resultado de la condicin es falso la instruccin no se ejecuta. IF A + 1 > B AND B > C * 2 MOVE 0 TO A ELSE ADD 1 TO A END-IF El mbito de una sentencia IF finaliza de cualquiera de las dos formas siguientes: 1- Por un punto. IF B NOT = 0 DISPLAY "B es distinto de 0". 2- Por una clusula END-IF IF B NOT = 0 DISPLAY "B es distinto de 0" END-IF Cuando dentro del condicional hay varias sentencias, solamente puede llevar punto la ltima, ya que este es el que indica el final de la sentencia. IF A < B COMPUTE C = B A DISPLAY "B - A = " NO ADVANCING ELSE COMPUTE C = A B DISPLAY "A - B = " NO ADVANCING DISPLAY C. Las sentencias IF ELSE pueden estar anidadas. IF A = 0 IF B NOT = 0 ADD B TO C END-IF ELSE ADD A TO C END-IF Se ejecuta si la condicin es falsa. Se ejecuta si la condicin es verdadera. Se ejecuta si la condicin es verdadera.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 21 de 23

Prof. Roberto CATTANEO

Programacin Aplicada I

5.2 SENTENCIA PERFORM


Es la sentencia COBOL que se adapta a la construccin de estructura repetitivas. Tiene varios formatos que estudiaremos a continuacin. Formato 1 Nos permite llamar a un prrafo para que se ejecute una vez. Un prrafo est formado por una serie de instrucciones encabezadas por un nombre de prrafo. Despus de ejecutadas dichas instrucciones, el programa seguir en la siguiente a la instruccin PERFORM ejecutada. PERFORM CONTAR ... CONTAR. Area ADD 1 TO I DISPLAY I.

Formato 2 Permite ejecutar un grupo de instrucciones un cierto nmero de veces. PERFORM CONTAR 10 TIMES ... CONTAR. ADD 1 TO I DISPLAY I. Tambin se podra ejecutar bajo el siguiente formato, con igual resultado. PERFORM 10 TIMES ADD 1 TO I DISPLAY I END-PERFORM

Formato 3 Ejecuta un conjunto de instrucciones hasta que la condicin especificada sea cierta. MOVE 0 TO I PERFORM CONTAR UNTIL I = 10 ... CONTAR. ADD 1 TO I DISPLAY I. Tambin puede ejecutarse utilizando la sentencia END-PERFORM. MOVE 0 TO I PERFORM UNTIL I = 10
Edit: Juan Jos Beltrn Pg. 22 de 23

COBOL Bsico

SENTENCIAS DE CONTROL

ADD 1 TO I DISPLAY I END-PERFORM En ambos casos la condicin de salida se evala antes de entrar (mientras). Si es cierta, se da por finalizada la ejecucin de la sentencia PERFORM y se pasa a la sentencia siguiente. Si es falsa se ejecutan las sentencias que se encuentran dentro de la estructura repetitiva. La opcin TEST AFTER evala la condicin despus de la primera ejecucin (repetir). MOVE 7 TO I PERFORM WITH TEST AFTER UNTIL I > 5 DISPLAY I ADD 7 TO I END-PERFORM Las instrucciones del bucle se ejecutan una vez.

MOVE 7 TO I PERFORM UNTIL I > 5 DISPLAY I ADD 7 TO I END-PERFORM Sin la opcin TEST AFTER, no se ejecutan nunca.

http://programarenc.webcindario.com/PaginasdeCOBOL/cobol.htm

Pg. 23 de 23

Vous aimerez peut-être aussi