17

私の会社はPrologで実行されているプロジェクトを持っており、それを学ぶ方法についていくつかのことを明らかにしたいと思います。私はPrologが違うことを知っています。他の言語と同じように学ぶべきではありません。

そうは言っても、私がまだPrologの本を手に入れていなかったという事実を考慮して、C / C ++を学ぶ方法でPrologを学ぶことができる本やオンラインリソースはありますか?main { }つまり、C / C ++で動作するためには、、、、などのプログラムの構造を知っている必要があり、loopsC /C++conditionsで基本的なプログラムの作成を開始するために使用できるものはbranchesほとんどありません。functions

ちょうどこの方法で私はPrologを学ぶことができます、そしてPrologでプログラムする方法のアイデアを私に与えるだけの本はありますか?(基本、ループ、条件の実装方法、プログラム構造、述語とは何か、使用方法、定義方法など)。

4

3 に答える 3

23

1 冊の本をお探しなら、 "The Art of Prolog"を強くお勧めします。

C/C++ などから Prolog に移行することは、プログラミング言語を学ぶだけの問題ではありません。プログラミングに対する考え方が全然違う

プロローグとは、コンピューターに質問(または、必要に応じて「クエリ」) を行うことです。計算は、コンピューターがあなたの質問に答えようとすることの副作用にすぎません。プロローグ プログラマーはこれらの用語で考えないため、ループや条件に相当する意味のあるものはありません。

優れた Prolog プログラムは、関数やクラスに編成された命令のリストではなく、解決しようとしている問題を再帰的なケースとサブ問題に分解した記述のように見えます。

Prolog を学習する最善の方法は、これまでのプログラミング経験をすべて脇に置いておくことです。実際に C と C++ について考えると、Prolog の習得と使用が難しくなります。初心者の心と、プログラマーというよりも代数学者のようなアプローチを採用するようにしてください。

于 2010-01-01T22:25:21.757 に答える
8

他の回答で言及されているPrologチュートリアルと教科書の補足として、この短いドキュメントをざっと見てみることをお勧めします。

命令型プログラマーのためのプロローグ

それはあなたが探しているものの一部だと思います。それはあなたにPrologを教えませんが、それはPrologを理解することへのギャップを埋めるのを助けます。それは経験豊富な非Prologプログラマーが理解するであろう用語を使用してPrologの基本を説明します。たとえば、Prologの制御構造、つまりシーケンス、選択、繰り返しを示します。ただし、Prologの学習をすでに開始していることを前提としています。

あなたがすでに知っていることに関して何か新しいことを理解したいなら、それは良いことです。ただし、この知識/理解を身に付ければ、Prolog構文でCコードを記述してしまうリスクがあります。幸運を!

于 2010-01-02T01:21:08.017 に答える
7

Learn Prolog Nowの何が問題になっていますか? この種の質問が尋ねられるたびに、通常はこれが一番の推奨事項になります。

必要な用語を正確に提供しない場合があります-「述語」(代わりに「ファクト、ルール、およびクエリ」を使用)または「ループ」(代わりに再帰を使用する方法を示しているだけ)についても言及していないと思います- -しかし、概念が明確になったら、用語を正しく理解することは、シンプル、迅速、簡単でなければならず、「Learn Prolog Now」は概念を明確にするのに良い仕事をしているようです.

于 2010-01-01T20:54:11.363 に答える