23 lines
513 B
Plaintext
23 lines
513 B
Plaintext
procedure main()
|
|
bases := [5,5.]
|
|
numbers := [0,2,2.,-1,3]
|
|
every write("expon(",b := !bases,", ",x := !numbers,")=",(expon(b,x) | "failed") \ 1)
|
|
end
|
|
|
|
procedure expon(base,power)
|
|
local op,res
|
|
|
|
base := numeric(base) | runerror(102,base)
|
|
power := power = integer(power) | runerr(101,power)
|
|
|
|
if power = 0 then return 1
|
|
else op := if power < 1 then
|
|
(base := real(base)) & "/" # force real base
|
|
else "*"
|
|
|
|
res := 1
|
|
every 1 to abs(power) do
|
|
res := op(res,base)
|
|
return res
|
|
end
|