私はプロローグが初めてです。0 ~ 9 の数値を他の 0 ~ 9 の数値に加算し、0 ~ 18 の解を生成する整数加算器を作成する必要があります。これは私がやりたいことです:
% pseudo code
add(in1, in2, out) :-
in1 < 10,
in2 < 10,
out < 18.
私はこのようにそれを呼び出すことができるようにしたいと思います:
有効な追加かどうかを確認するには:
?- add(1,2,3).
true.
?- add(1,2,4).
false.
1 つの変数が欠落している場合:
?- add(X,2,3).
X = 1.
?- add(1,4,X).
X = 5.
複数の変数が欠落している場合:
?- 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 ......
これはおそらく非常に単純な質問であり、おそらく非常に簡単なことだと思います。ただし、Prologチュートリアルによると、私は使用しています:
「統一とは異なり、算術比較演算子演算子は変数に値を与えるために使用できません。両側のすべての項がインスタンス化された場合にのみ評価できます。」