The Ada Program: index.adb

  1 -- index.adb:  two-dimensional arrays indexed by discrete types
  2 
  3 procedure Index is
  4 
  5    type Color is (Red, Orange, Yellow, Green, Blue, Violet);
  6    type Texture is (Satin, Velvet, Coarse, Rough);
  7 
  8    type A_Type is array (Color, Texture) of Boolean;
  9    type B_Type is array (Color'Range, Texture'Range) of Boolean;
 10    type C_Type is array (1..10, Orange..Blue) of Boolean;
 11 
 12    A: A_Type := A_Type'(Color'Range => (Texture'Range => False));
 13    C: C_Type := C_Type'(C_Type'Range(1)=>(C_Type'Range(2)=>False));
 14    D: C_Type := C_Type'(
 15       1=>(C_Type'Range(2)=>False),
 16       2=>(C_Type'Range(2)=>True),
 17       3=>(False, True, False, True),
 18       4=>(C_Type'Range(2)=>True),
 19       others=>(C_Type'Range(2)=>False));
 20 
 21 begin
 22 
 23    for I in Color loop
 24       for J in Texture loop
 25          A(I,J) := False;
 26       end loop;
 27    end loop;
 28 
 29    for I in C'Range(1) loop
 30       for J in C'Range(2) loop
 31          C(I,J) := False;
 32       end loop;
 33    end loop;
 34 
 35 end Index;