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

  1.                        -- Chapter 7 - Programming exercise 1
  2. with Text_IO;
  3. use Text_IO;
  4.  
  5. procedure CH07_1 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.    package Salad_Int_IO is new Text_IO.Integer_IO(SALAD_INT);
  19.    use Salad_Int_IO;
  20.  
  21.    Salad    : SALAD_INT;
  22.    Lettuce  : SALAD_INT := 22;
  23.    Tomatoes : SALAD_INT := 14;
  24.    Animals  : ANIMAL_INT;
  25.    Dogs     : ANIMAL_INT := 3;
  26.    Cats     : ANIMAL_INT := 4;
  27.    Trees    : TREE_INT;
  28.    Oak      : TREE_INT := 12;
  29.    Coconut  : TREE_INT := 8;
  30.    Count    : INTEGER;
  31.  
  32. begin
  33.  
  34.    Salad := Lettuce + Tomatoes;
  35.    Animals := Dogs + Cats;
  36.    Trees := Oak + Coconut + TREE_INT(Animals);
  37.    Count := INTEGER(Trees) + INTEGER(Salad);
  38.  
  39.    Salad := SALAD_INT(Dogs) * Tomatoes +
  40.             SALAD_INT(Cats) * SALAD_INT(Oak) +
  41.             SALAD_INT(Count);
  42.    Put("The 1st Salad calculation is ");
  43.    Put(Salad);
  44.    New_Line;
  45.  
  46.    Salad := SALAD_INT(Dogs * ANIMAL_INT(Tomatoes) +
  47.                       Cats * ANIMAL_INT(Oak) +
  48.                              ANIMAL_INT(Count));
  49.    Put("The 2nd Salad calculation is ");
  50.    Put(Salad);
  51.    New_Line;
  52.  
  53. end CH07_1;
  54.  
  55.  
  56.  
  57.  
  58. -- Result of execution
  59.  
  60. -- The 1st Salad calculation is    153
  61. -- The 2nd Salad calculation is    153
  62.  
  63.