dcg

    3

    2答えて

    Prologのリストのリストからすべての要素を取得することは可能ですか? 次のようなものがあります。getElements([[a、b、[c]]、d、e]、f、g、[h、[i、j]]]、S) S = [a、b、c、d、e、f、g、h、i、j] ... ありがとうございます。 SWI-Prologの(そしておそらく他の人)で

    2

    3答えて

    私はPrologの述語iscontained/2作るしようとしている:iscontained(List, Search)ない場合Searchが与えられList、false.内にリストされている場合、それはtrue.を返します。そして、それが入力された変数であれば、それはリストの各要素に等しいことを返します。 例:あなたがそれを行うための簡単な方法を知っている限り ?- iscontained([a

    3

    3答えて

    ツリーをリストに変更する方法について、別の投稿で他の人のコメントからの提案を試みました。しかし、私は宣言されていない変数をどこか(または何か)持っているので、私のリストの値は正解である[5、2、6]の代わりに[_G667、_G673、_G679]です。私の知る限り、すべての操作は正しい。 flatten(Item , []). flatten(tree(Left, Val, Right), L

    0

    1答えて

    でabstracツリーを作成するには、いくつかのgrammaのウィッヒは*は括弧内leafや木のカップルは息子たちは、括弧内の樹木ですルートを記述する意味ツリー <tree> -> * <tree> -> (<tree><tree>) を表しています。 iその文法をdcgに書き直して、そのツリーのabstracツリーを作成する意味アクションを追加する必要があります。leaf/0とnode/2

    3

    1答えて

    私は、ユーザーからの単語を読む必要があると2つのいずれかのルールに基づいて音節 に分割:母音・子音・母音、または 母音consonant-子音 - 母音。 述語 "名前"が機能しない、出力ではなく、リストでなければならないように見える 助けてもらえますか?入力を処理するとき vowel(a). vowel(e). vowel(i). vowel(o). vowel(u). vowel(y

    1

    1答えて

    ツリーをとり、リストのリストを返す述語(Prolog)を作成したいと思います。各リストはツリーパスです。ツリーは tree(Root、LeftTree、RightTree)と定義されています。 提案はありますか?

    1

    3答えて

    2次元リストxを表すリストがあります。あなたは以下の例でわかるように、このテーブルには、1の2つの「スポット」を含んでいます xxxxxxxxxxxxxxxx xx1111xxxx111xxx xxx1111xxxx11xxx x1111xxxxxx111xx 私は以下の例のように1から2への唯一の二箇所を変更する必要があります。 xxxxxxxxxxxxxxxx xx1111xxxx

    1

    1答えて

    私はプロローグに助けが必要です。これはかなり新しいものです。私は小さな算術計算機を設計しなければならない。評価される式は、例えば、リストとして表現されます。 ?-evaluate([2,+,4,*,5,+,1,*,2,*,3],R). 私は例えば、私のリストを変換するために、構文解析と呼ばれる2つの述部1を設計することにより、これを行うにしようとしています: ?-parse([1,+,2,*,

    0

    1答えて

    "if-then-else"文を解析するためにProlog DCGを使用できますか?もしそうなら、私は特定の "if" then "else"文字列と一致しなければならないとすれば、どのようにそのような文を解析しますか?これが不可能な場合は、私の選択肢は何ですか?

    4

    2答えて

    を示しています私は、プロローグ(SWI)のための私の宿題に取り組んでいるが、これを成し遂げる方法を見つけ出すことはできません。 私はファンクタを持っている: palindrome([]). palindrome([_]). palindrome([A|T]) :- append(Middle,[A],T), palindrome(Middle). は、指定されたリス