home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / tutorial / programs / araypass.mod < prev    next >
Text File  |  1993-03-14  |  1KB  |  59 lines

  1.                                          (* Chapter 6 - Program 5 *)
  2. MODULE ArayPass;
  3.  
  4. FROM InOut IMPORT WriteString, WriteCard, WriteLn;
  5.  
  6. TYPE OneArray = ARRAY[10..15] OF CARDINAL;
  7.      TwoArray = ARRAY[-8..210] OF CARDINAL;
  8.  
  9. VAR  SizeOne : OneArray;
  10.      SizeTwo : TwoArray;
  11.      Index   : INTEGER;
  12.  
  13. (* **************************************************** AddNumbers *)
  14. PROCEDURE AddNumbers(Donkey : OneArray);
  15.  
  16. VAR CountUp, Sum : CARDINAL;
  17.  
  18. BEGIN
  19.    Sum := 0;
  20.    FOR CountUp := 10 TO 15 DO
  21.       Sum := Sum + Donkey[CountUp];
  22.    END;
  23.    WriteCard(Sum,5);
  24.    WriteLn;
  25. END AddNumbers;
  26.  
  27. (* ************************************************* GenAddNumbers *)
  28. PROCEDURE GenAddNumbers(Donkey : ARRAY OF CARDINAL);
  29.  
  30. VAR CountUp, Sum : CARDINAL;
  31.  
  32. BEGIN
  33.    Sum := 0;
  34.    FOR CountUp := 0 TO HIGH(Donkey) DO
  35.       Sum := Sum + Donkey[CountUp];
  36.    END;
  37.    WriteCard(Sum,5);
  38.    WriteLn;
  39. END GenAddNumbers;
  40.  
  41. BEGIN      (* *************************************** main program *)
  42.    FOR Index := 10 TO 15 DO
  43.       SizeOne[Index] := 10;
  44.    END;
  45.  
  46.    FOR Index := 210 TO -8 BY -1 DO
  47.       SizeTwo[Index] := 1;
  48.    END;
  49.  
  50.    WriteString("The sum of the SizeOne numbers is");
  51.    AddNumbers(SizeOne);
  52.  
  53.    WriteString("Gen sum of the SizeOne numbers is");
  54.    GenAddNumbers(SizeOne);
  55.    WriteString("Gen sum of the SizeTwo numbers is");
  56.    GenAddNumbers(SizeTwo);
  57.  
  58. END ArayPass.
  59.