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

  1.                          -- Chapter 12 - Programming exercise 1
  2. with Text_IO;
  3. use Text_IO;
  4.  
  5. procedure CH12_1 is
  6.  
  7.    type MONTH_NAME is (JAN,FEB,MAR,APR,MAY,JUN,JUL,
  8.                                              AUG,SEP,OCT,NOV,DEC);
  9.  
  10.    type DATE is
  11.       record
  12.          Month : MONTH_NAME;
  13.          Day   : INTEGER range 1..31;
  14.          Year  : INTEGER range 1776..2010;
  15.       end record;
  16.  
  17.    type PERSON is
  18.       record
  19.          Name      : STRING(1..15);
  20.          Birth_Day : DATE;
  21.          Age       : INTEGER := 15;
  22.          Sex       : CHARACTER := 'M';
  23.       end record;
  24.  
  25.    Teacher      : PERSON;
  26.    Class_Member : array(1..35) of PERSON;
  27.    Standard     : constant PERSON :=
  28.                        (Birth_Day => (Month => MAR,
  29.                                       Year => 1955,
  30.                                       Day => 27),
  31.                         Name => "John Q. Doe    ",
  32.                         Age => 33,
  33.                         Sex => 'M');
  34.  
  35.    type EMPTY_RECORD is
  36.       record
  37.          null;
  38.       end record;
  39.  
  40. begin
  41.  
  42.    Teacher.Name := "John Q. Doe    ";
  43.    Teacher.Age := 21;
  44.    Teacher.Sex := 'M';
  45.    Teacher.Birth_Day.Month := OCT;
  46.    Teacher.Birth_Day.Day := 18;
  47.    Teacher.Birth_Day.Year := 1938;
  48.  
  49.    for Index in Class_Member'RANGE loop
  50.       Class_Member(Index).Name := "Suzie Lou Q    ";
  51.       Class_Member(Index).Birth_Day.Month := MAY;
  52.       Class_Member(Index).Birth_Day.Day := 23;
  53.       Class_Member(Index).Birth_Day.Year := 1956;
  54.       Class_Member(Index).Sex := 'F';
  55.    end loop;
  56.  
  57.    Class_Member(4).Name := "Little Johhny  ";
  58.    Class_Member(4).Sex := 'M';
  59.    Class_Member(4).Birth_Day.Day := 17;
  60.    Class_Member(7).Age := 14;
  61.    Class_Member(2) := Standard;
  62.    Class_Member(3) := Standard;
  63.  
  64. end CH12_1;
  65.  
  66.  
  67.  
  68.  
  69. -- Result of execution
  70.  
  71. --   (No output from this program.)
  72.  
  73.