Я хочу реализовать следующую функцию f(x,y)
в ПрологеПростой пролог программа
f(x,y) = a*x+b*y
where a = 1 if x > 0; a = -1 if x < 0; a = 0 if x = 0
and b = -1 if y > 0; b = 1 if y < 0; b = 0 if y = 0
Например,
f(2,-1) = 1*2 + 1*(-1) = 1
f(-2,-1) = (-1)*(-2) + (-1)*1 = 1
f(0,0) = 0*0 + 0*0 = 0
Любой может помочь?
Пролог не работают именно таким образом. Prolog не работает, Prolog логичен. поэтому вам нужно определить суждение, которое истинно. Затем вы можете задать вопрос Прологу, и он попытается дать ответ (да или нет) и переменную подстановку, если ответ будет да. –
Но вы не можете приехать на SO и просто просить «Узнай меня на этом языке». SO здесь, чтобы помочь вам, когда вы застряли в мире кода, над которым вы работаете. –
@ EmrysMyrooin: Я так не думаю, на самом деле мы все еще можем иметь такую функцию в Prolog, примером может служить проблема добавления двух чисел. Пролог сообщает факты, основанные на фактах и правилах в своей базе данных, а не просто ответы на вопросы «да-нет». –