freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

prolog概述-全文預(yù)覽

  

【正文】 SortedTail),insert(H,SortedTail,Sortedlist).insert(X,[Y|Sortedlist],[Y|Sortedlist1]):ascorder(X,Y),!,insert(X,Sortedlist,Sortedlist1).insert(X,Sortedlist,[X|Sortedlist]).ascorder(X,Y):X。例如當(dāng)給目標(biāo):path(a,e).系統(tǒng)將回答:yes但當(dāng)給目標(biāo):path(e,a).時(shí),系統(tǒng)則回答:no如果給出目標(biāo):run. 且在程序中增加子句run:path(a,X),write(”X=“,X),nl,. 屏幕上將會(huì)輸出:X=bX=cX=dX=eX=dX=eX=e即從a出發(fā)到其他節(jié)點(diǎn)的全部路徑。通過(guò)這些程序,讀者可以進(jìn)一步體會(huì)和理解PROLOG程序的風(fēng)格和能力,也可以掌握一些基本的編程技巧。于是,由子句(2─5),這時(shí)則回溯到g11。因?yàn)槭?2─4′)中求解子目標(biāo)p(X)時(shí),X被約束到a,然后跳過(guò)“!”,但在求解子目標(biāo)q(a)時(shí)遇到麻煩,于是又回溯到“!”,而“!”阻止了對(duì)p(X)的下一個(gè)子句p(b)和r的下一個(gè)定義子句r(c)的訪問(wèn)。截?cái)嘀^詞的語(yǔ)法格式很簡(jiǎn)單,就是一個(gè)感嘆號(hào)“!”。print([]).print([H|T]):write(H),print(T). 表的倒置,即求一個(gè)表的逆序表。這個(gè)程序刻劃了兩個(gè)表與它們的拼接表之間的邏輯關(guān)系。例如,我們?nèi)”鞮為[a,b,c,d],取X為a,對(duì)上面的程序提出如下詢問(wèn):Goal:member(a,[a,b,c,d]).則有回答:yes同樣對(duì)于詢問(wèn):Goal:member(b,[a,b,c,d]).Goal:member(c,[a,b,c,d]).Goal:member(d,[a,b,c,d]).都有回答:yes但若詢問(wèn)Goal:member(e,[a,b,c,d]).則回答:no如果我們這樣詢問(wèn)Goal:member(X,[a,b,c,d]).意思是要證明存在這樣的X,它是該表的成員,這時(shí)系統(tǒng)返回X的值,即X=a如果需要的話,系統(tǒng)還會(huì)給出X的其他所有值。(2)如果X是L的尾部的成員,則X也就是L的成員。例如,表[X,Y,Z]與[a,b,c]合一后得X=a,Y=b,Z=c。例如寫法[X|Y,Z]就是錯(cuò)誤的。注意,此處H是一個(gè)元素(表中第一個(gè)元素),而T則是一個(gè)表(除第一個(gè)元素外的表中其余元素按原來(lái)順序組成的表)。表還有一個(gè)重要特點(diǎn),就是它可分為頭和尾兩部分。表的表述能力很強(qiáng),數(shù)字中的序列、集合,通常語(yǔ)言中的數(shù)組、記錄等均可用表來(lái)表示。注意,這里用了無(wú)名變量。Turbo PROLOG提供了三個(gè)動(dòng)態(tài)數(shù)據(jù)庫(kù)操作謂詞: asserta().assertz().retract().其中fact表示事實(shí)。因?yàn)閒ail是恒失敗,下面若無(wú)出口的話,將引起print本身的失敗。下面的程序段實(shí)現(xiàn)的則是不計(jì)數(shù)的DO循環(huán)。例如: Br :x0,x= :x=0,x= :xPROLOG可以實(shí)現(xiàn)計(jì)循環(huán)次數(shù)的FOR循環(huán),也可以實(shí)現(xiàn)不計(jì)循環(huán)次數(shù)的DO循環(huán)。PREDICATES student(integer,string,real)grade GOAL student(1,“張三”,).student(2,“李四”,).student(3,“王五”,).grade:write(“請(qǐng)輸入姓名:”),readln(Name), student(,Name,Score), nl,write(Name,“的成績(jī)是”,Score).grade:write(“對(duì)不起,找不到這個(gè)學(xué)生!”).grade:write(“對(duì)不起,找不到這個(gè)學(xué)生!”).下面是程序運(yùn)行時(shí)的屏幕顯示: 請(qǐng)輸入姓名: 王五。(6)nl換行謂詞。(4)readchar(X)。(2)readint(X)。 輸入與輸出雖然PROLOG能自動(dòng)輸出目標(biāo)子句中的變量的值,但這種輸出功能必定有限,往往不能滿足實(shí)際需要;另一方面,對(duì)通常大多數(shù)的程序來(lái)說(shuō),運(yùn)行時(shí)從鍵盤上輸入有關(guān)數(shù)據(jù)或信息也是必不可少的。而對(duì)于Goal:p(3,5,7).機(jī)器回答:no。這六個(gè)關(guān)系運(yùn)算符可用來(lái)比較兩個(gè)算術(shù)表達(dá)式的大小。例如:Y is X+5 或 Y=X+5(*)就使變量Y實(shí)例化為X+5的值(當(dāng)然X也必須經(jīng)已被某值實(shí)例化),可以看出,這里對(duì)變量Y的實(shí)例化方法類似于其他高級(jí)程序語(yǔ)言中的“賦值”,但又不同于賦值。例如:數(shù)學(xué)中的算術(shù)表達(dá)式PROLOG中的算術(shù)表達(dá)式x+yzX+Y*Zabc/dA*BC/Du mod vU mod V(表示求U除以V所得的余數(shù))即是說(shuō),Turbo PROLOG中算術(shù)表達(dá)式采用通常數(shù)學(xué)中使用的中綴形式。Turbo PROLOG提供了五種最基本的算術(shù)運(yùn)算:加、減、乘、除和取模,相應(yīng)運(yùn)算符號(hào)為+、*、/、mod。age(integer)predicatesp(rec)由上面的領(lǐng)域可知,Turbo PROLOG的常量有整數(shù)、實(shí)數(shù)、字符、串、符號(hào)、結(jié)構(gòu)、表和文件這八種數(shù)據(jù)類型。(c,[])))[a,b,c]表的說(shuō)明方法是在其組成元素的說(shuō)明符后加一個(gè)星號(hào)*。(a,這個(gè)結(jié)構(gòu)的函數(shù)名取決于具體的PROLOG版本。例如:name(“Li Ming”),age(20),sex(male),address(xi an)] [[1,2],[3,4,5],[6,7]]都是合法的表。不含任何元素的表稱為空表,記為[]。例如下面的謂詞likes(Tom,sports(football,basketball,tabletennis)).中的sports(football,basketball,tabletennis)就是一個(gè)結(jié)構(gòu),即復(fù)合對(duì)象。2)結(jié)構(gòu)結(jié)構(gòu)也稱復(fù)合對(duì)象,它是TurboPROLOG謂詞中的一種特殊的參量項(xiàng)(類似于謂詞邏輯中的函數(shù))。目標(biāo)段可以只有一個(gè)目標(biāo)謂詞,例如上面的例子中就只有一個(gè)目標(biāo)謂詞;也可以含有多個(gè)目標(biāo)謂詞,如:goalreadint(X),Y=X+3,write(“Y=”,Y).就有三個(gè)目標(biāo)謂詞。Turbo PROLOG的標(biāo)準(zhǔn)領(lǐng)域即標(biāo)準(zhǔn)數(shù)據(jù)類型,包括整數(shù)、實(shí)數(shù)、符號(hào)、串和符號(hào)等。若要生成一個(gè)獨(dú)立的可執(zhí)行文件,則在程序中必須包含goal段。:另外,在程序的首部還可以設(shè)置指示編譯程序執(zhí)行特定任務(wù)的編譯指令;在程序的任何位置都可設(shè)置注解。PROLOG的這種歸結(jié)演繹方法被稱為SLD(LinearresolutionwithSelectionfunctionforDefiniteclause)歸結(jié),或SLD反駁消解法。我們也可以使它變?yōu)樽C明過(guò)程。于是,系統(tǒng)回答:Y=mary程序運(yùn)行結(jié)束。易見,當(dāng)測(cè)試到程序中第三個(gè)事實(shí)時(shí),第一個(gè)子目標(biāo)便求解成功,且變量X被約束為mary。于是,系統(tǒng)便接著求解第二個(gè)子目標(biāo)。于是,剛才的子目標(biāo)likes(X,reading)和likes(X,music)被撤消,系統(tǒng)又回溯到原目標(biāo)friend(john,X)。于是,對(duì)原目標(biāo)的求解就轉(zhuǎn)化為對(duì)新目標(biāo)likes(X,reading),likes(X,music).的求解。我們?nèi)砸陨厦娴某绦驗(yàn)槔3晒?,再繼續(xù)滿足原子目標(biāo)。(3)如果其中一個(gè)是常量,一個(gè)是約束變量,則約束值與常量必須相同。PROLOG中稱無(wú)值的變量為自由變量,有值的變量為約束變量。如果有多個(gè)語(yǔ)句,則這些語(yǔ)句稱為子目標(biāo)。其中事實(shí)、規(guī)則和問(wèn)題都分行書寫。例如:?student(john).?like(mary,X). PROLOG程序PROLOG程序一般由一組事實(shí)、規(guī)則和問(wèn)題組成。(rule)格式:():(){,()}.功能: 一般表示對(duì)象間的因果關(guān)系、蘊(yùn)含關(guān)系或?qū)?yīng)關(guān)系。第二篇:邏輯型程序設(shè)計(jì)語(yǔ)言PROLOG詳細(xì)教程邏輯型程序設(shè)計(jì)語(yǔ)言PROLOG教程 PROLOG的語(yǔ)句PROLOG語(yǔ)言只有三種語(yǔ)句,分別稱為事實(shí)、規(guī)則和問(wèn)題。此外,隨Visual Prolog一起,還提供了許多展示Prolog問(wèn)題求解的典型例子。Visual Prolog當(dāng)前提供一個(gè)商業(yè)專家系統(tǒng)外殼ESTA,同時(shí)還提供了全部源代碼,可以定制和包含在自己的應(yīng)用程序之中。Visual Prolog支持CGI,所包含的一些CGI例子演示如何創(chuàng)建和生成動(dòng)態(tài)Web頁(yè)的Visual Prolog程序。(2)FTP支持。Visual Prolog包含許多特性,可以容易地創(chuàng)建由Internet激活的應(yīng)用程序,從而提供廣泛的Internet編程支持。用Prolog結(jié)構(gòu)來(lái)表示資料使得不受實(shí)際格式限制成為可能,、HTML或IPF格式。可移植SQL綁定是基于ODBC、Oracle的OCI庫(kù)、或DB2的。ODBC和可移植SQL綁定。Visual Prolog是一個(gè)建造客戶/服務(wù)器應(yīng)用程序的功能強(qiáng)大的平臺(tái)。與基本的可移植VPI一起,許多高級(jí)GUI部件已經(jīng)在VPI頂層實(shí)現(xiàn)??梢暬幊探涌诮oVisual Prolog程序員一個(gè)比本地編程更可移植和更易使用的GUI API。對(duì)于規(guī)劃和調(diào)度而言,這是一個(gè)非常強(qiáng)大的功能特性。你可以修改這個(gè)解釋程序,創(chuàng)建自己專用的邏輯程序設(shè)計(jì)語(yǔ)言、推理機(jī)、專家系統(tǒng)外殼或程序接口等。也就是說(shuō),一個(gè)數(shù)據(jù)庫(kù)可以被幾個(gè)用戶或幾個(gè)進(jìn)程同時(shí)打開。項(xiàng)可以存放在三個(gè)位置中的任何一處:在一個(gè)文件中、在內(nèi)存中或在EMS中。例如GLOBAL PREDICATES procedure LONG vpi_LoadDll(STRING)(I)language c procedure LONG vpi_GetDllProc(LONG, STRING ProcName)(I,I)language c 數(shù)據(jù)庫(kù)子系統(tǒng)。接口是通用的。應(yīng)用程序能夠針對(duì)Windows 98/Me/NT/2000 /XP及Linux等產(chǎn)生各種不同的應(yīng)用程序版本??梢浦残跃幋a。程序員可以在錯(cuò)誤檢查和錯(cuò)誤報(bào)告的各個(gè)級(jí)別上進(jìn)行選擇。因此,通過(guò)比照程序員和開發(fā)系統(tǒng)之間的類型,使得類型聲明有助于保證一個(gè)程序在整個(gè)產(chǎn)品生命周期的完整性。主要是類型檢驗(yàn)分析、全局流程分析、確定性機(jī)制檢查和可能的失敗檢測(cè)。它能被修改而創(chuàng)建你自己應(yīng)用程序的安裝程序。為了顯示項(xiàng)目的結(jié)構(gòu),可以把項(xiàng)目中的依賴關(guān)系顯示成一個(gè)樹。調(diào)試器對(duì)編譯出來(lái)的代碼進(jìn)行工作,允許設(shè)置斷點(diǎn)和單步執(zhí)行代碼。Visual Prolog編譯器為源代碼瀏覽器產(chǎn)生信息,所以,檢查模塊中的謂詞、瀏覽項(xiàng)目中所有全局謂詞,或者查找任何謂詞、論域聲明或定義的位置,都是可能的。這個(gè)幫助系統(tǒng)是基于PDC的超文本抽象機(jī)(HAM)的。這個(gè)編輯器用在VDE中的獨(dú)有特色是它知道Visual Prolog的所有謂詞、用戶接口部件、顏色、常量等。這些顏色能使謂詞名、參數(shù)、注釋等之間的差別更易于區(qū)分。Visual Prolog具有很強(qiáng)的引入資源的能力。當(dāng)生成一個(gè)新項(xiàng)目時(shí),它將自動(dòng)建立所有的基本工具,如幫助文件、工具欄、菜單等。Visual Prolog最大的強(qiáng)項(xiàng)可能是把布局設(shè)計(jì)工具(Layout)和編碼專家結(jié)合在一起。應(yīng)用程序?qū)<覟橐粋€(gè)項(xiàng)目創(chuàng)建所需要的全部文件,資源專家知道如何生成Prolog代碼,以支持所選擇的全部資源。Web編程支持是一個(gè)重要的新特性。PDC的Visual Prolog特別適用于這些傳統(tǒng)類型的數(shù)據(jù)庫(kù)任務(wù),因?yàn)閂isual Prolog具有的編程能力之一就是十分易于使用的數(shù)據(jù)庫(kù)引擎。Visual Prolog特別適合于處理知識(shí)和知識(shí)問(wèn)題求解,是優(yōu)秀的智能化應(yīng)用開發(fā)工具。由于這種說(shuō)明性(而不是過(guò)程性)方法,眾所周知的錯(cuò)誤來(lái)源,諸如循環(huán)操作次數(shù)多一次或少一次這樣的錯(cuò)誤,一開始就被排除了。在過(guò)程性語(yǔ)言中,程序員必須提供一步一步的指令,準(zhǔn)確地告訴計(jì)算機(jī)如何求解給定的問(wèn)題。Visual Prolog因其容易增加程序甚至網(wǎng)站的智能化特性而日益變成許多開發(fā)者選擇的工具。更多的“用戶友好性”和智能化程序的要求是使Prolog流行起來(lái)的另一個(gè)原因。Prolog的第一個(gè)正式版本由法國(guó)馬賽大學(xué)Alain Colmerauer于70年代作為一種邏輯程序設(shè)計(jì)工具研制。Visual Prolog支持Windows 98/Me/NT/2000/XP、OS/2及文本方式下的Linux和SCO UNIX。Visual Prolog具有模式匹配、遞歸、回溯、對(duì)象機(jī)制、事實(shí)數(shù)據(jù)庫(kù)和謂詞庫(kù)等強(qiáng)大功能[1]。1.Visual Prolog的由來(lái)與發(fā)展Prolog語(yǔ)言是人工智能與專家系統(tǒng)領(lǐng)域最著名的邏輯程序設(shè)計(jì)語(yǔ)言。近幾年來(lái),隨著計(jì)算機(jī)與網(wǎng)絡(luò)通信技術(shù)的迅猛發(fā)展,特別是因特網(wǎng)的大規(guī)模普及,人工智能的研究再度活躍起來(lái),并正向更為廣闊的領(lǐng)域發(fā)展。Programming in Logic。第一篇:Prolog概述Visual Prolog智能集成開發(fā)環(huán)境評(píng)述雷英杰邢清華孫金萍張 雷(空軍工程大學(xué)導(dǎo)彈學(xué)院 陜西三原713800)摘 要:Visual Prolog是國(guó)際上已經(jīng)廣泛流行的功能強(qiáng)大的通用智能化應(yīng)用集成開發(fā)環(huán)境。Artificial Intelligence。人工智能研究曾取得過(guò)許多令人注目的成果,也走過(guò)不少?gòu)澛?,?jīng)歷過(guò)不少挫折。有鑒于此,本文全面介紹和評(píng)述Visual Prolog的功能特點(diǎn),希望對(duì)我國(guó)在這一領(lǐng)域從事教學(xué)、研究及應(yīng)用開發(fā)的同行有所啟迪。預(yù)計(jì)短時(shí)期內(nèi),在國(guó)際上已經(jīng)十分流行的最新版本的可視化邏輯程序設(shè)計(jì)語(yǔ)言Visual Prolog將會(huì)在我國(guó)廣泛流行開來(lái),并將迅速成為我國(guó)研究和開發(fā)智能化應(yīng)用的最重要的工具。這個(gè)開發(fā)環(huán)境全部使用Visual Prolog語(yǔ)言寫成,而且包含對(duì)話框、菜單、工具欄等若干編碼專家和圖形編輯器。Prolog是全世界計(jì)算機(jī)科學(xué)家多年來(lái)研究工作的結(jié)晶。今天,Prolog是人工智能應(yīng)用編程和專家系統(tǒng)開發(fā)的一個(gè)非常重要的工具。Prolog已經(jīng)走出了人工智能實(shí)驗(yàn)室,PDC的Visual Prolog是一個(gè)商業(yè)上富有競(jìng)爭(zhēng)的通用開發(fā)環(huán)境。這與傳統(tǒng)的過(guò)程性編程語(yǔ)言如C、BASIC和Pas
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1