> [Re:] Валентина
Если задана функция, например парабола
(defun f (x)
(- (* x x) 12.)
) ;_ end of defun
и известны диапазоны, в котроых находятся корни - для данного конкретного примера это [-4, -3] и [3, 4] (это числа при подстановке которых в функцию она (функция) меняет знак) можно так:
(defun test (a b delta)
(if (not (equal (f (/ (+ a b) 2.)) 0.0 delta))
(if (minusp (* (f a) (f (/ (+ a b) 2.))))
(test a (/ (+ a b) 2.) delta)
(test (/ (+ a b) 2.) b delta)
) ;_ end of if
(/ (+ a b) 2.)
) ;_ end of if
) ;_ end of defun
;;;вызов
;;;(test 3. 4. 0.00001) -> 3.4641
;;;(test -4. -3. 0.00001) ->-3.4641