Функции чисел Фибоначчи в CLIPS

Я не могу создать функцию для поиска чисел Фибоначчи в CLIPS, которую я пытался

(deffunction fibo (?a  )
( if (> ?a 0) then  (+ fibo(- ?a 1) fibo(- ?a 2)) else (0)))

но это не работает


person Просто программист    schedule 19.10.2014    source источник


Ответы (1)


Вот функция рекурсивного вычисления чисел Фибоначчи в CLIPS:

(deffunction fibo (?a)
    (if (or (= ?a 0) (= ?a 1)) then
        ?a
    else 
        (+ (fibo(- ?a 1)) (fibo(- ?a 2)))))

Я не понимаю, что делает ваш код, но в нем есть ошибка (вы пропустили скобки): (deffunction fibo (?a ) ( if (> ?a 0) then (+ ( fibo(- ?a 1) ) ( fibo(- ?a 2) )) else (0)))

person Vladyslav    schedule 19.10.2014
comment
спасибо, с клипами работаю впервые, поэтому наделал много синтаксических ошибок, - person Просто программист; 19.10.2014