'BEGIN' 'ARRAY' A(/1 : 3/), B(/1 : 3, 1 : 3/); 'REAL' 'PROCEDURE' SUM(DIM, A); 'VALUE' DIM; 'INTEGER' DIM; 'ARRAY' A; SUM := 'IF' DIM = 1 'THEN' A(/1/)+ A(/2/)+ A(/3/) 'ELSE' SUM2(A); 'REAL' 'PROCEDURE' SUM2(A); 'ARRAY' A; SUM2 := A(/1, 1/)+ A(/1, 2/)+ A(/1, 3/)+ A(/2, 1/)+ A(/2, 2/)+ A(/2, 3/)+ A(/3, 1/)+ A(/3, 2/)+ A(/3, 3/); 'INTEGER' I, J; 'FOR' I := 1, 2, 3 'DO' 'BEGIN' A(/I/):= I * I; 'FOR' J := 1, 2, 3 'DO' B(/I, J/):= A(/I/)+ J 'END'; OUTREAL(99,SUM(2, A)); OUTREAL(99,SUM(1, B)) 'END'