首先介紹乙個學習swi-prolog 和amzi-prolog很靠譜的中文**:
然後介紹一下我在學習時發現的prolog和其他程式語言的不同之處。
prolog是邏輯程式語言,在解決邏輯推理問題是有很明顯的優勢。
它的解決問題的策略是基於列舉法的,所以返回結果很可能不唯一。
進行prolog程式設計時重要的是把問題描述清楚,這樣才能得到乙個有效的解決方案。
swi-prolog:
amzi-prolog:
最後開始我的學習筆記。
1 prolog 引數型別
整數: 絕對值小於某乙個數的正數或負數。
原子: 通常是字母和數字組成,開頭的字元必須是小寫字母。例如: 'hello tt' hello
變數: 由大寫字母或下劃線_開頭。例如:x _x
結構: 例如列表[a|b], [ ].
2 資料型別
整形,浮點型,字串
3 簡單的語法部分
知識表達:
以上為知識庫的內容用notepad以xx.pl的形式儲存起來,執行swiprolog裡的consult命令,然後就可以對知識庫進行提問了。
詢問語句
簡單查詢
?- room(x). %單變數
?-location(thing, kitchen). %固定乙個變數
?- location(thing, place). %兩個變數
關聯查詢
?- location(x, kitchen), edible(x). %廚房裡有什麼是可以吃的
?- door(kitchen,r),location(t,r). %和廚房相連的房間裡有什麼
運用內部的函式查詢
?- location(x,kitchen),write(x),nl,fail.
%write() %顯示查詢結果
%nl %換行,輸出乙個回車鍵
注意prolog子句中的變數全部都是區域性變數
prolog中沒有全域性變數
asserts和retracts就是控制這些全域性資料的工具
prolog的變數是沒有資料型別之分的
LESS學習筆記 入門
今天在網上完成了less的基礎學習,下面是我的學習筆記。總共有三個檔案 index.html main.less mian.css,其中mian.css是main.less經過koala編譯之後自動生成的。下面是 index.html mian.less charset utf 8 body div...
Yii學習筆記(入門)
use yii db activerecord class a extends activerecord hello,i am only page.1 初始化應用 訪問http localhost basic web index.php,進入yii的啟動頁面。如果提示你未安裝openssl的話,去你...
hightopo學習筆記 入門
ht是基於html5標準的企業應用圖形介面一站式解決方案,其包含通用元件 拓撲元件和3d渲染引擎等豐富的圖形介面開發類庫,提供了完全基於html5的向量編輯器 拓撲編輯器及 3d場景編輯器等多套視覺化設計工具,和完善的類庫開發手冊 工具使用手冊 及針對html5技術如何進行大規模團隊開發的客戶深度培...