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;