問題タブ [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 - プロローグ解析後置数式

私はこれを自分で解決しました。宿題の期日を過ぎたときに解決策を投稿します。

さて、私はパーサーまたはエバリュエーターを構築するつもりです。プレフィックス表記で解析するときの事実上の標準は、スタックを使用することです。入力が数値の場合はスタックに追加します。演算子の場合は、演算子を 2 回ポップして結果をスタックに戻すことができます。

ここでのスタックはリストになるため、演算子を適用する方法を知る必要があります。入力は文字列になります。"(11+2*)" これは 1+1=2*2=4 になります。最初に 1 を読み取り、スタックに 1 を読み取ります。別の 1 を読み取り、それをスタックに追加します。今度は "+" と表示されるので、スタックから 2 回削除 (ポップ) し、+ を適用して結果を戻します。2 を読み取り、スタックに 2 を置きます。*を読んで、2回ポップして適用*。

これが理にかなっていることを願っています。述語はどのようになりますか?入力文字列用に 1 つの変数、スタックを維持するために 1 つ、結果用に 1 つの変数が必要ですか? 三?

スタックでのプッシュとポップ、および入力文字列からの削除について特に疑問に思っています。

0 投票する
1 に答える
730 参照

prolog - プロローグの謎(c,[a,b,c,d],Z)

答えは3だと思いますが、よくわかりません。誰か助けてもらえますか?

次の 2 つのステートメントが Prolog に入力されたとします。

次に、次のゴールを与えた場合、Prolog は何を返しますか?

0 投票する
2 に答える
1074 参照

prolog - Prolog での根拠のない事実の使用?

Prolog では、グラウンド ファクトを次のように記述できます。

根拠のない事実を次のように書くこともできます。

これは意味がありますか?根拠のない事実が使用されている実用的/実際の例を教えていただけますか?

ありがとう、

0 投票する
3 に答える
830 参照

prolog - プロローグがメソッドで途切れる

コード スニペットについてお聞きしたいことがあります。

この関数は、アイテムをプライオリティ キューに明確に追加します。私が抱えている問題は、最初の行のカットオフ演算子です。おそらく、呼び出しがこのコード行に到達するたびに、これがクエリに対する唯一の可能な解決策であり、関数呼び出しは単純に巻き戻されます (または巻き上げられますか?)。後戻りして別の解決策を検索する必要はありません。クエリ。

したがって、ここでのこのカットオフは不要です。私の推論は正しいですか?

0 投票する
3 に答える
560 参照

list - PrologIntList定義

hill(+ IntList)は、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には整数のみが含まれていると想定できます。

これは私がこれまでに行ったことです:

しかし、これは機能しません。論理は次のとおりです。数値のリストは、そうである場合はhillそれ以降です。どう言うの?このコードはとを行いますが、リストをとの両方にすることはできません。increasingdecreasingincreasingdecreasingincreasingdecreasing

何か案は?

0 投票する
2 に答える
1520 参照

prolog - プロローグのパスカルの三角形

現在の行を指定して、パスカルの三角形の次の行を返す関数を作成しました。

pascal(5,Row)三角形のn 番目の行を見つけられるようにしたいです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で関係を定義する方法です。

1つのルールのみを使用して定義します。

0 投票する
5 に答える
10047 参照

list - プロローグで2つのリストが同じ要素を持っているかどうかを判断する方法は?

プロローグで2つのリストが同じ要素を持っているかどうかを判断する方法は? リストAとBの2つのリストがある場合、それらが同じ要素を持っているかどうかを知りたいです。