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

Узнай цену своей работы

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

Всем доброго времени суток ! Условия задачи прилагается в изображении! Мой код для решения
Листинг программы
  1. run:- write('Input R,S,T:'),nl,
  2. read(R), number(R), read(S), number(S), read(T), number(T), func(R,S,T,Y), write('Y = '), write(Y),nl.
  3. func(R,S,T,Y):-R^2<S,Y is 1-R^2.
  4. func(R,S,T,Y):-S=<R^2,R^2=<T,Y is 0.
  5. 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. ЧТо она хочет ?! Помогите, пожалуйста !

Решение задачи: «Решение неравенства»

textual
Листинг программы
  1. positive(X, 1) :- X > 0, !.
  2. positive(X, 0).

Объяснение кода листинга программы

  1. В коде определена процедура positive(X, Y), где X - это число, а Y - это результат выполнения процедуры, который будет использоваться в дальнейшем.
  2. Если X больше 0, то Y устанавливается в 1.
  3. Если X меньше или равно 0, то Y устанавливается в 0.
  4. Процедура positive(X, Y) используется для проверки, является ли число X положительным или нет. Если X больше 0, то Y устанавливается в 1, что означает, что число X является положительным. Если X меньше или равно 0, то Y устанавливается в 0, что означает, что число X не является положительным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы