prolog

    0

    1答えて

    私はuniのタスクの例としていくつかのコードを受け取りました。私は彼らの例を実行しようとしているので、必要なものと同様のものを作るための実例を見ることができます。私はそこにあるエラーのほとんどを修正しましたが( " - >"ではなく " - >")、それでもエラーメッセージが表示されます。 example.pl:4:0: Syntax error: Operator expected % exa

    1

    1答えて

    次の問題があります。キューブをテーブルに作成するタワーがいくつかあります。 a b d c e ------------------- <- table 今、私はこの1つのように、別の状況にキューブを移動したい: c e a b d ------------------- のPrologプログラムは、例えば、このような状況を取得するための手順を印

    2

    1答えて

    私はゲームにAIを書き込む問題があります(トロンのライトサイクルなど)。 ncursesを使ってCですべてのグラフィックと動きを書きます。 プロローグにボットのAIを書き込む必要があります。私はswiプロローグを使用しています。 現在のゲームフィールド(すべてのマトリックス)、現在の人間の位置、現在のボットの位置(マトリックスセルi、jなど)を保存します。彼らはcからの.plファイルのような述語を

    0

    1答えて

    私はプロログでこのパリindロムプログラムを試していましたが、ロジックは動作しますが、書き込み操作は機能しません。だから、コードの問題は何ですか? (リスト1、リスト2)、 、比較する(リスト1、リスト2)。 findrev([],List1,List1). findrev([X|Tail],List1,List2):- findrev(Tail,[X|List1],List2).

    0

    1答えて

    私はset_value_in_arrayという規則を持っています。 彼はValによってArray [J]に値を返します。 set_value_in_array([], _, _, _, _). set_value_in_array([Head | Array], Val, J, AccJ, NewArray) :- AccJ = J, NewAccJ is AccJ + 1,

    1

    1答えて

    誰もがこの問題を解決する方法を知っています counts式内の演算子の出現回数をカウントします。たとえば、クエリ: ?- count(a+b*c-(2+3*4)/(5*(2+a)+(b+c)^f((d-e)*(x-y))), *, C). はC上の最初の引数と出力として与えられた式の演算子*の出現回数をカウントします 私はSWI-プロローグ

    0

    1答えて

    値を取得する方法: pos(10, 20). は、どのように私は最初のPOS項(10)を返します述語を書くことができます。仕事の get_pos_x(Pos) :- % should return the first pos param(10). 例: get_pos_x(pos(10,20)) :- % should write 10.

    1

    1答えて

    - 私はいくつかの条件があります: moves(1, [1]). moves(1, [2]). moves(1, [3]). は、どのように私は次の言葉を得ることができますか? moves(1, [1,2,3]). % I have moves(1, [1]). moves(1, [2]). moves(1, [3]). % I need to wri

    20

    2答えて

    ビジュアルプロローグの「等しくない」サインのドキュメントが見つかりません。この問題の適切な解決方法をご提供ください: class predicates sister : (string Person, string Sister) nondeterm(o,o). clauses sister(Person, Sister) :- Person [no

    7

    4答えて

    私はPrologの組み込み関数を使わずにPrologでfindallのバージョンを実装することを任されています。 私は私がこれまで持っていることであるリスト内のすべての直接の子孫のツリーを検索し、結果を返すために parent(a, b). parent(b, c). parent(b, d). parent(e, d). をしようとしている: find(X, L) :- find2(X