问题标签 [b-prolog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
262 浏览

prolog - 在 BProlog 上运行 CG 图形?

我最近安装了 B-pr​​olog 并从这里尝试了 CG 图形示例http://www.probp.com/

根据他们的手册,我已经在 C:/ 驱动器中安装了 B prolog,并且正确编译但没有执行它们。

这是 cuba.pl

每当我尝试运行时,我都会收到此错误?

这里有什么问题?

0 投票
1 回答
141 浏览

prolog - 如何从 C 程序调用 BProlog 目标?

BProlog 的文档提到:“B-Prolog 与 C 有一个双向接口,通过它 Prolog 程序可以调用用 C 编写的函数,C 程序也可以调用 Prolog。使用该接口的 C 程序必须包含该文件” bprolog.h”在 $BPDIR/Emulator 目录中。” 我找不到 bprolog.h,也找不到要链接的库。这些文件是否仅适用于个人许可证?

0 投票
1 回答
2307 浏览

prolog - 我可以在谓词中使用变量的 subtitude 函子吗

我是 prolog 的新手,并且正在使用 BProlog。

我一直在阅读一些示例程序来对一组相关数据执行查询。但是为了从结构相似的事实中推断,他们写了很多谓词,如search_by_name, search_by_point,这些谓词部分重复。

当我尝试用更通用的版本替换它们时:

出现错误:

我是不是做错了,或者在序言中这种替代是不可能的?

代码和示例数据可以在https://gist.github.com/2426119找到

0 投票
1 回答
156 浏览

prolog - 从 B-Prolog 中的 stdio 读取数字

从标准输入中读取 B-Prolog 中的一个数字或几个以空格分隔的数字(不跟句号)的最简单方法是什么?

例如,对于 EcliPse,我编写了这些简单的谓词(我不需要错误处理):

但是为 B-Prolog 写这样的东西对我来说看起来过于复杂 - 没有 read_token 或 split_string ......

这种平凡的任务有简单的方法吗?也许我忽略了一些标准谓词?

0 投票
3 回答
4037 浏览

prolog - Prolog无限循环

这是一个应该找出谁与 john 兼容的程序。我是 Prolog 的新手。为了让Prolog知道例如。met(X,Y) = met (Y,X) 已经写了很多代码。现在当我开始查询时

它进入无限循环......

源代码:

我一直在研究这么多,但我仍然不明白问题是什么以及如何解决它。能帮助我对我来说太好了。

0 投票
2 回答
130 浏览

prolog - B-Prolog 中的表格模式和回溯

考虑程序:

我预计结果cost(I, C).是 I = 1, C = 0; I = 2, C = 1 - 所有可能的输入参数以及相应的最小结果。

但我只得到一个:

但是,如果我明确指出输入参数的所有可能性,我会得到我想要的:

是否可以在不显式枚举所有可能输入的情况下获得具有相应最小结果的输入参数的所有组合?

0 投票
1 回答
313 浏览

prolog - Prolog for 循环语法错误

我正在尝试制作类似于扫雷的游戏,我需要检查地图中正方形的邻居,但我的 for 循环出现语法错误,我正在使用 SWI-Prolog

我没有声明循环吗?或者我如何在 X-1 和 X+1 之间循环?

0 投票
2 回答
451 浏览

prolog - B-Prolog 中带有累加器的嵌套循环

B-Prolog 有逻辑循环。例如,这就是我们如何计算 [1,2,3] 的总和:

但是当我尝试两个带有累加器的嵌套循环时,我得到了错误:

另一个变体,在外循环的局部变量列表中不包括 Sb:

甚至可以在 B-Prolog 中使用带有累加器的嵌套循环吗?

我的 B-Prolog 版本是 8.0#1。

0 投票
5 回答
302 浏览

prolog - Prolog:将数字附加到术语

是否可以直接将数字附加到术语?

即,我可以轻松地做这样的事情:

但是有没有办法(操作员?)在C = A + B“C = 1+23”中指定一些东西而不是“+”?

我觉得我在要求一些奇怪的东西,所以这里是上下文。我有一个数字列表,我想生成可以通过在数字之间放置“+”、“-”或任何内容来获得的所有表达式。

优点和缺点很简单:

但我也想得到“E = 12+3”、“E = 1+23”和“E = 123”。有没有简单的方法来做到这一点?

更新:该解决方案应该是可移植的,或者至少可以在 B-Prolog 中工作。

0 投票
1 回答
1002 浏览

java - 8皇后拼图Netbeans(java)图形界面+SWI prolog

我找到了一个解决方案,仅在 Bprolog 上,并寻求帮助如何由 JPL 在 SWI PROLOG 上翻译它?或者,也许您可​​以使用 jpl 库为我提供解决方案