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. .