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;