home *** CD-ROM | disk | FTP | other *** search
- CONST e = 2.7182818;
-
- Function Exponent(Base: Real; Power: Integer): Real;
- {Base can be real, power must be an integer}
- VAR
- X: INTEGER;
- E: REAL;
-
- BEGIN;
- E:=1;
- If Power = 0 then E:=1
- Else If Power = 1 then E:=Base
- Else For X:=1 to ABS(Power) do E:=E*Base;
- If Power < 0 then E:=1/E;
- Exponent:=E;
- END;
-
- Function Log(Base, Expnt: Real): Real;
- {returns common (base 10) logarithm}
- Begin;
- Log:=ln(Expnt)/ln(Base);
- End;
-
- Function Prime(N: LongInt): Boolean;
- {Determines if argument is prime}
- Var C: LongInt;
- S: Real;
- X: Boolean;
- Begin;
- N:=ABS(N);
- S:=SQRT(N);
- X:=( (N<=2) OR (ODD(N)) AND (S <> INT(S) ) );
- If X then Begin
- C:=3;
- While (X AND (C < Int(S))) do Begin
- X:=((N Mod C) > 0);
- C:=C+2;
- End; {While}
- End; {If X}
- Prime:=X;
- End; {Prime}
-
- Function Whole(X: Real): Boolean;
- Begin;
- Whole:=INT(X) = X;
- End;
-
- Function Seconds_to_Words(Sec: LongInt): String;
- CONST
- SecDay=86400;
- SecHr=3600;
- SecMin=60;
- VAR
- Days, Hours, Minutes, Seconds: LONGINT;
- L: BYTE;
- T, X: STRING;
-
- BEGIN;
-
- Days:=Sec DIV SecDay;
- Sec:=Sec-(SecDay*Days);
- Hours:=Sec DIV SecHr;
- Sec:=Sec-(SecHr*Hours);
- Minutes:=Sec DIV SecMin;
- Sec:=Sec-(SecMin*Minutes);
- Seconds:=Sec;
-
- T:='';
-
- If Days > 0 then Begin
- Str(Days,T);
- T := T + ' Day';
- If Days > 1 then T := T + 's';
- T := T + ', ';
- End; {If Days}
-
- If Hours > 0 then Begin
- Str(Hours,X);
- T := T + X + ' Hour';
- If Hours > 1 then T := T + 's';
- T := T + ', ';
- End; {If Hours}
-
- If Minutes > 0 then Begin
- Str(Minutes,X);
- T := T + X + ' Minute';
- If Minutes > 1 then T := T + 's';
- T := T + ', ';
- End; {If Minutes}
-
- If Seconds > 0 then Begin
- Str(Seconds,X);
- T := T + X + ' Second';
- If Seconds > 1 then T := T + 's';
- End; {If Seconds}
-
- L:=Length(T)-1;
-
- If T[L] = ',' then T:=Copy(T,1,(L-1));
-
- Seconds_To_Words:=T;
-
- END; {Seconds to Words}
-
- Function DegToRad(D: Real): Real;
- Begin;
- DegToRad:=D*Pi/180;
- End; {DegToRad}
-
- Function GradToRad(G: Real): Real;
- Begin;
- GradToRad:=G*Pi/200;
- End; {GradToRad}
-
- Function DegToGrad(D: Real): Real;
- Begin;
- DegToGrad:=D/0.9;
- End; {DegToGrad}
-
- Function RadToDeg(R: Real): Real;
- Begin;
- RadToDeg:=R*180/Pi;
- End; {RadToDeg}
-
- Function RadToGrad(R: Real): Real;
- Begin;
- RadToGrad:=R*200/Pi;
- End;
-
- Function GradToDeg(G: Real): Real;
- Begin;
- GradToDeg:=G*0.9;
- End; {GradToDeg}
-
- Function Tan(R: Real): Real;
- Begin;
- Tan:=Sin(R) / Cos(R);
- End; {Tan}
-
- Function Csc(R: Real): Real;
- Begin;
- Csc:=1 / Sin(R);
- End; {Csc}
-
- Function Sec(R: Real): Real;
- Begin;
- Sec:=1 / Cos(R);
- End; {Sec}
-
- Function Cot(R: Real): Real;
- Begin;
- Cot:=Cos(R) / Sin(R);
- End; {Cot}
-
- Function Hypotenuse_Equilateral_Triangle(S: Real): Real;
- Begin;
- Hypotenuse_Equilateral_Triangle:=( SQRT(3) * S ) / 2;
- End;
-
- Function Pythagoras(A, B: Real): Real;
- Begin;
- Pythagoras:=Sqrt((A*A)+(B*B));
- End; {Pythagoras}
-
- Function Triangle_Area(B, H: Real): Real;
- Begin;
- Triangle_Area:=0.5 * B * H;
- End; {Triangle Area}
-
- Function Equilateral_Triangle_Area(S: Real): Real;
- Begin;
- Equilateral_Triangle_Area:=( SQRT(3) * (S*S) ) / 4;
- End;
-
- Function Circle_Area(R: Real): Real;
- Begin;
- Circle_Area:=Pi*(R*R);
- End;
-
- Function Ellipse_Area(A, B: Real): Real;
- Begin;
- Ellipse_Area:=Pi*A*B;
- End;
-
- Function Square_Area(S: Real): Real;
- Begin;
- Square_Area:=(S*S);
- End;
-
- Function Rectangle_Area(X, Y: Real): Real;
- Begin;
- Rectangle_Area:=X*Y;
- End;
-
- Function Cube_Surface_Area(S: Real): Real;
- Begin;
- Cube_Surface_Area:=6*(S*S);
- End;
-
- Function Rectangular_Prism_Surface_Area(H, W, L: Real): Real;
- Begin;
- Rectangular_Prism_Surface_Area:=(2*H*W) + (2*H*L) + (2*L*W);
- End;
-
- Function Sphere_Surface_Area(R: Real): Real;
- Begin;
- Sphere_Surface_Area:=4*Pi*(R*R);
- End;
-
- Function Cylinder_Surface_Area(R, H: Real): Real;
- Begin;
- Cylinder_Surface_Area:=(2*Pi*R*H) + (2*Pi*(R*R));
- End;
-
- Function Cone_Surface_Area_Without_Base(R, H: Real): Real;
- Begin;
- Cone_Surface_Area_Without_Base:=Pi*R*SQRT((R*R) + (H*H) );
- End;
-
- Function Cone_Surface_Area_With_Base(R, H: Real): Real;
- Begin;
- Cone_Surface_Area_With_Base:=(Pi*R*SQRT((R*R) + (H*H)) ) + (Pi*(R*R));
- End;
-
- Function Sector_Area(R, A: Real): Real;
- Begin;
- Sector_Area:=0.5*(R*R)*A;
- End;
-
- Function Trapezoid_Area(A, B, H: Real): Real;
- Begin;
- Trapezoid_Area:=(H / 2) * (A + B);
- End;
-
- Function Circle_Circumference(R: Real): Real;
- Begin;
- Circle_Circumference:=2*Pi*R;
- End;
-
- Function Ellipse_Circumference(A, B: Real): Real;
- Begin;
- Ellipse_Circumference := (2*Pi) * ( SQRT( ( (A*A) + (B*B) ) / 2 ) );
- End;
-
- Function Cube_Volume(S: Real): Real;
- Begin;
- Cube_Volume:=S*S*S;
- End;
-
- Function Rectangle_Volume(X, Y, Z: Real): Real;
- Begin;
- Rectangle_Volume:=X*Y*Z;
- End;
-
- Function Sphere_Volume(R: Real): Real;
- Begin;
- Sphere_Volume:=(4/3)*Pi*(R*R*R);
- End;
-
- Function Cylinder_Volume(R, H: Real): Real;
- Begin;
- Cylinder_Volume:=Pi*(R*R)*H;
- End; {Cylinder Volume}
-
- Function Cone_Volume(R, H: Real): Real;
- Begin;
- Cone_Volume:=(Pi*(R*R)*H)/3;
- End;
-
- Function Prism_Volume(B, H: Real): Real;
- Begin;
- Prism_Volume:=B*H;
- End; {Prism Volume}
-
- Function Distance(X1, X2, Y1, Y2: Real): Real;
- Begin;
- Distance:=Sqrt(Sqr(Y2-Y1)+Sqr(X2-X1));
- End; {Distance}
-
- Function Factorial(N: LongInt): LongInt;
- Var X, Y: LongInt;
- Begin;
- If N <> 0 then Begin
- X:=N;
- For Y:=(N-1) downto 2 do X:=X*Y;
- Factorial:=X;
- End {If}
- Else Factorial:=1;
- End; {Factorial}
-
- Function GCF(A, B: LongInt): LongInt;
- {finds the Greatest Common Factor between 2 arguments}
- Var X, High: LongInt;
- Begin;
- High:=1;
- For X:=2 to A do If (A MOD X = 0) AND (B MOD X = 0) then High:=X;
- GCF:=High;
- End; {GCF}
-
- Function LCM(A, B: LongInt): LongInt;
- {finds the Least Common Multiple between 2 arguments}
- Var Inc, Low, High: LongInt;
- Begin;
- If A > B then Begin
- High:=A;
- Low:=B;
- End {If}
- Else Begin
- High:=B;
- Low:=A;
- End; {Else}
- Inc:=High;
- While High MOD Low <> 0 do High:=High+Inc;
- LCM:=High;
- End; {LCM}
-
- Procedure ISwap(Var X, Y: LongInt);
- {swaps 2 Integer or LongInteger variables}
- Var Z: LongInt;
- Begin;
- Z:=X;
- X:=Y;
- Y:=Z;
- End;
-
- Procedure RSwap(Var X, Y: Real);
- {swaps 2 REAL variables}
- Var Z: Real;
- Begin;
- Z:=X;
- X:=Y;
- Y:=Z;
- End;
-
-
-