32 lines
659 B
QBasic
32 lines
659 B
QBasic
bs = 10
|
||
power = 1
|
||
lg = 0
|
||
sign = 1
|
||
x = val(command$)
|
||
test1: if x > 0 then goto test2 _
|
||
else _
|
||
print "log(";command$;") not defined."
|
||
print "Input must be greater than zero."
|
||
end
|
||
test2: if x >= 1 then goto test3 _
|
||
else _
|
||
x = 1/x
|
||
sign = -1
|
||
test3: if x < 100 then goto main _
|
||
else _
|
||
while x >= 100
|
||
x = x/10
|
||
lg = lg + 1
|
||
wend
|
||
main:
|
||
while abs(bs - 1) > .0000001
|
||
if bs > x then goto newval _
|
||
else _
|
||
x = x/bs
|
||
lg = lg + power
|
||
newval:
|
||
bs = sqr(bs)
|
||
power = power/2
|
||
wend
|
||
print "log(";command$;") = ";lg*sign
|
||
|