with Ada.Integer_Text_IO; use  Ada.Integer_Text_IO;
with Ada.Text_IO;         use  Ada.Text_IO;

-- illustrates value semantics, not reference semantics
procedure tryArrays3 is

   type MyArray   is array (1 .. 5) of Integer;

   a: MyArray := (11, 12, 13, 14, 15);
   b: MyArray;

begin
   -- Array assignment
   b := a;

   a(1) := 99;   -- Change a but not b

   for i in a'range loop
      put(a(i), 3);
   end loop;
   new_line;

   for i in b'range loop
      put(b(i), 3);
   end loop;
   new_line;

end tryArrays3;
-- SAMPLE RUN
 99 12 13 14 15
 11 12 13 14 15