私はプログラミングコースを受講していますが、教授は時間がないため、Prolog をざっと読み飛ばしました。とにかく、彼は私たち自身でそれを研究することを提案しました. 計算することになっている暗号演算プログラムに出くわしましたか? 午前 + 午後 = 日。SWI インタープリターで入力として追加されるはずのものが何なのか、正しい出力として何を受信する必要があるのか わかりません...これが意味をなす場合は?
私は試した...
solve([AM],[PM],[DAY]).
それは何もしません。AM + PM = DAY または同様のものの正しい入力が何であるかについてのヘルプは素晴らしいでしょう! これが私が遊んでいたプログラムです...
solve([A,M,P,D,Y]):-
select(A,[0,1,2,3,4,5,6,7,8,9],WA), % W means Without
not(A=0),
select(M,WA,WMA),
select(P,WMA,WMAP),
not(P=0),
select(D,WMAP,WMAPD),
not(D=0),
select(Y,WMAPD,WMAPDY),
DAY is 100*D+10*A+Y,
AM is 10*A+M,
PM is 10*P+M,
DAY is AM+PM.
Prologのクラスは2つしかなかったので、ほとんど何も知らないことを覚えておいてください!
スコット