PrologでまったりPart 2
■ このスレッドは過去ログ倉庫に格納されています
0485デフォルトの名無しさん
2006/05/17(水) 05:08:22売上(山本商店,'20060501',3000).
売上(森下電気,'20060503',2000).
売上(山本商店,'20060514',2000).
売上(森下電気,'20060517',4000).
さて、ここで、2006年5月中に森下電気に売上あったか調べようと
思います。
?- 売上(森下電気,A,B),atom_part(A,1,6,'200605').
A = '20060503',
B = 3000;
A = '20060517',
B = 4000;
no
?- ですね。しかし、本当に求めているのは「あるかないか」であって
全てのデータを得ることではないとすると、
プログラム(その一)のように
売上(山本商店,'20060501',3000) :- !.
売上(森下電気,'20060503',2000) :- !.
売上(山本商店,'20060514',2000) :- !.
売上(森下電気,'20060517',4000) :- !.
と定義を変えればよい。
これで
?- 売上(森下電気,A,B),atom_part(A,1,6,'200605').
A = '20060503',
B = 2000;
no
?- となり、うまく1解が取れたところで検査は終了しました。しかし、
本当にこれでよいか?
■ このスレッドは過去ログ倉庫に格納されています