|
 |
 |
Instrucción Perform
página(s) : 1/4 (8338 palabras totales en este texto) (94280 Lecturas) 
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.
|
| | (2/4) |
|
|