Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Duda con Initialize


MatematicaMente
27 de abril de 2022, 09:48
Buenos días/tardes/noches.
Recién comienzo en el mundo de COBOL y tengo dudas acerca de la instrucción INITIALIZE.
¿Cuándo y con qué objetivo se usa?, ¿qué tipo de datos tiene sentido inicializar?

Gracias de antemano, un saludo.


L.

Josber
27 de abril de 2022, 11:27
El verbo o instrucción INITIALIZE, "vacía" una o varias variables sin tener que "mirar" si son numéricas o alfanuméricas, es una instrucción que se añadió a la versión de 1985 de COBOL, y supuso el quitar muuuuucho trabajo a los programadores, su equivalente es MOVE ZEROS o MOVE SPACES TO ....

Imagina que tienes una variable que declarada de la siguiente manera


01 DATOS_ECONOMICOS.
03 SALDO PIC S9(9)V999.
03 DEBE PIC S9(9)V999.
03 HABER PIC S9(9)V999.
03 TIPO PIC X.


y necesitas inicializarlos, (borrar su contenido), no puedes hacer un MOVE ZEROS TO DATOS_ECONOMICOS, porque a SALDO, DEBE y HABER, lo haces bien, pero TIPO, tendría desde ese momento, el valor "0", por lo que no es correcto, tendrías que hacerlo de la siguiente manera


MOVE ZEROS TO SALDO DEBE HABER.
MOVE SPACES TO TIPO.


Sin embargo, con INITIALIZE, no tienes problemas, el compilador es el que se encarga de ver qué tipo de variable es y cómo debe de inicializarla, la forma sería


INITIALIZE DATOS_ECONOMICOS.


Un salu2.-

MatematicaMente
27 de abril de 2022, 12:29
Muchas gracias por tu respuesta, explicación muy clara!