Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General
COBOL - General Discusiones de temática general sobre el lenguaje COBOL y todo lo relacionado con él.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Duda con SET...TO TRUE MatematicaMente COBOL - General 1 28 de abril de 2022 15:59
Bella iniciativa de un padre, admirable sin duda Kuk Charladero - espacio libre 0 22 de diciembre de 2021 17:58
[Duda] Duda con Visual Studio + COBOL DestinedBroken Visual COBOL y DEV-HUB 14 4 de noviembre de 2021 14:39
[Sintaxis] Duda sobre STRING e INSPECT Anthony AcuCobol 2 9 de abril de 2015 20:18

Respuesta

  #1
Antiguo 27 de abril de 2022, 09:48
MatematicaMente
Acabo de llegar...
Última Actividad 01.06.2022 10:41
Posts Posts: 3
Predeterminado Duda con Initialize
0 Inactivo Inactivo

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.
MatematicaMente is offline   Responder Con Cita
  #2
Antiguo 27 de abril de 2022, 11:27
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

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

Código COBOL:
  1. 01 DATOS_ECONOMICOS.
  2.      03  SALDO                 PIC S9(9)V999.
  3.      03  DEBE                    PIC S9(9)V999.
  4.      03  HABER                 PIC S9(9)V999.
  5.      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

Código COBOL:
  1. MOVE ZEROS  TO SALDO DEBE HABER.
  2. 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

Código COBOL:
  1. INITIALIZE DATOS_ECONOMICOS.

Un salu2.-
Josber is offline   Responder Con Cita
  #3
Antiguo 27 de abril de 2022, 12:29
MatematicaMente
Acabo de llegar...
Última Actividad 01.06.2022 10:41
Posts Posts: 3

Muchas gracias por tu respuesta, explicación muy clara!
MatematicaMente is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:03.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.