27 lines
763 B
Text
27 lines
763 B
Text
function$ = "x^3-3*x^2+2*x"
|
|
rangemin = -1
|
|
rangemax = 3
|
|
stepsize = 0.001
|
|
accuracy = 1E-8
|
|
PROCroots(function$, rangemin, rangemax, stepsize, accuracy)
|
|
END
|
|
|
|
DEF PROCroots(func$, min, max, inc, eps)
|
|
LOCAL x, sign%, oldsign%
|
|
oldsign% = 0
|
|
FOR x = min TO max STEP inc
|
|
sign% = SGN(EVAL(func$))
|
|
IF sign% = 0 THEN
|
|
PRINT "Root found at x = "; x
|
|
sign% = -oldsign%
|
|
ELSE IF sign% <> oldsign% AND oldsign% <> 0 THEN
|
|
IF inc < eps THEN
|
|
PRINT "Root found near x = "; x
|
|
ELSE
|
|
PROCroots(func$, x-inc, x+inc/8, inc/8, eps)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
oldsign% = sign%
|
|
NEXT x
|
|
ENDPROC
|