prolog

    1

    1答えて

    リストのリストから要素のフォームを削除しようとしています。これは私がやろうとしているものの例である: List=[[1,2],[1,3],[4,2]] Max=2 delete(List,[_|Max],List2) List2=[[1,3]] は説明:そうList与えられた私は、そのサブリスト内の第二の要素としてMaxを持つすべての要素を削除するには、削除/ 3を使用しようとしています

    0

    1答えて

    データベースの述語PredicateSymbol/Arityの順序を逆にする規則invert(+PredicateSymbol, +Arity)を実装しました。例えば :後 vote(john, ['A'-7, 'B'-9, 'C'-6]). vote(jack, ['A'-8, 'B'-8, 'C'-7]). vote(peter, ['C'-4, 'D'-7, 'E'-3]). vote

    2

    1答えて

    これは宿題の問題ですが、私は単純な質問に答えるだけです。私は騎士がその位置からチェス盤に飛びつく可能性のあるすべての方法を印刷することになっています。正しい数値が得られていますが、正しい出力が得られないようです。たとえば: ?- knight(8,1,R,C) は、次のように出力をプリントアウトすることになっている: C = 3 R = 7; C = 2 R = 6; しかし、私はの

    0

    1答えて

    私は迷路を与えられ、開いている隣人(文字 'g'または ' - 'を持つ隣接スポット)の数を調べようとしています。 openNeighbors(Maze,(R,C),Answer):- openCount(Maze,(R-1,C),Up), openCount(Maze,(R+1,C),Down), openCount(Maze,(R,C-1),Left), openCount(Maze,

    0

    1答えて

    私は、この事実またはデータベースをプロローグに入れて、教育が同じかそれよりも低いかどうかを確認します。例えば高校< = highschoolは真で高校です< = phdも真ですが、マスターは< = highschoolはfalseです。 edu_less(high_school, bachelor). edu_less(bachelor, masters). edu_less(masters,

    0

    1答えて

    これは単純な/基本的な問題かもしれませんが、私はロジックを掴むのに苦労しています。 再帰を使用してリストの長さを計算します。 この問題のリスト[a、b、c、d]があるとします。 私たちは、以下に見られるように、基本節と再帰節を持っています。 基本句は、最も基本的な問題(この場合は空のリスト)を常に扱います。再帰句は、リストのサイズN-1の問題を解決しようとします。今 listLength([],0

    0

    1答えて

    これまでにごめんなさい、これを投稿するのは初めてです。このリストを各アクションを通して繰り返し取得し、リストアイテムを訪問したままにして、状態が変更されるリストにはありません。私はこれが期待どおりに機能しない理由を見つけ出す必要があります。結果は7,0,0,0,0,4,7.4となり、チェックはこのプログラムの1回の実行で同じ4つの結果を示すようです無作為にそれらのうちの1つを吐き出すことは、あなた

    1

    2答えて

    私はこのようなマトリックスを持っていると、リストに行列を変換します [[0,0,0],[1,0,0],[0,0,1],[1,0,0],[0,1,0],[0,0,0],[0,1,0],[0,1,0],[0,0,0]] と私は行が[0,0,0]ないときにインデックスを保存し、リストを必要としています。 だから私の例の結果は次のようになります。 [2,3,4,5,7,8] 私は実際にそれがどのよ

    4

    3答えて

    プロローグの新機能で、要素を任意の位置にリストに挿入できるすべてのオプションを与える述語を作成しようとしました。 例: インins(a, [b,c], R).を与える必要があります:それはありませんが、その後、 'グローバルスタック外' というエラーになる R = [a,b,c] R = [b,a,c] R = [b,c,a] 。これをより決定論的にし、結果を与え、実行する方法はありますか

    0

    2答えて

    Prologは素晴らしい言語です。私はときどき時折使用します。 しかし、それ以降のすべての時間にそれに近づくと、私は文法的にはそれほど快適ではないと感じます。彼らは推測することができる、またはそれらの名前が単なるプレースホルダである場合に 近代的なプログラミング言語が プログラマを許可するように移動少ない 自分自身を繰り返しているが、不要な部分を省略します。 DCG一代わり sentence(A,