Решение неравенства - Prolog

Формулировка задачи:

Всем доброго времени суток ! Условия задачи прилагается в изображении! Мой код для решения
run:- write('Input R,S,T:'),nl,
read(R), number(R), read(S), number(S), read(T), number(T), func(R,S,T,Y), write('Y = '), write(Y),nl. 
func(R,S,T,Y):-R^2<S,Y is 1-R^2.
func(R,S,T,Y):-S=<R^2,R^2=<T,Y is 0.
func(R,S,T,Y):-R^2>T,Y is 1+R^2.
Результат: 1 ?- run. Input R,S,T: |: 5. |: 36. |: 10. Y = -24 true 1 ?- run. Input R,S,T: |: 1. |: 2. |: 10. Y = 0 true 3 ?- run. Input R,S,T: |: 5. |: 1. |: 24. Y = 26 true. Препод мне написал следующее:" предикат отсечения cut ! не используется. Надо переделать." Я просто в этом прологе полный 0. ЧТо она хочет ?! Помогите, пожалуйста !

Код к задаче: «Решение неравенства - Prolog»

textual
positive(X, 1) :- X > 0, !.
positive(X, 0).

7   голосов, оценка 3.429 из 5


СОХРАНИТЬ ССЫЛКУ