|
 |
 |
Instrucción Perform
página(s) : 2/4 (8338 palabras totales en este texto) (94088 Lecturas) 
Formato 3: Seguimos ampliando las capacidades, ahora conseguimos que el
PERFORM se realice tantas veces como se indique en el número o variable que va
delante de TIMES.
PERFORM nombre_parrafo
THRU nombre_parrafo número-variable
TIMES
|
... WORKING-STORAGE
SECTION. 01 NOMBRE PIC X(12). 01
APELLIDO PIC X(12). 01 OP
PIC
X. 01 LI PIC
99 VALUE 10. PROCEDURE DIVISION.
INICIO.
DISPLAY 'PROGRAMA DE SALUDO' LINE
1 ERASE. PERFORM
PIDENOMBRE THRU PIDEAPELLIDO. PERFORM
SALUDAR 3 TIMES. 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. SALUDAR. ADD
1 TO LI. DISPLAY
'HOLA ' LINE LI. DISPLAY
NOMBRE LINE LI COL 6. DISPLAY
APELLIDO LINE LI COL 20. ACCEPT
OP LINE 20. ... | |
Nota: Ahora hemos conseguido que el saludo nos lo muestre 3
veces. Por supuesto THRU y TIMES pueden ir perfectamente juntos.
Ya os he dicho al principio que los ejemplos pueden no ser muy lógicos, pero si hacen la
función de explicación. |
Formato 4: Igual que el antrior formato solo
que el número de veces que se ejecute dependerá de una condición y no de un número fijo.
PERFORM nombre_parrafo
THRU nombre_parrafoUNTIL
condición
|
... WORKING-STORAGE
SECTION. 01 NOMBRE PIC X(12). 01
APELLIDO PIC X(12). 01 OP
PIC
X. 01 LI PIC
99 VALUE 10. PROCEDURE DIVISION.
INICIO.
DISPLAY 'PROGRAMA DE SALUDO' LINE
1 ERASE. PERFORM
PIDENOMBRE THRU PIDEAPELLIDO. PERFORM
SALUDAR UNTIL LI = 15. 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. SALUDAR. ADD
1 TO LI. DISPLAY
'HOLA ' LINE LI. DISPLAY
NOMBRE LINE LI COL 6. DISPLAY
APELLIDO LINE LI COL 20. ACCEPT
OP LINE 20. ... | |
Nota: En este caso el compilador comprueba antes de iniciar
el PERFORM que la condición no se cumple para ejecutarla, en el momento que
se cumpla salta a la siguiente instrucción. En el ejemplo ejecutará el
PERFORM hasta que la variable LI alcance el valor 15. |
| (1/4) | | (3/4) |
|
|