このディレクトリの索引

# 例題の1つに、すべての製品を注文したすべての顧客の平均の売掛残高、および # すべての製品を注文していない顧客の平均の売掛残高を求めるといったものがありました。 % 単位節データベースを抽象するならば、 すべての製品を注文していない顧客の平均の売掛残高を求める(_すべての製品を注文していない顧客の平均の売掛残高) :- findall(_売掛残高,( すべての製品を注文していない顧客の売掛残高(_売掛残高)),_売掛残高ならび), 平均の売掛残高を求める(_売掛残高ならび,_すべての製品を注文していない顧客の平均の売掛残高). すべての製品を注文していない顧客の売掛残高(_売掛残高) :- すべての製品を注文していない顧客(_顧客), 売掛残高(_顧客,_売掛残高). すべての製品を注文していない顧客(_顧客) :- 顧客(_顧客), すべての製品を注文していない(_顧客). すべての製品を注文していない(_顧客) :- forall(商品(_商品),注文していない(_顧客,_商品)). 注文していない(_顧客,_商品) :- \+(注文(_顧客,_商品)). 平均の売掛残高を求める(_売掛残高ならび,_すべての製品を注文していない顧客の平均の売掛残高) :- 顧客数と売掛残高合計を得る(_売掛残高ならび,_顧客数,_売掛残高合計), 売掛残高合計と顧客数から平均売掛残高を求める(_売掛残高合計,_顧客数,_すべての製品を注文していない顧客の平均の売掛残高). 顧客数と売掛残高合計を得る(_売掛残高ならび,_顧客数,_売掛残高合計) :- length(_売掛残高ならび,_顧客数), sum_list(_売掛残高ならび,_売掛残高合計). 売掛残高合計と顧客数から平均売掛残高を求める(_売掛残高合計,_顧客数,_すべての製品を注文していない顧客の平均の売掛残高) :- _顧客数 > 0, _すべての製品を注文していない顧客の平均の売掛残高 is _売掛残高合計 / _顧客数.