[Back to DATATYPE SWAG index] [Back to Main SWAG index] [Original]

    This is legal syntax For Turbo/Borland Pascal v.6 and above:

    Type
      MathFunc = Function (x:Real):Real;

      Function MyFunc(x:Real):Real;
      begin
        MyFunc:=2 * Sin(x) + Cos(x);
      end;

      Function YetAnother(x:Real):Real;
      begin
        YetAnother:=Sqr(x) + x/2 + 1;
      end;

      Function AreaUnder(f:MathFunc; Lo, Hi:Real; Steps:Integer):Real;
      Var
        sum,
        x,
        dx  : Real;
        i   : Integer;
      begin
        dx:=(Hi-Lo)/Steps;
        sum:=0;
        x:=Lo;
        For i:=1 to Steps
        do begin
          sum:=sum + f(x);
          x:=x + dx;
        end;
      end;

      begin
        Writeln(AreaUnder(MyFunc, 0, 2*PI, 360));
        Writeln(AreaUnder(YetAnother, -1,1, 100));
      end.

[Back to DATATYPE SWAG index] [Back to Main SWAG index] [Original]