The Ada Program: main.adb
1 -- main.adb: a procedure illustrating for loops and ranges of arrays
2
3 with Ada.Text_IO, Ada.Integer_Text_IO;
4 use Ada;
5
6 procedure Main is
7
8 subtype Index_Range is Integer range 1..10;
9 type Num_Table_Type is array (Index_Range) of Float;
10 Num_Table: Num_Table_Type;
11
12 type Day_Type is (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
13 type Day_Table_Type is array (Day_Type) of Float;
14 Day_Table: Day_Table_Type;
15
16 begin
17
18 for I in 1..10 loop
19 Integer_Text_IO.Put (I);
20 end loop;
21
22 for D in Mon..Sun loop
23 Text_IO.Put (Day_Type'Image(D));
24 end loop;
25
26 for I in Index_Range loop
27 Integer_Text_IO.Put (I);
28 end loop;
29
30 for D in Day_Type loop
31 Text_IO.Put (Day_Type'Image(D));
32 end loop;
33
34 for I in Index_Range'First .. Index_Range'Last loop
35 Integer_Text_IO.Put (I);
36 end loop;
37
38 for D in Day_Type'First .. Day_Type'Last loop
39 Text_IO.Put (Day_Type'Image(D));
40 end loop;
41
42 for I in Index_Range'Range loop
43 Integer_Text_IO.Put (I);
44 end loop;
45
46 for D in Day_Type'Range loop
47 Text_IO.Put (Day_Type'Image(D));
48 end loop;
49
50 for I in Num_Table_Type'First .. Num_Table_Type'Last loop
51 Integer_Text_IO.Put (I);
52 end loop;
53
54 for D in Day_Table_Type'First .. Day_Table_Type'Last loop
55 Text_IO.Put (Day_Type'Image(D));
56 end loop;
57
58 for I in Num_Table_Type'Range loop
59 Integer_Text_IO.Put (I);
60 end loop;
61
62 for D in Day_Table_Type'Range loop
63 Text_IO.Put (Day_Type'Image(D));
64 end loop;
65
66 -- illegal
67 -- for I in Num_Table_Type loop
68 -- Integer_Text_IO.Put (I);
69 -- end loop;
70
71 for I in Num_Table'Range loop
72 Integer_Text_IO.Put (I);
73 end loop;
74
75 for D in Day_Table'Range loop
76 Text_IO.Put (Day_Type'Image(D));
77 end loop;
78
79 for I in Num_Table'Range(1) loop
80 Integer_Text_IO.Put (I);
81 end loop;
82
83 for I in Num_Table'First .. Num_Table'Last loop
84 Integer_Text_IO.Put (I);
85 end loop;
86
87 for I in Num_Table'First .. Num_Table'First+Num_Table'Length-1 loop
88 Integer_Text_IO.Put (I);
89 end loop;
90
91 end Main;