home *** CD-ROM | disk | FTP | other *** search
- PROGRAM POWERX; {$P,C-,M-,F-}
- {$I+}
- TYPE
- BYTE = 0..255;
- VAR
- RAISE:BYTE;
- NUMBER:REAL;
-
- {function to raise a number "x" to a power "y"...x must be real and y must be
- an integer...greater than zero. This corresponds to the BASIC arithematic
- command ** as in A = x**2 .}
-
-
- FUNCTION POWER (X:REAL; Y:BYTE):REAL;
- LABEL 1;
- VAR
- I:INTEGER;
- CALC:REAL;
-
- BEGIN
- CALC:=1.0;
-
- IF Y < 0 THEN GOTO 1;
-
- CASE Y OF
- 1: BEGIN
- CALC:=X;
- GOTO 1;
- END;
-
- 0: GOTO 1;
-
- end; {of case}
-
- IF X = 1.0 THEN
- BEGIN
- CALC:=X*Y;
- GOTO 1;
- END;
-
- IF X = 0.0 THEN
- BEGIN
- CALC:=0.0;
- GOTO 1;
- END;
-
-
-
- IF (Y > 1) AND ( X <> 1.0) THEN
- for I:= 1 TO Y DO CALC:=CALC*X;
- 1:
- POWER:=CALC;
- END;
-
- BEGIN
- END.