问题标签 [gnu-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.
prolog - Prolog中的(in)方程系统的意外结果
我正在使用 GNU Prolog。如果我问:
我得到:
但是,由于 Y!=2 和 X=Y+1,我也期望 X!=3。
这种行为是由于什么原因造成的?
prolog - 在 Gnu Prolog 中通过布尔 OR 组合两个事实
我对 Prolog 完全陌生。所以请原谅这个可能非常简单的问题:我有一些事实,比如
在一个文件中likes.pl
。现在我正在尝试检查是否paul
喜欢cars
和 bikes
,所以我尝试了 GNU Prolog 的 REPL:
但我得到“未捕获的异常:...”。显然我做错了什么。- 如何在 GNU Prolog 中将两个事实与 AND 结合起来?
prolog - 使用 Bash 脚本自动测试 Prolog 文件
我正在为学生作业评分,并希望自动在学生数据库上运行查询,并将这些查询的结果打印到文件中。我遇到的问题是我希望运行多个查询,但找不到一种方法来添加我希望作为命令行参数的所有查询。
相关文件
学生提交 Prolog 文件:
我无法向您展示这段代码,但学生们必须使用 Prolog 解决 4 个问题,并且我可以访问这些文件。
hw4_autograde.sh
注意:编译器已更改为 SWI-prolog,而不是 gprolog。
testcases.txt
: 这些是我希望运行的测试用例。它们包括对学生解决的 4 条规则/“功能”的各种调用。
我能够创建并附加到输出文件,但我需要先让我的 bash 脚本工作,然后可以添加所需的代码来做到这一点。任何帮助或正确方向的观点都是最有帮助的。
我试图仔细检查这篇文章,但我很难让它发挥作用:
https://lists.gnu.org/archive/html/users-prolog/2013-12/msg00004.html
谢谢你。
编辑:
Paulo Moura 在评论中描述的解决方案解决了这个问题,但是,在使用 logtalk 测试器时,我遇到了在提交中的子目录中使用多个 prolog 文件的问题。我曾经在学生文件正常工作的情况下获得输出,但现在所有测试都说崩溃了,当我过去通过或失败时:这是我当前运行时得到的屏幕截图logtalk_tester -p swi -t 60
:
以下是学生子目录中内容的屏幕截图:
这里是tests.lgt
:
这是tester.lgt
prolog - 在 GNU Prolog 中编译之前的术语扩展
给定以下指令+谓词元组:
我如何告诉gplc
将此代码转换为
在编译之前?old_payload
可以递归定义。
prolog - 如何从 SWI-Prolog 中的 tuples_in/2 转换为 GNU Prolog 中的 fd_relation/2?
以下示例代码使用 SWI-Prolog
Gnu Prolog 有一个内置的 clp(fd) 求解器。语法基本相同,但我们不需要包含库,并且 tuples_in/2 谓词由 GNU Prolog 谓词 fd_relation/2 处理。
这不会像写的那样工作,因为 fd_relation/2 需要一个变量列表。我得到一个 type_error(fd_variable),大概是因为 Ps 是一个 var 列表。
显示的示例应该产生这个
在 GNU Prolog 中如何实现呢?
prolog - Prolog 如何在 pl 文件中使用 get_code
我想打印一个字符的 ASCII 值。我正在使用 GNU 序言。
我在 1 小时内尝试的一切都没有奏效。所以我来到这里,我看到了这个帖子:Prolog - get_code/1 without prompt
但是,对于输入中的每个字符,它写 10。这是我的代码:
事实上,我的目标是取一个 ASCII 字符的值,然后将大写字母转换为小写字母。我需要获取 tha ascii 值,然后添加 32 以获得 lower_case 值。
prolog - 如何使用 fd 求解器确定列表中的哪些元素可以求和为给定数字?
给定一个可能的和数列表,我想确定哪些(如果有的话)可以形成一个给定的总和。例如,使用 [1,2,3,4,5],我可以将 9 与 [4,5]、[5,3,1] 和 [4,3,2] 相加。我正在使用 GNU Prolog 并且有类似以下的东西不起作用
我认为主要问题是我没有正确表示对总和的约束?或者也许是别的东西?
prolog - 未捕获的异常:错误(实例化错误,(是)/ 2)
我正在制作一个程序来识别字符串中是否只有字母和空格,但它给了我一个错误,我无法解决它。
未捕获的异常:错误(实例化错误,(是)/ 2)
我认为错误仍然存在于 validazione_lista 但我无法解决它。
prolog - GNU PROLOG 中的最短路径
需要PROLOG的帮助,如果有人可以指导任何问题: 介绍:我有一个供水网络,两个水源(河流和湖泊)。三个存储库。三个自动采样站。
我将原始数据转换为 PROLOG 信息。
现在我需要写下一段代码来找到以下内容:
1.每个点的水源是什么 - 河流或湖泊(假设水源最近)。用户输入点数。答案是水的来源。
从每个点到每个源的最短路线是什么。用户输入点数。答案是两个列表。
从水源到每个点的总消耗量是多少。用户输入点数。答案是总消费。
假设从监测站收到水质警报,应在供水处停止哪些节点。