问题标签 [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 投票
3 回答
42633 浏览

prolog - Prolog 中的 \+ 是什么意思?

我在这里看到了一些使用它的答案,但我不知道它的含义或如何使用它。我也很难通过搜索引擎找到它:)

0 投票
1 回答
1808 浏览

math - Prolog解析后缀数学表达式

我自己解决了这个问题。当我的作业过期时,我会发布解决方案。

好的,我将构建一个解析器或评估器。使用前缀表示法解析时的事实标准是仅使用堆栈。如果输入是数字,则添加到堆栈中,如果是运算符,则可以弹出两次应用运算符并将结果放回堆栈。

这里的堆栈将是一个列表,所以我需要知道如何应用运算符。输入将是一个字符串。“(11+2*)” 这将是 1+1=2*2=4。首先它将读取 1 和 1 到堆栈。读取另一个 1 并将其添加到堆栈中。现在它读取“+”,因此它从堆栈中删除(pop)两次并应用+并将结果放回。读取 2,将 2 放入堆栈。阅读*,弹出两次并应用*。

希望这是有道理的。谓词会是什么样子?我需要一个用于输入字符串的变量,一个用于维护堆栈,一个用于结果?三?

我特别想知道堆栈上的推送和弹出以及从输入字符串中删除。

0 投票
1 回答
730 浏览

prolog - Prolog之谜(c,[a,b,c,d],Z)

我认为答案是 3,但我不确定,谁能提供一些帮助?

假设在 Prolog 中输入以下两条语句:

如果给它以下目标,Prolog 会返回什么?

0 投票
2 回答
1074 浏览

prolog - Prolog中非基础事实的使用?

在 Prolog 中,您可以将基本事实编写为:

您还可以将非基础事实写为:

这有什么意义吗?你能给我看一个使用非基本事实的实际/真实例子吗?

谢谢,

0 投票
3 回答
830 浏览

prolog - prolog 在方法中被截断

我有一个问题想问你一些关于代码片段的问题:

该函数非常清楚地将一个项目添加到优先级队列中。我遇到的问题是第一行中的切断运算符。大概每当调用到达这行代码时,这是查询的唯一可能解决方案,并且函数调用将简单地展开(或者它结束了?),没有必要回溯并搜索另一个解决方案询问。

所以这里的切断是多余的。我的推论正确吗?

0 投票
3 回答
560 浏览

list - Prolog IntList 定义

如果 IntList 由单调递增的 > 整数和后跟单调递减的整数组成,则 hill(+IntList) 成功。例如,>[1,2,5,8,11,6,3,-1] 是小山,但 [1,2,5,8,11,6,9,3,-1] 和 [1 ,2,3,4,5,6] >不是山丘。您可以假设 IntList 仅包含整数。

这是我到目前为止所做的:

但这不起作用。逻辑是:一个数字列表是hillIF 它是increasing然后decreasing。我怎么说?此代码执行increasingand decreasing,但没有列表可以同时是increasingand decreasing

有任何想法吗?

0 投票
2 回答
1520 浏览

prolog - Prolog中的帕斯卡三角形

我已经编写了一个函数,用于在给定当前行的情况下返回帕斯卡三角形中的下一行:

我希望能够找到三角形中的第 n 行,例如pascal(5,Row), Row=[1,5,1,0,1,0,5,1]。我有这个:

显然Row应该是之前发现的最后一个n==0。我该如何退货?我尝试使用is关键字,即Row is NR,但这显然是不允许的。有什么帮助吗?


尝试is在列表上使用让我:

0 投票
3 回答
2410 浏览

prolog - 序言帕斯卡三角形

嗨,有没有人知道当我要求时我该怎么做帕斯卡第 n 行:?帕斯卡(2,行)。我得到 Row=[1,2,1] ??

请帮我

0 投票
4 回答
39604 浏览

list - 将成员谓词实现为单行

面试题!

这是您通常member在 Prolog 中定义关系的方式:

仅使用一个规则来定义它。

0 投票
5 回答
10047 浏览

list - 如何确定两个列表在序言中是否具有相同的元素?

如何确定两个列表在序言中是否具有相同的元素?如果我有两个列表 A 和 B,我想知道它们是否具有相同的元素。