logical-purity

    3

    1答えて

    私はPrologに技術的に '返品'がないことを知っていますが、そうでなければ質問を策定する方法を知りませんでした。 メトロステーション間のルートを見つけるためのアルゴリズムのサンプルコードが見つかりました。それはうまく動作しますが、結果を印刷して拡張するのが難しくなるか、例えばfindall/3を実行することになっています。 % direct routes findRoute(X,Y,Line

    5

    1答えて

    良いプロローグを書くために習得しなければならない設計ヒューリスティックは何ですか?私はPrologに熟達するには2年ほど経験豊富なプログラマーが必要だと聞きました。効果的に再帰を使用することもできますが、それは比較的小さなハードルのようです。プログラマーに大きなトラブルを与えるのはどういうことでしょうか?品質を判断するためにサンプルコードで何を探していますか?

    3

    2答えて

    リスト要素の連続する重複を除去する。 このため私のソリューションは、次のとおりです。 compress([X,X|Xs], Q) :- compress([X|Xs], Q). compress([X,Y|Xs], Q) :- X \= Y, compress([Y|Xs], QR), append([X], QR, Q). compress([X|[]

    8

    2答えて

    不純なプリミティブを使用しPrologの述語の純度が、その使用は、彼らが不純使用すべてのプログラムを作るのですか? 私は次の述語plus/3を書いています。それは純粋なものか、少なくとも私が主張しているものと同じように動作します。述語は実証的であり、効率的であるようには設計されていない。 % nat(X) is true if X is a natural number nat(0). na

    4

    1答えて

    質問:チェックアウトできるプログラムがある場所はありますか?私はロゼッタのコードスタイルを話していますが、私はそこに行って、ほとんどすべてのプログラムが私の研究要件のために私を助けない非純粋なプロログ構文(カットを使用して、そのタイプのものを使用して)で解決されることを見ました。 どのような情報源がありますか?私は設定された場所などの要素を挿入するような小さなプログラムを話している、私は私が物事を

    5

    2答えて

    私はPrologの学習を始めています。整数を指定したプログラムが必要ですPはAとBのようにP = A² + B²という整数に与えます。この式を満たすAとBの値が存在しない場合、falseたとえば を返さなければならない:P = 5場合1² + 2² = 5ので、A = 1及びB = 2(又はA = 2とB = 1)を与えるべきです。 私は、これは動作するはずです考えていた。 giveSum(P,