with Ada.Text_IO,Ada.Integer_Text_IO;
use Ada.Text_IO,Ada.Integer_Text_IO;
procedure DerTypes is
type LITTLE_INT is range -24..17;
type TINY_INT is range -3..2;
type POS_INT is range 25..38;
type TINY_POS is new POS_INT range 25..30;-- Derived types.
type SALAD_INT is new Integer;-- Derived types.
type ANIMAL_INT is new Integer;-- Derived types.
type TREE_INT is new Integer range -557..1098;-- Derived types.
Salad :SALAD_INT;
Lettuce :SALAD_INT :=22;
Tomatoes :SALAD_INT :=14;
Animals :ANIMAL_INT;
Dogs :ANIMAL_INT:=3;
Cats :ANIMAL_INT :=4;
Trees :TREE_INT;
Oak :TREE_INT :=12;
Coconut:TREE_INT :=8;
Count :INTEGER;
begin
Salad :=Lettuce+Tomatoes;
Animals:=Dogs+Cats;
Trees:=Oak+Coconut+TREE_INT(Animals);
Count:=Integer(Trees)+Integer(Salad);
Salad:=SALAD_INT(Dogs)*Tomatoes+SALAD_INT(Cats)*SALAD_INT(Oak)+SALAD_INT(Count);Put("The 1st Salad calculation is :");Put(INTEGER(Salad));
New_Line;
Salad:=SALAD_INT(Dogs*ANIMAL_INT(Tomatoes)+
Cats*ANIMAL_INT(Oak)+ANIMAL_INT(Count));Put("The 2nd Salad calculation is :");Put(INTEGER(Salad));
New_Line;
end Dertypes;