首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >流模式中的参数数量错误

流模式中的参数数量错误
EN

Stack Overflow用户
提问于 2019-03-05 20:25:19
回答 1查看 118关注 0票数 1

所以我创建了这个简单的AI代码,我想在我的代码中添加一个简单的乘法数学,所以它是这样完成的

代码语言:javascript
运行
复制
domains
bonus = integer

predicates
crew_db(string, integer, string) - nondeterm (o,o,o)
absensi_crew(string, symbol) - nondeterm (o,o), (i,i)
posisi_terdaftar(string, symbol) - nondeterm (o,o), (i,i)
terima_gaji(string) - nondeterm (o,i,i,o)
tambah_bonus(bonus,bonus,bonus) - procedure (i,i,o)

clauses
crew_db("Muhammad", 18, "Bantaeng, 28 November 1998").
crew_db("Irvan", 20, "Bantaeng, 28 November 1998").
crew_db("Jaya", 21, "Bantaeng, 28 November 1998").

absensi_crew("Muhammad",aman).
absensi_crew("Irvan",aman).
absensi_crew("Jaya",tidak).

posisi_terdaftar("Muhammad",aktif).
posisi_terdaftar("Irvan",aktif).
posisi_terdaftar("Jaya",tidak).

terima_gaji(TesBebasTernyata):-
  crew_db(TesBebasTernyata,_,_),
  absensi_crew(TesBebasTernyata,aman),
  posisi_terdaftar(TesBebasTernyata,aktif).

tambah_bonus(A,B,Bonus):-
  Bonus=A*B.

goal
terima_gaji(Crew_Yang_Di_Gaji_Bulan_Ini),tambah_bonus(45000,2,Bonus).

当我检查我的Prolog的目标时,它失败了,并在流模式中显示错误的参数数量

EN

Stack Overflow用户

回答已采纳

发布于 2019-03-05 23:24:59

In子句

代码语言:javascript
运行
复制
terima_gaji(TesBebasTernyata):-
  crew_db(TesBebasTernyata,_,_),
  absensi_crew(TesBebasTernyata,aman),
  posisi_terdaftar(TesBebasTernyata,aktif).

你有

代码语言:javascript
运行
复制
crew_db(TesBebasTernyata,_,_)

但你的事实是

代码语言:javascript
运行
复制
crew_db("Muhammad", 18, "Bantaeng, 28 November 1998").
crew_db("Irvan", 20, "Bantaeng, 28 November 1998").
crew_db("Jaya", 21, "Bantaeng, 28 November 1998").

请注意,子句有三个参数位置,而事实有四个。

变化

代码语言:javascript
运行
复制
crew_db(TesBebasTernyata,_,_)

代码语言:javascript
运行
复制
crew_db(TesBebasTernyata,_,_,_)

因为我没有Visual Prolog,所以我不能用Visual Prolog测试这个答案。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55002786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档