Task

Produce a formatted   12×12   multiplication table of the kind memorized by rote when in primary (or elementary) school.



Only print the top half triangle of products.




 
/* 12 x 12 multiplication table. */
 
multiplication_table: procedure options (main);
   declare (i, j) fixed decimal (2);
 
   put skip edit ((i do i = 1 to 12)) (X(4), 12 F(4));
   put skip edit ( (49)'_') (X(3), A);
 
   do i = 1 to 12;
      put skip edit (i, ' |', (i*j do j = i to 12))
         (F(2), a, col(i*4+1), 12 F(4));
   end;
 
end multiplication_table;
 