fork download
  1. % 商品データ
  2. product(item1, 3000, 4.8, 20).
  3. product(item2, 1800, 4.2, 200).
  4. product(item3, 5000, 4.9, 5).
  5. product(item4, 2500, 4.5, 80).
  6.  
  7. % おすすめの定義
  8. recommended(Item) :-
  9. product(Item, _, Rating, Reviews),
  10. (Rating >= 4.5, Reviews >= 50 ; Rating >= 4.8).
  11.  
  12. % メインの処理(おすすめを表示する)
  13. main :-
  14. write('--- おすすめ商品リスト ---'), nl,
  15. recommended(Item),
  16. product(Item, Price, Rating, Reviews),
  17. format('商品名: ~w (価格: ~w円, 評価: ~w, レビュー数: ~w件)~n', [Item, Price, Rating, Reviews]),
  18. main :-
  19. nl, write('--- 以上がおすすめ商品です ---'), nl.
  20.  
  21. % プログラムの開始地点
  22. :- initialization(main).
Success #stdin #stdout #stderr 0.02s 7064KB
stdin
Standard input is empty
stdout
--- おすすめ商品リスト ---
商品名: item1 (価格: 3000円, 評価: 4.8, レビュー数: 20件)
商品名: item3 (価格: 5000円, 評価: 4.9, レビュー数: 5件)
商品名: item4 (価格: 2500円, 評価: 4.5, レビュー数: 80件)

--- 以上がおすすめ商品です ---
stderr
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? EOF: exit