home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / m2t-2.zip / ANSWERS / CH06E4.MOD < prev    next >
Text File  |  1989-01-18  |  2KB  |  78 lines

  1.                             (* Chapter 6 - Programming exercise 4 *)
  2.                                          (* Chapter 6 - Program 6 *)
  3. MODULE CH06E4;
  4.  
  5. (* Note - The "Strings" procedures used here are not standard because
  6.           there is no standard.  You may need to modify some or all
  7.           of the string procedure calls to get them to work.  Consult
  8.           the documentation for your compiler and library.         *)
  9.  
  10. FROM InOut   IMPORT WriteString, WriteInt, WriteLn;
  11. FROM Strings IMPORT Assign, Concat;
  12.  
  13. TYPE SevenChar = ARRAY[0..6] OF CHAR;
  14.  
  15. VAR Horse : ARRAY[0..12] OF CHAR;
  16.     Cow   : ARRAY[0..5] OF CHAR;
  17.     S1    : SevenChar;
  18.     S2    : SevenChar;
  19.     Index : CARDINAL;
  20.  
  21. (* ******************************************************* Display *)
  22. PROCEDURE Display(Stuff : ARRAY OF CHAR);
  23. BEGIN
  24.    WriteString("Array(");
  25.    WriteString(Stuff);
  26.    WriteString(") - ");
  27.    FOR Index := 0 TO HIGH(Stuff) DO
  28.       WriteInt(ORD(Stuff[Index]),4);
  29.    END;
  30.    WriteLn;
  31. END Display;
  32.  
  33. (* ************************************************** main program *)
  34. BEGIN
  35.    Horse := "ABCDEFGHIJKL";           (* Copy constant to variable *)
  36.    Display(Horse);
  37.  
  38.    Cow := "12345";
  39.    Assign(Cow,Horse);               (* Assign variable to variable *)
  40.    Display(Horse);
  41.  
  42.    S1 := "Neat";
  43.    S2 := "Things";
  44.    Concat(S1,S2,Horse);       (* Concatenate variables to variable *)
  45.    Display(Horse);
  46.    S1 := S2;                        (* Assign variable to variable *)
  47.  
  48.    Concat(Horse,Cow,Horse); (* Concatenate one variable to another *)
  49.    Display(Horse);
  50.  
  51.    Concat(Cow,Horse,Horse);        (* Concatenate to the beginning *)
  52.    Display(Horse);
  53.  
  54.    Display(Horse);
  55.    Display(Cow);
  56.    Display(S1);
  57.    Display(S2);
  58.  
  59. END CH06E4.
  60.  
  61.  
  62.  
  63.  
  64. (* Result of execution
  65.  
  66. Array(ABCDEFGHIJKL) -   65  66  67  68  69  70  71  72  73  74  75  76   0
  67. Array(12345) -   49  50  51  52  53   0  71  72  73  74  75  76   0
  68. Array(NeatThings) -   78 101  97 116  84 104 105 110 103 115   0  76   0
  69. Array(NeatThings123) -   78 101  97 116  84 104 105 110 103 115  49  50  51
  70. Array(12345NeatThin) -   49  50  51  52  53  78 101  97 116  84 104 105 110
  71. Array(12345NeatThin) -   49  50  51  52  53  78 101  97 116  84 104 105 110
  72. Array(12345) -   49  50  51  52  53   0
  73. Array(Things) -   84 104 105 110 103 115   0
  74. Array(Things) -   84 104 105 110 103 115   0
  75.  
  76. *)
  77.  
  78.