Cobol en español
MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
Manuales
TEMARIOIntroducción
Identification Division
Environment Division
Data Division
Procedure Division
Instr. de Cálculo
Instr. de Archivos
Instr. de Pantalla
Instr. de Variables
Instrucción Perform

Instrucción Perform

página(s) : 1/4
(8338 palabras totales en este texto)
(94280 Lecturas)   Versión Imprimible



Creo que por méritos propios esta instrucción se merece un apartado para ella sola. Es una instrucción que nos permite tranferir el control a otro u otros procedimientos o bien realizar una serie de sentencias dentro de ella misma mientras se cumplan las condiciones que le hayamos indicado. Es la instrucción mas importante tanto por su variedad de formatos, como por el número de veces que se suele usar dentro de un programa, además nos puede hacer mucho mas sencillo el realizar una programación estructurada.

Cuando decimos que un programa está estructurado, no cabe duda que es debido al uso de ésta instrucción. Pero creo que lo importante no es tanto hablar de ella, sino comenzar a explicarla.

Empecemos a ver sus formatos desde el mas simple al mas complicado: Siempre debéis de tener en cuenta que los ejemplos son solo para aclarar la explicación, nunca los toméis como programas completos y con una lógica aplastante.


Formato 1: Con este formato transferimos el control del programa a un párrafo, cuando éste termine vuelve el control a la instrucción que sigue al PERFORM .

PERFORM nombre_parrafo

...
WORKING-STORAGE SECTION.
01  NOMBRE PIC X(30).
01  OP PIC X.
PROCEDURE DIVISION.
INICIO.
       DISPLAY 'PROGRAMA DE SALUDO' LINE 1 ERASE.
       PERFORM PIDENOMBRE.
       DISPLAY 'HOLA ' LINE 10.
       DISPLAY NOMBRE LINE 10 COL 6.
       ACCEPT OP LINE 20.
       STOP RUN.
PIDENOMBRE.
       DISPLAY 'INTRODUZCA EL NOMBRE ..' LINE 20.
       ACCEPT NOMBRE LINE 20 COL 30 PROMPT.
       DISPLAY SPACES LINE 20 SIZE 70.
...

Nota:
Simplemente hemos hecho que el programa salte a un párrafo que lo ejecute y que vuelva el control a la secuencia.


Formato 2: Una extensión del anterior es indicarle que ejecute mas de un párrafo, especificando el inicio y el fin.

PERFORM nombre_parrafo THRU nombre_parrafo

...
WORKING-STORAGE SECTION.
01  NOMBRE PIC X(12).
01  APELLIDO PIC X(12).
01  OP PIC X.
PROCEDURE DIVISION.
INICIO.
       DISPLAY 'PROGRAMA DE SALUDO' LINE 1 ERASE.
       PERFORM PIDENOMBRE THRU PIDEAPELLIDO.
       DISPLAY 'HOLA ' LINE 10.
       DISPLAY NOMBRE LINE 10 COL 6.
       DISPLAY APELLIDO LINE 10 COL 20.
       ACCEPT OP LINE 20.
       STOP RUN.
PIDENOMBRE.
       DISPLAY 'INTRODUZCA EL NOMBRE ..' LINE 20.
       ACCEPT NOMBRE LINE 20 COL 30 PROMPT.
PIDEAPELLIDO.
       DISPLAY 'INTRODUZCA EL APELLIDO ..' LINE 21.
       ACCEPT APELLIDO LINE 21 COL 30 PROMPT.
       DISPLAY SPACES LINE 20 SIZE 70.
       DISPLAY SPACES LINE 21 SIZE 70. 
...

Nota:
En este caso PIDENOMBRE y PIDEAPELLIDO van seguidos, pero al poner el THRU lo que conseguimos es que el control no se devuelva hasta llegar al párrafo indicado después del THRU. Es decir que entre PIDENOMBRE y PIDEAPELLIDO podrá haber cinco párrados mas y todos ellos se hubieran ejecutado.

   Inicio de Página    | Siguiente (2/4)
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]