visual_prolog編程

visual_prolog編程

ID:20661138

大小:1.14 MB

頁數(shù):149頁

時間:2018-10-14

visual_prolog編程_第1頁
visual_prolog編程_第2頁
visual_prolog編程_第3頁
visual_prolog編程_第4頁
visual_prolog編程_第5頁
資源描述:

《visual_prolog編程》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫

1、第7章VisualProlog編程本章介紹基于VisualProlog編程方面的知識,主要內容包括VisualProlog基礎、VisualProlog的GUI編程、VisualProlog的邏輯層、VisualProlog的數(shù)據(jù)層。第7章VisualProlog編程7.1VisualProlog基礎7.2VisualProlog的GUI編程7.3VisualProlog的邏輯層7.4VisualProlog的數(shù)據(jù)層本章小結與習題7.1VisualProlog基礎傳統(tǒng)的Prolog與VisualProlog6之間的差別主要體現(xiàn)在如下幾

2、個方面:1)程序結構很明顯,傳統(tǒng)Prolog中所使用的結構與VisualProlog6中使用的結構,在理解的難易程度方面不同。主要包括如何規(guī)劃來自定義(definitions)的聲明(declarations),以及如何簡要地說明程序必須使用指定關鍵字(keywords)進行查找的主目標Goal。2)文件考慮VisualProlog6提供了各種工具,以便將程序結構組織成不同類型的文件。3)作用域訪問VisualProlog6可以挑選在其他模塊中通過使用稱為作用域標識(Scopeidentification)的概念而開發(fā)出來的功能。4)

3、面向對象VisualProlog6程序可以編寫成面向對象的程序,使用標準的面向對象特性。7.1VisualProlog基礎7.1.1程序結構7.1.2目標Goal7.1.3文件考慮7.1.4作用域訪問7.1.5面向對象7.1.6一個完整的例子:family1.prj67.1.7程序的取舍7.1.8小結7.1.1程序結構VisualProlog的程序,從結構上講,主要包括若干個段,即論域段、謂詞段、子句段、目標段等。VisualProlog作為強類型的編譯型語言,通常用論域段和謂詞段來給出有關的聲明或定義。7.1.1.1聲明與定義聲明(

4、Declaration)與定義(Definition)有著不同的含義。在Prolog中,當需要使用一個謂詞的時候,就可以直接使用,無需事先向Prolog推理機做任何的通告。例如,在前面的例子中,grandFather謂詞的子句就是利用傳統(tǒng)的Prolog的謂詞頭和謂詞體結構直接寫下來的。我們不用在代碼中再告知推理機這個謂詞結構是后面需要使用的。類似地,當在傳統(tǒng)的Prolog中使用一個復合論域時,無須首先告誡Prolog推理機關于使用該論域有何意圖。只要感到需要,就可以直接使用一個論域。然而,在VisualProlog6中,在編寫一個謂詞

5、的子句體代碼之前,我們必須首先對編譯器聲明這樣一個謂詞的存在。類似地,在使用任何論域之前,也必須先進行聲明,以便將這些論域的存在告知編譯器。7.1.1.1聲明與定義在VisualProlog6中需要這種預先告知功能的原因本質上是為了保證將運行時間異常(runningexceptions)盡可能地轉變?yōu)榫幾g時間錯誤(compiletimeerrors)。對于“運行時間異?!?,我們指的是只在運行所編譯的程序期間出現(xiàn)的問題。例如,如果我們想使用一個整數(shù)作為一個函數(shù)的參數(shù),但是卻錯誤地使用了實數(shù),這就會成為一個運行錯誤(這大都出現(xiàn)在使用其他編

6、譯器的程序中,但不是在VisualProlog6中),程序就會因此而失敗。當聲明已定義的謂詞和論域時,這類位置語法,即哪一個參變量屬于哪一個論域,就會對編譯器起作用。因此,當VisualProlog6執(zhí)行編譯時,它將比較徹底的檢查程序,以發(fā)現(xiàn)諸如此類的語法錯誤及其它錯誤。7.1.1.1聲明與定義由于VisualProlog6的這些特性,整個程序的效率因此提高了。程序員不必等到程序實際執(zhí)行時才發(fā)現(xiàn)錯誤。事實上,對于實際編寫程序的人,將體會到這大大地節(jié)約了時間。通常,運行時導致發(fā)生運行時間異常的條件如此難以捉摸,以致于錯誤可能會在很多年后

7、才被發(fā)現(xiàn),或者會在許多特別重要的情況或令人尷尬的場合表現(xiàn)出來。所有這些表明,編碼中存在的論域和謂詞要在定義前給出合適的聲明,以給編譯器詳盡的指示。7.1.1.2關鍵字一個VisualProlog6的程序包括一組被標點分為不同部分的代碼,由特定的關鍵字告訴編譯程序所要生成的類型。例如,關鍵字可以將謂詞和論域的定義和聲明區(qū)分開。通常,每一部分由一關鍵字開始,在每一部分結束時,一般沒有關鍵字指示。新的關鍵字的出現(xiàn)表明前一部分的結束和下一部分的開始。對這一規(guī)則的例外是關鍵字“implement”和“endimplement”,在這兩個關鍵字中

8、間的代碼表示它們屬于一個特殊的類。若有人不懂類的概念,可以把它看作程序的一個模塊或一個部分。在本節(jié)中,我們將只介紹下述關鍵字。同樣我們給出了這些關鍵字的用途,具體的句法可以從文檔資料中學到。VisualProlog6中還

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。