Here it is the Hello World in ADA.

with Ada.Text_IO;
procedure Hello is
  Ada.Text_IO.Put_Line("Hello, world!");
end Hello;

In the following listing you will find use of control structures in ADA

while a /= b loop
  Ada.Text_IO.Put_Line ("Waiting");
end loop;
if a > b then
  Ada.Text_IO.Put_Line ("Condition met");
  Ada.Text_IO.Put_Line ("Condition not met");
end if;
for i in 1 .. 10 loop
  Ada.Text_IO.Put ("Iteration: ");
  Ada.Text_IO.Put (i);
end loop;
  a := a + 1;
  exit when a = 10;
end loop;
case i is

  when 0 => Ada.Text_IO.Put("zero");
  when 1 => Ada.Text_IO.Put("one");
  when 2 => Ada.Text_IO.Put("two");
end case;

And now "Packages, procedures and functions".

Ada programs consist of packages, procedures and functions.

with Ada.Text_IO;
package Mine is
  type Integer is range 1 .. 11;
  i : Integer := Integer'First;
  procedure Print (j: in out Integer) is
    function Next (k: in Integer) return Integer is
      return k + 1;
    end Next;
    Ada.Text_IO.Put_Line ('The total is: ', j);
    j := Next (j);
  end Print;
  while i < Integer'Last loop
    Print (i);
  end loop;
end Mine;