home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PASSRC.ZIP / FUNCTYPE.PAS < prev    next >
Pascal/Delphi Source File  |  1991-02-04  |  2KB  |  63 lines

  1.                                      (* Chapter 5 - Program 10 *)
  2. program Function_Type_Example;
  3.  
  4. {$F+}        (* This forces far calls and is required by TURBO *)
  5.              (* Pascal to use a function type.                 *)
  6.  
  7. type Function_Type = function(In1, In2, In3 : integer) : integer;
  8.  
  9. var Number1, Number2, Number3 : integer;
  10.     Final_Result              : integer;
  11.     Do_Math                   : Function_Type;
  12.  
  13.  
  14.    function Add(In1, In2, In3 : integer) : integer;
  15.       var Temp : integer;
  16.    begin
  17.       Temp := In1 + In2 + In3;
  18.       Writeln('The sum of the numbers is    ',Temp:6);
  19.       Add := Temp;
  20.    end;
  21.  
  22.    function Mult(In1, In2, In3 : integer) : integer;
  23.       var Temp : integer;
  24.    begin
  25.       Temp := In1 * In2 * In3;
  26.       Writeln('The product of the numbers is',Temp:6);
  27.       Mult := Temp;
  28.    end;
  29.  
  30.    function Average(In1, In2, In3 : integer) : integer;
  31.       var Temp : integer;
  32.    begin
  33.       Temp := (In1 * In2 * In3) div 3;
  34.       Writeln('The Average of the numbers is',Temp:6);
  35.       Average := Temp;
  36.    end;
  37.  
  38. begin
  39.    Number1 := 10;
  40.    Number2 := 15;
  41.    Number3 := 20;
  42.  
  43.    Do_Math := Add;
  44.    Final_Result := Do_Math(Number1, Number2, Number3);
  45.  
  46.    Do_Math := Mult;
  47.    Final_Result := Do_Math(Number1, Number2, Number3);
  48.  
  49.    Do_Math := Average;
  50.    Final_Result := Do_Math(Number1, Number2, Number3);
  51. end.
  52.  
  53.  
  54.  
  55.  
  56. { Result of execution
  57.  
  58. The sum of the numbers is        45
  59. The product of the numbers is  3000
  60. The average of the numbers is  1000
  61.  
  62. }
  63.