home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / fpc / source / docs / refex / ex80.pp < prev    next >
Encoding:
Text File  |  2000-01-01  |  1.1 KB  |  40 lines

  1. Program example80;
  2.  
  3. { Example to demonstrate the High and Low functions. }
  4.  
  5. Type TEnum = ( North, East, South, West );
  6.      TRange = 14..55;
  7.      TArray = Array [2..10] of Longint;
  8.     
  9. Function Average (Row : Array of Longint) : Real;
  10.  
  11. Var I : longint;
  12.     Temp : Real;
  13.    
  14.    
  15. begin
  16.   Temp := Row[0];
  17.   For I := 1 to High(Row) do
  18.      Temp := Temp + Row[i];
  19.   Average := Temp / (High(Row)+1);
  20. end;
  21.                   
  22. Var A : TEnum;
  23.     B : TRange;
  24.     C : TArray;
  25.     I : longint;
  26.     
  27. begin
  28.   Writeln ('TEnum  goes from : ',Ord(Low(TEnum)),' to ', Ord(high(TEnum)),'.');
  29.   Writeln ('A      goes from : ',Ord(Low(A)),' to ', Ord(high(A)),'.');
  30.   Writeln ('TRange goes from : ',Ord(Low(TRange)),' to ', Ord(high(TRange)),'.');
  31.   Writeln ('B      goes from : ',Ord(Low(B)),' to ', Ord(high(B)),'.');
  32.   Writeln ('TArray index goes from : ',Ord(Low(TArray)),' to ', Ord(high(TArray)),'.');
  33.   Writeln ('C index      goes from : ',Low(C),' to ', high(C),'.');
  34.   For I:=Low(C) to High(C) do
  35.     C[i]:=I;
  36.   Writeln ('Average :',Average(c));  
  37.   Write ('Type of return value is always same as type of argument:');
  38.   Writeln(high(high(word)));
  39. end.
  40.