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

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