'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' (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(1, A)); OUTREAL(99,SUM(2, B)); 'END'