Пролог - Объявление арифметических предложений - PullRequest
3 голосов
/ 04 марта 2010

Простой вопрос, как бы я объявил предложение, в котором было бы указано число +1 +2 и +3? Я пробовал:

addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).

но когда я запускаю его, скажем, Thenumber = 5, он просто возвращает 5 + 1 5 + 2 5 + 3. Я пытался использовать «is», чтобы заставить его оценить, но, похоже, это не работает. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 04 марта 2010

Попробуйте это:

addup(X, Y) :- Y is X + 1.

или

addup(X, X+1).

и ваш вопрос должен быть addup (2, X)

тогда X должно быть 3. Если вы хотите параметризовать свой параметр addup, просто сделайте его:

addup(X, Y, X + Y).

и спросите с помощью addup (5, 6, X).

...