INITIAL 属性の例

次の例は、3x3 の行列 A について、対角線上の要素 A(1,1)、A(2,2)、A(3,3) を除くすべての要素を初期化します。

DECLARE A(3,3) FIXED BIN INIT(*,(3)0,*,(3)0,*);

次の例は、配列 B のすべての要素を式 (X+10) の値に初期化します (X はプロシージャ パラメーターです)。

SUB; PROCEDURE(X);
DECLARE X FIXED BIN(15);
DECLARE B(5) FLOAT BIN INIT((HBOUND(B,1))(X+10));

次の例は、アスタリスクの繰り返し係数の使用方法を示しており、配列 Z 全体を値 1.0 に初期化します。

SUB1: PROCEDURE(DIM);
DECLARE DIM FIXED BIN(15);
DECLARE Z(DIM) FLOAT BIN(23) INIT((*)1.0);

INITIAL CALL は、外部エントリを呼び出して自動変数、基底付き変数、または制御変数を初期化するために使用します。次に例を示します。

TEST: PROCEDURE OPTIONS(MAIN);

/* Initialize all elements of array TEN */
   DECLARE TEN(10) FIXED BIN(15)
      INIT CALL INITIALIZE(ADDR(TEN),HBOUND(TEN,1));

INITIALIZE: PROCEDURE(P,DIM);

DECLARE
   P           POINTER,
   DIM         FIXED BIN(15);
DECLARE
   I           FIXED BIN,
   ARRAY(1000) FIXED BIN(15) BASED;

   DO I = 1 TO DIM; 
      P->ARRAY(I)=75; 
   END;

END INITIALIZE; 
END TEST;