home *** CD-ROM | disk | FTP | other *** search
/ Chip 1995 March / CHIP3.mdf / programm / prog2 / dertypes.ada < prev    next >
Encoding:
Text File  |  1991-07-01  |  1.5 KB  |  60 lines

  1.                                        -- Chapter 7 - Program 1
  2. with Text_IO;
  3. use Text_IO;
  4.  
  5. procedure DerTypes is
  6.  
  7.    package Int_IO is new Text_IO.Integer_IO(INTEGER);
  8.    use Int_IO;
  9.  
  10.    type LITTLE_INT is range -24..17;
  11.    type TINY_INT   is range -3..2;
  12.    type POS_INT    is range 25..38;
  13.    type TINY_POS   is new POS_INT range 25..30;
  14.    type SALAD_INT  is new INTEGER;
  15.    type ANIMAL_INT is new INTEGER;
  16.    type TREE_INT   is new INTEGER range -557..1098;
  17.  
  18.    Salad    : SALAD_INT;
  19.    Lettuce  : SALAD_INT := 22;
  20.    Tomatoes : SALAD_INT := 14;
  21.    Animals  : ANIMAL_INT;
  22.    Dogs     : ANIMAL_INT := 3;
  23.    Cats     : ANIMAL_INT := 4;
  24.    Trees    : TREE_INT;
  25.    Oak      : TREE_INT := 12;
  26.    Coconut  : TREE_INT := 8;
  27.    Count    : INTEGER;
  28.  
  29. begin
  30.  
  31.    Salad := Lettuce + Tomatoes;
  32.    Animals := Dogs + Cats;
  33.    Trees := Oak + Coconut + TREE_INT(Animals);
  34.    Count := INTEGER(Trees) + INTEGER(Salad);
  35.  
  36.    Salad := SALAD_INT(Dogs) * Tomatoes +
  37.             SALAD_INT(Cats) * SALAD_INT(Oak) +
  38.             SALAD_INT(Count);
  39.    Put("The 1st Salad calculation is ");
  40.    Put(INTEGER(Salad));
  41.    New_Line;
  42.  
  43.    Salad := SALAD_INT(Dogs * ANIMAL_INT(Tomatoes) +
  44.                       Cats * ANIMAL_INT(Oak) +
  45.                              ANIMAL_INT(Count));
  46.    Put("The 2nd Salad calculation is ");
  47.    Put(INTEGER(Salad));
  48.    New_Line;
  49.  
  50. end DerTypes;
  51.  
  52.  
  53.  
  54.  
  55. -- Result of execution
  56.  
  57. -- The 1st Salad calculation is    153
  58. -- The 2nd Salad calculation is    153
  59.  
  60.