Решение неравенства - Prolog
Формулировка задачи:
Всем доброго времени суток !
Условия задачи прилагается в изображении!
Мой код для решения
Результат:
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. ЧТо она хочет ?! Помогите, пожалуйста !
Решение задачи: «Решение неравенства»
textual
Листинг программы
positive(X, 1) :- X > 0, !. positive(X, 0).
Объяснение кода листинга программы
- В коде определена процедура
positive(X, Y), гдеX- это число, аY- это результат выполнения процедуры, который будет использоваться в дальнейшем. - Если
Xбольше 0, тоYустанавливается в 1. - Если
Xменьше или равно 0, тоYустанавливается в 0. - Процедура
positive(X, Y)используется для проверки, является ли числоXположительным или нет. ЕслиXбольше 0, тоYустанавливается в 1, что означает, что числоXявляется положительным. ЕслиXменьше или равно 0, тоYустанавливается в 0, что означает, что числоXне является положительным.