Ich bin neu in Prolog. Ich muss einen ganzzahligen Addierer schreiben, der Zahlen zwischen 0-9 zu anderen Zahlen 0-9 hinzufügt und eine Lösung 0-18 produziert. Dies ist, was ich tun möchte:Prolog Anfänger: Wie man mit arithmetischen Vergleichsoperatoren vereinheitlicht oder wie man eine var auf einen Wertebereich setzt
% pseudo code
add(in1, in2, out) :-
in1 < 10,
in2 < 10,
out < 18.
Ich mag wäre in der Lage sein, um es so zu nennen:
Um zu überprüfen, ob es eine gültige Zusätzlich ist:
?- add(1,2,3).
true.
?- add(1,2,4).
false.
mit einem fehlenden Variable:
?- add(X,2,3).
X = 1.
?- add(1,4,X).
X = 5.
Mit mehreren fehlenden Variablen:
?- add(X,Y,Z).
% Some output that would make sense. Some examples could be:
X=1, Y=1, Z=2 ;
X=2, Y=1, Z=3 ......
Ich realisiere, dass dies wahrscheinlich eine ziemlich einfache Frage ist und es wahrscheinlich sehr einfach ist. Doch nach dem Prolog tutorial Ich verwende:
„Anders als Vereinigung Arithmetic Vergleichsoperatoren Operatoren können nicht auf eine Variable geben Werte verwendet werden, die nur ausgewertet werden, wenn jeder Term auf jeder Seite instanziiert wurden..“
Ja, das funktioniert nicht, weil das, was Sie in Ihrer Antwort beschrieben. – sixtyfootersdude