Решение неравенства - 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. ЧТо она хочет ?! Помогите, пожалуйста !
Листинг программы
- 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.
Решение задачи: «Решение неравенства»
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
не является положительным.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д