2017-02-03 7 views
0

Привет, это вопрос, с которым я столкнулся, когда сталкивался с некоторыми наборами вопросов. База знаний дается со следующей информацией,Пролог, извлекающий данные из базы знаний и арифметической операции

лодки (Boat_ID, Boat_name, цвет, fare_per_passenger)

вопрос говорит, чтобы написать процедуру, чтобы сделать следующее,

для получения идентификационного номера судна вместе с тарифом за пассажира увеличено на 5%.

я написал процедуру, как,

boat(BID,_,_,F), F is F*1.05. 

Prolog постоянно возвращается мне сообщение о том, ложной любая идея?

+3

Вы не можете изменить переменную в Prolog. Используйте что-то другое, кроме F, где у вас есть 'F is' –

+3

' F is F * 1.05' говорит в Prolog, что значение 'F' совпадает с значением' F * 1.05', которое, очевидно, всегда false, за исключением когда 'F' имеет значение' 0'. – lurker

ответ

0

Ответ на этот вопрос был,

boat(BID,_,_,F), Nfare is F*1.05. 

вопрос был с использованием той же переменной для арифметической операции, а также.

Кредит Даниэлю Лайонсу за его упоминание.

+2

1. 'nFare' не является допустимым именем переменной Prolog, поскольку оно не начинается с буквы верхнего регистра. Так что это не сработает. 2. В моей фамилии нет двух «o». –

 Смежные вопросы

  • Нет связанных вопросов^_^