第3章 3個(gè)學(xué)科形態(tài)_第1頁(yè)
第3章 3個(gè)學(xué)科形態(tài)_第2頁(yè)
第3章 3個(gè)學(xué)科形態(tài)_第3頁(yè)
第3章 3個(gè)學(xué)科形態(tài)_第4頁(yè)
第3章 3個(gè)學(xué)科形態(tài)_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章3個(gè)學(xué)科形態(tài)

抽象、理論和設(shè)計(jì)是計(jì)算學(xué)科中的3個(gè)學(xué)科形態(tài),它反映了人們從感性認(rèn)識(shí)到理性認(rèn)識(shí),再由理性認(rèn)識(shí)回到實(shí)踐的認(rèn)識(shí)過程。本章分別從一般科學(xué)技術(shù)方法論和計(jì)算學(xué)科的角度對(duì)抽象、理論和設(shè)計(jì)3個(gè)學(xué)科形態(tài)進(jìn)行論述,并以“學(xué)生選課”為例,按“3個(gè)學(xué)科形態(tài)”對(duì)相關(guān)概念進(jìn)行劃分。然后,以計(jì)算機(jī)語(yǔ)言的發(fā)展為主線,介紹學(xué)科的相關(guān)內(nèi)容,包括自然語(yǔ)言與形式語(yǔ)言、圖靈機(jī)和馮·諾依曼計(jì)算機(jī)、機(jī)器指令與匯編語(yǔ)言、計(jì)算機(jī)的層次結(jié)構(gòu)、虛擬機(jī)、高級(jí)語(yǔ)言、應(yīng)用語(yǔ)言和自然語(yǔ)言的形式化問題等。最后,給出計(jì)算機(jī)科學(xué)14個(gè)分支領(lǐng)域抽象、理論和設(shè)計(jì)3個(gè)學(xué)科形態(tài)的主要內(nèi)容。3.1引言“計(jì)算作為一門學(xué)科”報(bào)告在確定計(jì)算學(xué)科二維定義矩陣的“橫向”關(guān)系時(shí),最初有兩種方案:一種是“模型(Model)”與“實(shí)現(xiàn)(Implementation)”相對(duì);另一種是“算法(Algorithm)”與“機(jī)器(Machine)”相對(duì)。顯然,以上兩種方案都可以反映計(jì)算學(xué)科研究的基本內(nèi)容。但是,在對(duì)分支領(lǐng)域有關(guān)概念歸屬于何種形態(tài)時(shí),出現(xiàn)了分類界限模糊的問題。后來,專家們認(rèn)識(shí)到,計(jì)算學(xué)科的基本原理已被納入理論、抽象和設(shè)計(jì)3個(gè)過程中,學(xué)科的各分支領(lǐng)域正是通過這3個(gè)過程來實(shí)現(xiàn)它們的目標(biāo)。因此,選擇了3個(gè)過程作為計(jì)算學(xué)科二維定義矩陣的“橫向”內(nèi)容,并將其確定為學(xué)科的3個(gè)學(xué)科形態(tài),也即從事學(xué)科領(lǐng)域工作的3種文化方式。抽象、理論和設(shè)計(jì)3個(gè)概念源于一般科學(xué)技術(shù)方法論,是計(jì)算學(xué)科中的3個(gè)最基本概念。為便于理解,我們分別從一般科學(xué)技術(shù)方法論的角度、計(jì)算學(xué)科的角度對(duì)3個(gè)學(xué)科形態(tài)進(jìn)行論述,并對(duì)一個(gè)關(guān)于“學(xué)生選課”實(shí)例的相關(guān)概念進(jìn)行學(xué)科形態(tài)的劃分。3.2一個(gè)關(guān)于“學(xué)生選課”的例子

眾所周知,人類的認(rèn)識(shí)過程是從感性認(rèn)識(shí)到理性認(rèn)識(shí),再回到實(shí)踐中去的過程。感性認(rèn)識(shí)是采用一定的方式,以可感知的文字或圖形等形式對(duì)客觀事物的特征進(jìn)行描述,并通過構(gòu)建模型而實(shí)現(xiàn)。感性認(rèn)識(shí)包括兩個(gè)方面的內(nèi)容:一方面是感性認(rèn)識(shí)的認(rèn)識(shí)方法(或工具)的建立;另一方面是采用已建立起來的認(rèn)識(shí)方法來實(shí)現(xiàn)對(duì)客觀世界的感性認(rèn)識(shí)。

在計(jì)算領(lǐng)域,感性認(rèn)識(shí)、理性認(rèn)識(shí)、實(shí)踐分別與更為具體的抽象、理論和設(shè)計(jì)3個(gè)學(xué)科形態(tài)相比應(yīng)。下面,我們舉一個(gè)“學(xué)生選課”的例子,為計(jì)算機(jī)初學(xué)者學(xué)習(xí)和掌握學(xué)科方法論中最基本的內(nèi)容——感性認(rèn)識(shí)(抽象)、理性認(rèn)識(shí)(理論)和實(shí)踐(設(shè)計(jì))的學(xué)習(xí)作個(gè)鋪墊。例3.1現(xiàn)給出“學(xué)生”和“課程”兩個(gè)實(shí)體,它們的聯(lián)系為:一個(gè)學(xué)生可以選修若干門課程,每門課程可以被任一學(xué)生選修。請(qǐng)建立一個(gè)信息管理系統(tǒng),以實(shí)現(xiàn)對(duì)“學(xué)生選課”這一信息的管理。對(duì)“學(xué)生選課”例子的感性認(rèn)識(shí)現(xiàn)給出“學(xué)生”和“課程”兩個(gè)實(shí)體,它們的聯(lián)系為:一個(gè)學(xué)生可以選修若干門課程每門課程可以被任一學(xué)生所選修請(qǐng)建立一個(gè)信息管理系統(tǒng),以實(shí)現(xiàn)對(duì)“學(xué)生選課”這一信息的管理。概念模型用于信息世界的建模,是客觀世界到信息世界的抽象。概念模型中的主要概念有:實(shí)體、屬性、碼、域、聯(lián)系等。實(shí)體:客觀存在并可相互區(qū)別的事物。屬性:實(shí)體所具有的某一種特性。碼:能惟一標(biāo)識(shí)實(shí)體的屬性集。域:屬性的取值范圍。聯(lián)系:指不同實(shí)體集之間的聯(lián)系。兩個(gè)實(shí)體之間的聯(lián)系分為:一對(duì)一(1:1)、一對(duì)多(1:N)、多對(duì)多(N:M)3類。

E-R模型(Entity-Relationship)1976年,美籍華人陳平山(PeterPingshanChen)提出的用E-R模型來描述客觀世界并建立概念模型的抽象方法。實(shí)體用矩形表示,屬性用橢圓形表示,聯(lián)系用菱形表示,實(shí)體間的聯(lián)系有一對(duì)一(1:1)、一對(duì)多(1:N)和多對(duì)多(N:M)3種情況。要實(shí)現(xiàn)對(duì)客觀事物的感性認(rèn)識(shí),必須將客觀世界(在例中客觀世界就是“學(xué)生選課”)抽象為信息世界。圖3.1學(xué)生選課E-R圖關(guān)系模型概念模型不是機(jī)器世界所支持的數(shù)據(jù)模型,而是客觀世界到機(jī)器世界的一個(gè)中間層次概念模型還需要轉(zhuǎn)換成機(jī)器世界能支持的數(shù)據(jù)模型。在數(shù)據(jù)庫(kù)領(lǐng)域中,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)能支持的數(shù)據(jù)模型有:層次、網(wǎng)狀、關(guān)系以及面向?qū)ο蟮葦?shù)據(jù)模型。關(guān)系模型支持的是一種二維表結(jié)構(gòu)的數(shù)據(jù)模型,它由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系數(shù)據(jù)操作和關(guān)系數(shù)據(jù)的完整性約束條件三部分組成。其中關(guān)系就是一張二維表。概念模型(E-R圖)——》關(guān)系模型轉(zhuǎn)換:學(xué)生(學(xué)號(hào),姓名,年齡,性別);課程(課程號(hào),課程名);學(xué)生選課(學(xué)號(hào),課程號(hào),成績(jī))概念模型是對(duì)現(xiàn)實(shí)原形的理想化,因此,將概念模型直接轉(zhuǎn)換成關(guān)系模型,還不能說完全達(dá)到了對(duì)“學(xué)生選課”這一客觀世界的理性認(rèn)識(shí),換言之,就是所轉(zhuǎn)換的關(guān)系模型有可能還存在問題。

感性認(rèn)識(shí)中存在的問題在學(xué)生(學(xué)號(hào),姓名,年齡,性別)關(guān)系中增加系名、系主任等屬性時(shí),即學(xué)生關(guān)系變?yōu)椋▽W(xué)號(hào),姓名,年齡,性別,系名,系主任)時(shí),便開始出現(xiàn)以下問題。插入異?!粋€(gè)系剛成立,系主任已確定,但還未招學(xué)生時(shí),則無法將系名和系主任的名字插入到數(shù)據(jù)庫(kù)中(學(xué)生實(shí)體中學(xué)號(hào)為碼,碼不能缺)刪除異常——當(dāng)一個(gè)系的學(xué)生全部畢業(yè),刪除所有畢業(yè)生時(shí),系名和系主任的名字也就刪除了冗余太大——由于一個(gè)學(xué)生對(duì)應(yīng)一個(gè)系名和系主任的名字,則該系系名和系主任的名字要重復(fù)。關(guān)系模式的形式化定義關(guān)系模式(R)是一個(gè)四元組,即R=<U,D,dom,F(xiàn)>其中:(1)U表示關(guān)系中所有屬性的集合;(2)D表示屬性集合U中屬性所來自的域;(3)dom是屬性到域的映射;(4)F是屬性集合U上的一組數(shù)據(jù)依賴。

關(guān)系模式的形式化定義由于D、dom與模式設(shè)計(jì)關(guān)系不大,可將關(guān)系模式簡(jiǎn)單地表示為一個(gè)二元組

R=<U,F(xiàn)>1NF的定義:作為一張二維表的關(guān)系,每一個(gè)分量必須是不可再分的數(shù)據(jù)項(xiàng),滿足這個(gè)條件的關(guān)系模式就屬于1NF。2NF的定義:若R∈1NF,且每一個(gè)非主屬性不存在對(duì)碼的部分函數(shù)依賴,則

R∈2NF。在定義中,非主屬性為不屬于碼的那些屬性。3NF的定義:若R∈2NF,且每一個(gè)非主屬性不存在對(duì)碼的傳遞函數(shù)依賴,則

R∈3NF。對(duì)“例子”問題的理性認(rèn)識(shí)例子最初是屬于1NF、2NF、3NF,但是當(dāng)在學(xué)生屬性集U中增加系名和系主任后,就出現(xiàn)了這樣的傳遞函數(shù)依賴:學(xué)號(hào)(碼)→系名,系名→系主任。因此,它就不屬于3NF了。不屬于3NF的所有關(guān)系模型都會(huì)出現(xiàn)插入異常、刪除異常和冗余的問題。還必須依靠分解算法對(duì)模式進(jìn)行分解,并滿足3NF的要求。在數(shù)據(jù)依賴?yán)碚摰闹笇?dǎo)下,可完成模式的分解任務(wù)。就例子而言,可以再劃分一個(gè)關(guān)系,即系(系號(hào),系名,系主任名),從而滿足了關(guān)系模式規(guī)范化的要求,實(shí)現(xiàn)了對(duì)例子的理性認(rèn)識(shí)。從概念模型向滿足規(guī)范化要求的關(guān)系模型的轉(zhuǎn)換,其實(shí)質(zhì)是認(rèn)識(shí)過程由感性認(rèn)識(shí)(抽象)上升到理性認(rèn)識(shí)(理論)的過程,這個(gè)過程包含兩方面的內(nèi)容:一方面是有關(guān)理論的建立;另一方面是如何在理論的指導(dǎo)下,在具體的設(shè)計(jì)中,實(shí)現(xiàn)對(duì)客觀世界的理性認(rèn)識(shí)。前者是對(duì)科學(xué)研究而言的,而后者是對(duì)工程設(shè)計(jì)而言的?!皩W(xué)生選課”系統(tǒng)的工程設(shè)計(jì)建立起正確的關(guān)系模型后,還要根據(jù)具體的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)該模型進(jìn)行定義,下面,給出定義該模型的SQL語(yǔ)句:CREATETABLESTUDENT(SNOCHAR(9)NOTNULL,SNCHAR(16),SAGEINT,SEXCHAR(1));“學(xué)生選課”系統(tǒng)的工程設(shè)計(jì)CREATETABLECOURSE(CNOCHAR(6)NOTNULL,CNCHAR(22));CREATETABLESC(SNOCHAR(9)NOTNULL,CNOCHAR(6),GRADEINT);CREATETABLEDEPARTMENT(DNOCHAR(9)NOTNULL,DNCHAR(16),DEANCHAR(8));“學(xué)生選課”系統(tǒng)的工程設(shè)計(jì)接下來,便可以進(jìn)行數(shù)據(jù)的輸入、修改和查詢,從而完成對(duì)“學(xué)生選課”的管理。一個(gè)簡(jiǎn)單的查詢:查詢選修了“數(shù)據(jù)庫(kù)”課程,并且成績(jī)?cè)?0分以上的所有學(xué)生的學(xué)號(hào)和姓名。SELECTSNO,SNFROMSTUDENT,SC,COURSEWHERECN='數(shù)據(jù)庫(kù)'ANDGRADE>90;系統(tǒng)運(yùn)行以上語(yǔ)句后,即可在屏幕上顯示所求的結(jié)果。

3.3抽象形態(tài)3.3.1一般科學(xué)技術(shù)方法論中的抽象形態(tài)在一般科學(xué)技術(shù)方法論中,科學(xué)抽象是指在思維中對(duì)同類事物去除其現(xiàn)象的、次要的方面,抽取其共同的、主要的方面,從而做到從個(gè)別中把握一般,從現(xiàn)象中把握本質(zhì)的認(rèn)知過程和思維方法??茖W(xué)抽象是科學(xué)認(rèn)識(shí)由感性認(rèn)識(shí)向理性認(rèn)識(shí)飛躍的決定性環(huán)節(jié)。抽象源于現(xiàn)實(shí)世界,源于經(jīng)驗(yàn),是對(duì)現(xiàn)實(shí)原形的理想化,盡管理想化后的現(xiàn)實(shí)原形與現(xiàn)實(shí)事物有了質(zhì)的區(qū)別,但它們總是現(xiàn)實(shí)事物的概念化,有現(xiàn)實(shí)背景,從嚴(yán)格意義上來說還是粗糙的、近似的。因此,要實(shí)現(xiàn)對(duì)事物本質(zhì)的認(rèn)識(shí)還必須通過經(jīng)驗(yàn)與理性的結(jié)合,完成從抽象到抽象的升華。盡管科學(xué)抽象還有待升華,但它仍然是科學(xué)認(rèn)識(shí)的基礎(chǔ)和決定性環(huán)節(jié)。學(xué)科中的抽象形態(tài)包含著具體的內(nèi)容,它們是學(xué)科中所具有的科學(xué)概念、科學(xué)符號(hào)和思想模型。3.3.2計(jì)算學(xué)科中的抽象形態(tài)理論、抽象和設(shè)計(jì)是我們從事本領(lǐng)域工作的3種主要形態(tài)(或稱文化方式),它提供了我們定義計(jì)算學(xué)科的條件。按人們對(duì)客觀事物認(rèn)識(shí)的先后次序,我們將報(bào)告中的抽象列為第一個(gè)學(xué)科形態(tài),理論列為第二個(gè)學(xué)科形態(tài)。抽象源于實(shí)驗(yàn)科學(xué)。按客觀現(xiàn)象的研究過程,抽象形態(tài)包括以下4個(gè)步驟的內(nèi)容:(1)形成假設(shè);(2)建造模型并作出預(yù)測(cè);(3)設(shè)計(jì)實(shí)驗(yàn)并收集數(shù)據(jù);(4)對(duì)結(jié)果進(jìn)行分析。3.3.3例子中有關(guān)抽象形態(tài)的主要內(nèi)容及其簡(jiǎn)要分析在“學(xué)生選課”例子中,有關(guān)抽象形態(tài)的內(nèi)容可以用集合的方式表示為:A={學(xué)生,屬性,碼,關(guān)系,學(xué)號(hào),姓名,年齡,性別,課程,課程號(hào),課程名,成績(jī),E-R圖,“學(xué)生選課”E-R圖,關(guān)系模型,“學(xué)生選課”關(guān)系模型,……}對(duì)“學(xué)生選課”問題的抽象(感性認(rèn)識(shí))就是通過建立“學(xué)生選課”的E-R模型和關(guān)系模型來實(shí)現(xiàn)的,這一步是實(shí)現(xiàn)“學(xué)生選課”系統(tǒng)的關(guān)鍵。3.4理論形態(tài)3.4.1一般科學(xué)技術(shù)方法論中的理論形態(tài)科學(xué)認(rèn)識(shí)由感性階段上升為理性階段,就形成了科學(xué)理論??茖W(xué)理論是經(jīng)過實(shí)踐檢驗(yàn)的系統(tǒng)化了的科學(xué)知識(shí)體系,它是由科學(xué)概念、科學(xué)原理以及對(duì)這些概念、原理的理論論證所組成的體系。理論源于數(shù)學(xué),是從抽象到抽象的升華,它們已經(jīng)完全脫離現(xiàn)實(shí)事物,不受現(xiàn)實(shí)事物的限制,具有精確的、優(yōu)美的特征,因而更能把握事物的本質(zhì)。3.4.2計(jì)算學(xué)科中的理論形態(tài)在計(jì)算學(xué)科中,從統(tǒng)一合理的理論發(fā)展過程來看,理論形態(tài)包括以下4個(gè)步驟的內(nèi)容:(1)表述研究對(duì)象的特征(定義和公理);(2)假設(shè)對(duì)象之間的基本性質(zhì)和對(duì)象之間可能存在的關(guān)系(定理);(3)確定這些關(guān)系是否為真(證明);(4)結(jié)論。3.4.3例子中有關(guān)理論形態(tài)的主要內(nèi)容及簡(jiǎn)要分析在與“學(xué)生選課”例子有關(guān)的關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域中,理論形態(tài)的主要內(nèi)容可以用集合的方式表示為:T={關(guān)系代數(shù),關(guān)系演算,數(shù)據(jù)依賴?yán)碚?,……}在數(shù)據(jù)庫(kù)理論的指導(dǎo)下,我們就可以在“學(xué)生選課”關(guān)系模型(感性認(rèn)識(shí))的基礎(chǔ)上,建立對(duì)“學(xué)生選課”問題的理性認(rèn)識(shí),從而為“學(xué)生選課”管理系統(tǒng)的設(shè)計(jì)奠定基礎(chǔ)。3.5設(shè)計(jì)形態(tài)3.5.1一般科學(xué)技術(shù)方法論中的設(shè)計(jì)形態(tài)1.設(shè)計(jì)形態(tài)與抽象、理論兩個(gè)形態(tài)存在的聯(lián)系設(shè)計(jì)源于工程,并用于系統(tǒng)或設(shè)備的開發(fā),以實(shí)現(xiàn)給定的任務(wù)。(1)設(shè)計(jì)形態(tài)(技術(shù)方法)和抽象、理論兩個(gè)形態(tài)(科學(xué)方法)具有許多共同的特點(diǎn)。設(shè)計(jì)作為變革、控制和利用自然界的手段,必須以對(duì)自然規(guī)律的認(rèn)識(shí)為前提(可以是科學(xué)形態(tài)的認(rèn)識(shí),也可以是經(jīng)驗(yàn)形態(tài)的認(rèn)識(shí))。(2)設(shè)計(jì)要達(dá)到變革、控制和利用自然界的目的,必須創(chuàng)造出相應(yīng)的人工系統(tǒng)和人工條件,還必須認(rèn)識(shí)自然規(guī)律在這些人工系統(tǒng)中和人工條件下的具體表現(xiàn)形式。所以,科學(xué)認(rèn)識(shí)方法(抽象、理論兩個(gè)形態(tài)),對(duì)具有設(shè)計(jì)形態(tài)的技術(shù)研究和技術(shù)開發(fā)是有作用的。2.設(shè)計(jì)形態(tài)的主要特征與抽象、理論兩個(gè)形態(tài)的主要區(qū)別(1)設(shè)計(jì)形態(tài)具有較強(qiáng)的實(shí)踐性。(2)設(shè)計(jì)形態(tài)具有較強(qiáng)的社會(huì)性。(3)設(shè)計(jì)形態(tài)具有較強(qiáng)的綜合性。3.5.2計(jì)算學(xué)科中的設(shè)計(jì)形態(tài)在計(jì)算學(xué)科中,從為解決某個(gè)問題而實(shí)現(xiàn)系統(tǒng)或裝置的過程來看,設(shè)計(jì)形態(tài)包括以下4個(gè)步驟的內(nèi)容:(1)需求分析;(2)建立規(guī)格說明;(3)設(shè)計(jì)并實(shí)現(xiàn)該系統(tǒng);(4)對(duì)系統(tǒng)進(jìn)行測(cè)試與分析。設(shè)計(jì)、抽象和理論3個(gè)形態(tài)針對(duì)具體的研究領(lǐng)域均起作用,在具體研究中,就是要在其理論的指導(dǎo)下,運(yùn)用其抽象工具進(jìn)行各種設(shè)計(jì)工作,最終的成果將是計(jì)算機(jī)的軟硬件系統(tǒng)及其相關(guān)資料(如需求說明、規(guī)格說明和設(shè)計(jì)與實(shí)現(xiàn)方法說明等)。3.5.3例子中有關(guān)設(shè)計(jì)形態(tài)的主要內(nèi)容及簡(jiǎn)要分析在關(guān)系數(shù)據(jù)庫(kù)中,有關(guān)設(shè)計(jì)形態(tài)的內(nèi)容是指:在關(guān)系數(shù)據(jù)庫(kù)理論的指導(dǎo)下,運(yùn)用一定的抽象工具(如E-R圖等)進(jìn)行的各種設(shè)計(jì)工作。最終的內(nèi)容包括Oracle、Informix、SyBase、FoxPro等各種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)軟件、應(yīng)用軟件(如學(xué)生、財(cái)務(wù)等具體的管理信息系統(tǒng))以及相關(guān)資料(如需求說明、規(guī)格說明和設(shè)計(jì)與實(shí)現(xiàn)方法說明等資料)?!皩W(xué)生選課”一例中,有關(guān)設(shè)計(jì)形態(tài)的內(nèi)容是指:在數(shù)據(jù)庫(kù)理論的指導(dǎo)下,運(yùn)用E-R圖和關(guān)系模型,實(shí)現(xiàn)對(duì)例子的感性認(rèn)識(shí)和理性認(rèn)識(shí),最后借助某種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(如Oracle等),實(shí)現(xiàn)“學(xué)生選課”應(yīng)用軟件的編制。最終成果是“學(xué)生選課”應(yīng)用軟件以及相關(guān)資料(如需求說明書)。就例子而言,其內(nèi)容可以用集合的方式表示為:D={“學(xué)生選課”應(yīng)用軟件,“學(xué)生選課”需求說明書,……}

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

計(jì)算機(jī)語(yǔ)言在計(jì)算學(xué)科中占有特殊的地位,它是計(jì)算學(xué)科中最富有智慧的成果之一,它深刻地影響著計(jì)算學(xué)科各個(gè)領(lǐng)域的發(fā)展。不僅如此,計(jì)算機(jī)語(yǔ)言還是程序員與計(jì)算機(jī)交流的主要工具。因此,可以說如果不了解計(jì)算機(jī)語(yǔ)言,就談不上對(duì)計(jì)算學(xué)科的真正了解。

現(xiàn)在,我們從自然語(yǔ)言與形式化語(yǔ)言、圖靈機(jī)和馮·諾依曼型計(jì)算機(jī)、機(jī)器指令與匯編語(yǔ)言、計(jì)算機(jī)的層次結(jié)構(gòu)、虛擬機(jī)的意義和作用、高級(jí)語(yǔ)言、應(yīng)用語(yǔ)言和自然語(yǔ)言的形式化問題等方面,介紹計(jì)算機(jī)語(yǔ)言的發(fā)展歷程及其在抽象、理論和設(shè)計(jì)3個(gè)學(xué)科形態(tài)取得的主要成果,從而揭示計(jì)算機(jī)語(yǔ)言發(fā)展過程中3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系。3.7.1自然語(yǔ)言與形式語(yǔ)言

自然語(yǔ)言的定義人類的語(yǔ)言(文字)是人類最普遍使用的符號(hào)系統(tǒng)。其最基本、最普遍的形式是自然語(yǔ)言符號(hào)系統(tǒng)自然語(yǔ)言是某一社會(huì)發(fā)展中形成的一種民族語(yǔ)言。例如,漢語(yǔ)、英語(yǔ)、法語(yǔ)和俄語(yǔ)等。

自然語(yǔ)言符號(hào)系統(tǒng)的基本特征歧義性;不夠嚴(yán)格和不夠統(tǒng)一的語(yǔ)法結(jié)構(gòu)。例3.2他的發(fā)理得好。他的理發(fā)水平高;理發(fā)師理他的發(fā)理得好。例3.3他的小說看不完。他寫的小說看不完;他收藏的小說看不完;他是個(gè)小說迷。高級(jí)語(yǔ)言的歧義性問題

高級(jí)程序設(shè)計(jì)語(yǔ)言其實(shí)也有語(yǔ)義的歧義性問題,高級(jí)程序設(shè)計(jì)語(yǔ)言存在較少的歧義性而已例3.4

IF(表達(dá)式1)THENIF(表達(dá)式2)THEN語(yǔ)句1ELSE語(yǔ)句2。IF(表達(dá)式1)THEN(IF(表達(dá)式2)THEN語(yǔ)句1ELSE語(yǔ)句2);IF(表達(dá)式1)THEN(IF(表達(dá)式2)THEN語(yǔ)句1)ELSE語(yǔ)句2。

形式語(yǔ)言

人們?cè)谧匀徽Z(yǔ)言符號(hào)系統(tǒng)的基礎(chǔ)上,逐步建立起了人工語(yǔ)言符號(hào)系統(tǒng)(也稱科學(xué)語(yǔ)言系統(tǒng)),即各學(xué)科的專門科學(xué)術(shù)語(yǔ)(符號(hào)),使語(yǔ)言符號(hào)保持其單一性、無歧義性和明確性。人工語(yǔ)言符號(hào)系統(tǒng)發(fā)展的第二階段叫形式化語(yǔ)言,簡(jiǎn)稱形式語(yǔ)言。形式語(yǔ)言是進(jìn)行形式化工作的元語(yǔ)言,它是以數(shù)學(xué)和數(shù)理邏輯為基礎(chǔ)的科學(xué)語(yǔ)言。形式語(yǔ)言的基本特點(diǎn)有一組初始的、專門的符號(hào)集;有一組精確定義的,由初始的、專門的符號(hào)組成的符號(hào)串轉(zhuǎn)換成另一個(gè)符號(hào)串的規(guī)則。在形式語(yǔ)言中,不允許出現(xiàn)根據(jù)形成規(guī)則無法確定的符號(hào)串。形式語(yǔ)言的語(yǔ)法形式語(yǔ)言的語(yǔ)法:形式語(yǔ)言中的轉(zhuǎn)換規(guī)則。語(yǔ)法不包含語(yǔ)義。在一個(gè)給定的形式語(yǔ)言中,可以根據(jù)需要,通過賦值或模型對(duì)其進(jìn)行嚴(yán)格的語(yǔ)義解釋,從而構(gòu)成形式語(yǔ)言的語(yǔ)義。語(yǔ)法和語(yǔ)義要作嚴(yán)格的區(qū)分。例3.5語(yǔ)言W定義為:初始符號(hào)集:{a,b,c,d,e}。形成規(guī)則:上述符號(hào)組成的有限符號(hào)串中,能組成一英語(yǔ)單詞的為一公式;否則不是。問:W是否為一形式語(yǔ)言?答:不是。因?yàn)椋鶕?jù)形成規(guī)則,無法精確地定義轉(zhuǎn)換規(guī)則。原因:形成規(guī)則(語(yǔ)法)中包含了語(yǔ)義。例3.6語(yǔ)言X定義為:初始符號(hào)集:{a,b,c,d,e,(,),

,

}。形成規(guī)則:上述符號(hào)組成的有限符號(hào)串中,構(gòu)成表達(dá)式的為一公式,否則不是。問:X是否為一形式語(yǔ)言?答:不是。原因:與例3.5相同。

例3.7語(yǔ)言Y定義為:初始符號(hào)集:{a,b,c,d,e,(,),

,

,

}。形成規(guī)則:上述符號(hào)組成的有限符號(hào)串中,凡以符號(hào)“(”開頭且以“)”結(jié)尾的符號(hào)串,為一公式。問:Y是否為一形式語(yǔ)言?答:不是。因?yàn)?,根?jù)形成規(guī)則,無法對(duì)不是以符號(hào)“(”開頭且以“)”結(jié)尾的符號(hào)串進(jìn)行判定。例如,(a+b)

c。

例3.8語(yǔ)言Z定義為:初始符號(hào)集:{a,b,c,d,e,(,),

,

,

}。形成規(guī)則:上述符號(hào)組成的有限符號(hào)串中,凡以符號(hào)“(”開頭且以“)”結(jié)尾的符號(hào)串,為一公式,否則不是。問:Z是否為一形式語(yǔ)言?答:是。形式化的產(chǎn)物由于技術(shù)科學(xué)(計(jì)算學(xué)科主要是一門技術(shù)科學(xué))的語(yǔ)言從類型上說基本上是描述性、斷定性而非評(píng)論性的,在描述性語(yǔ)言中又以分析陳述為主。技術(shù)科學(xué)就更有可能充分運(yùn)用形式語(yǔ)言來表達(dá)自己深刻而復(fù)雜的內(nèi)容,并進(jìn)行演算化的推理。計(jì)算機(jī)語(yǔ)言是一種形式化語(yǔ)言。計(jì)算機(jī)的誕生又與形式化研究的進(jìn)程息息相關(guān)。不論是計(jì)算機(jī)語(yǔ)言還是數(shù)字計(jì)算機(jī),它們都是形式化的產(chǎn)物。

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.2圖靈機(jī)與馮·諾依曼型計(jì)算機(jī)圖靈機(jī)及其他計(jì)算模型圖靈的觀點(diǎn)及結(jié)論:凡是能用算法方法解決的問題,也一定能用圖靈機(jī)解決;凡是圖靈機(jī)解決不了的問題,任何算法也解決不了。與圖靈機(jī)等價(jià)的計(jì)算模型:遞歸函數(shù)λ-演算POST規(guī)范系統(tǒng)圖靈機(jī)是從過程這一角度來刻畫計(jì)算的本質(zhì),其結(jié)構(gòu)簡(jiǎn)單、操作運(yùn)算規(guī)則也較少,從而為更多的人所理解。圖靈機(jī)

圖靈機(jī)由一條兩端可無限延長(zhǎng)的帶子、一個(gè)讀寫頭以及一組控制讀寫頭工作的命令組成,圖靈機(jī)寫在帶子上的符號(hào)為一個(gè)有窮字母表:{S0,S1,S2,…,Sp}??梢哉J(rèn)為這個(gè)有窮字母表僅有S0、S1兩個(gè)字符,其中S0可以看作是“0”,S1可以看作是“1”,由“0”和“1”組成的字母表可以表示任何一個(gè)數(shù)。由于“0”和“1”只有形式的意義,因此,也可以將S0改稱為“白”,S1改稱為“黑”,甚至,還可以改稱為“桌子”和“老虎”,這樣改稱的目的在于割斷與直覺的聯(lián)系,并加深對(duì)布爾域中的值{真,假},以及二進(jìn)制機(jī)器本質(zhì)的理解。機(jī)器的控制狀態(tài)表為:{q1,q2,…,qm}。將一個(gè)圖靈機(jī)的初始狀態(tài)設(shè)為q1,在每一個(gè)具體的圖靈機(jī)中還要確定一個(gè)結(jié)束狀態(tài)qw。

一個(gè)給定機(jī)器的“程序”機(jī)器內(nèi)的五元組(qiSjSkR(或L或N)ql)形式的指令集,五元組定義了機(jī)器在一個(gè)特定狀態(tài)下讀入一個(gè)特定字符時(shí)所采取的動(dòng)作。5個(gè)元素的含義如下:

qi表示機(jī)器目前所處的狀態(tài);

Sj表示機(jī)器從方格中讀入的符號(hào);

Sk表示機(jī)器用來代替Sj寫入方格中的符號(hào);

R、L、N分別表示向右移一格、向左移一格、不移動(dòng);ql表示下一步機(jī)器的狀態(tài)。

一個(gè)機(jī)器計(jì)算的結(jié)果是從機(jī)器停止時(shí)帶子上的信息得到的。容易看出,q1S2S2Rq3指令和q3S3S3Lq1指令如果同時(shí)出現(xiàn)在機(jī)器中,當(dāng)機(jī)器處于狀態(tài)q1,第一條指令讀入的是S2,第二條指令讀入的是S3,那么機(jī)器會(huì)在兩個(gè)方塊之間無休止地工作。另外,如果q3S2S2Rq4和q3S2S4Lq6指令同時(shí)出現(xiàn)在機(jī)器中,當(dāng)機(jī)器處于狀態(tài)q3并在帶子上掃描到符號(hào)S2時(shí),就產(chǎn)生了二義性的問題,機(jī)器就無法判定。例3.9:b表示空格,q1表示機(jī)器的初始狀態(tài),

q4表示機(jī)器的結(jié)束狀態(tài),設(shè)帶子上的輸入信息是10100010,讀入頭位對(duì)準(zhǔn)最右邊第一個(gè)為0的方格,狀態(tài)為初始狀態(tài)q1。規(guī)則如下。q101L

q2q110L

q3q1

b

b

N

q4q200L

q2q211L

q2q2

b

b

N

q4q301L

q2q310L

q3q3

b

b

N

q4計(jì)算過程如下:計(jì)算結(jié)果是10100011,即對(duì)給定的數(shù)加1。以上命令計(jì)算的是這樣一個(gè)函數(shù):S(x)=x+1。當(dāng)沒有輸入時(shí),即初始狀態(tài)所指的方格為空格(b)時(shí),不改變空格符,讀寫頭不動(dòng)并停機(jī)。

圖靈機(jī)的計(jì)算能力圖靈機(jī)可以計(jì)算S(x)=x+1(后繼函數(shù)),N(x)=0(零函數(shù)),Ui(n)(x1,x2,…,xn)=xi,1≤i≤n(投影函數(shù))上述3個(gè)函數(shù)的任意組合。從遞歸論中,我們知道這3個(gè)函數(shù)屬于初始遞歸函數(shù),任何原始遞歸函數(shù)都是從這3個(gè)初始遞歸函數(shù)經(jīng)有限次的復(fù)合、遞歸和極小化操作得到的。從可計(jì)算理論可知每一個(gè)原始遞歸函數(shù)都是圖靈機(jī)可計(jì)算的。

馮·諾依曼型計(jì)算機(jī)

ENIAC的結(jié)構(gòu)在很大程度上是依照機(jī)電系統(tǒng)設(shè)計(jì)的,還存在重大的線路結(jié)構(gòu)等問題。在圖靈等人工作的影響下,1946年6月,美國(guó)杰出的數(shù)學(xué)家馮·諾依曼(VonNeumann)及其同事完成了關(guān)于“電子計(jì)算裝置邏輯結(jié)構(gòu)設(shè)計(jì)”的研究報(bào)告,具體介紹了制造電子計(jì)算機(jī)和程序設(shè)計(jì)的新思想至今為止,大多數(shù)計(jì)算機(jī)采用的仍然是馮·諾依曼型計(jì)算機(jī)的組織結(jié)構(gòu),只是作了一些改進(jìn)而已。因此,馮·諾依曼被人們譽(yù)為“計(jì)算機(jī)器之父”。

ENIAC1946年2月14日,世界上第一臺(tái)數(shù)字電子計(jì)算機(jī)ENIAC在美國(guó)賓夕法尼亞大學(xué)研制成功。研制組的主要成員有:總設(shè)計(jì)師為36歲的莫契利(J.Mauchiy)副教授;解決工程技術(shù)問題的是24歲的電氣工程師??颂兀≒.Eckert);設(shè)計(jì)乘法器等大型邏輯元件的是勃克斯(A.Burks);協(xié)調(diào)項(xiàng)目進(jìn)展的是美國(guó)彈道實(shí)驗(yàn)室的軍方負(fù)責(zé)人戈德斯坦(H.Glodstine)中尉;項(xiàng)目負(fù)責(zé)人是莫爾學(xué)院資深教授勃雷納德(J.Brainerd)。ENIAC是第一臺(tái)使用電子線路來執(zhí)行算術(shù)和邏輯運(yùn)算以及信息存儲(chǔ)的真正工作的計(jì)算機(jī)器,它的成功研制顯示了電子線路的巨大優(yōu)越性。但是,ENIAC的結(jié)構(gòu)在很大程度上是依照機(jī)電系統(tǒng)設(shè)計(jì)的,還存在重大的線路結(jié)構(gòu)等問題。莫契利和??颂貙?duì)馮·諾依曼是否是天才的判定:若馮·諾依曼來參觀后提出的第一個(gè)問題就是機(jī)器的邏輯結(jié)構(gòu)設(shè)計(jì),則認(rèn)為他是天才;否則,就不是。馮·諾依曼計(jì)算機(jī)的體系結(jié)構(gòu)輸入設(shè)備和輸出設(shè)備作用:是將信息輸入計(jì)算機(jī)和輸出計(jì)算機(jī)。常用的文字輸入設(shè)備是鍵盤(還有掃描儀、穿孔卡片讀入機(jī)和鼠標(biāo)等專用輸入設(shè)備)當(dāng)在鍵盤上按下一個(gè)鍵時(shí),按下的鍵通過編碼變換成機(jī)器可讀的數(shù)據(jù)形式,如字符“A”變換成ASCII碼“1000001”,該編碼數(shù)據(jù)隨即存入存儲(chǔ)器等待處理,通過與“1000001”對(duì)應(yīng)的字符點(diǎn)陣數(shù)據(jù)在屏幕上顯示一個(gè)字符“A”。輸出設(shè)備有打印機(jī)、顯示器、繪圖儀、磁記錄設(shè)備等?;诳偩€的計(jì)算機(jī)系統(tǒng)的硬件組成

存儲(chǔ)器見數(shù)據(jù)存儲(chǔ)

CPU(運(yùn)算器和控制器

)centralprocessingunitRegister、控制單元計(jì)算機(jī)中控制數(shù)據(jù)操作的電路并不與主存直接相連這些電路被封裝在一起,即CPUCPU含有自己的存儲(chǔ)單元(register)Register作為臨時(shí)空間來存儲(chǔ)CPU所操作的數(shù),保存算術(shù)邏輯單元的輸入與輸出數(shù)據(jù)控制單元負(fù)責(zé)將主存中的數(shù)據(jù)移到register,然后通知算術(shù)邏輯單元所需要的數(shù)據(jù)在哪個(gè)register總線總線:CPU與主存之間用總線連接,利用總線CPU通過提供存儲(chǔ)單元目標(biāo)地址以及讀信號(hào)來選擇、讀取數(shù)據(jù)CPU通過提供存儲(chǔ)單元目標(biāo)地址以及寫信號(hào)來放置、寫入信號(hào)誰(shuí)發(fā)明了什么程序存儲(chǔ)的概念:由賓西法尼亞大學(xué)Moore電子工程學(xué)院的J.P.Echert提出,JohnvonNeumann只是先發(fā)表了程序存儲(chǔ)的概念CPU和主存儲(chǔ)器通過總線相連基于馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的程序執(zhí)行在早期計(jì)算機(jī)設(shè)計(jì)中,人們認(rèn)為,程序與數(shù)據(jù)是兩種完全不同的實(shí)體。于是,自然將程序與數(shù)據(jù)分離,數(shù)據(jù)存放在存儲(chǔ)器中,程序則作為控制器的一個(gè)組成部分(如外插型的程序)。這樣,每執(zhí)行一個(gè)程序,都要對(duì)控制器進(jìn)行設(shè)置(如在ENIAC中,編制一個(gè)解決小規(guī)模問題的程序,就要在40多塊幾英尺長(zhǎng)的插接板上,插上幾千個(gè)帶導(dǎo)線的插頭)。顯然,這樣的機(jī)器效率不僅低,且靈活性也很差。馮·諾依曼計(jì)算機(jī)的體系結(jié)構(gòu),也即存儲(chǔ)程序式計(jì)算機(jī)的體系結(jié)構(gòu),則是將程序與數(shù)據(jù)一樣看待,對(duì)程序像數(shù)據(jù)那樣進(jìn)行適當(dāng)?shù)木幋a,然后與數(shù)據(jù)一起共同存放在存儲(chǔ)器中。這樣,計(jì)算機(jī)就可以通過改變存儲(chǔ)器中的內(nèi)容,對(duì)數(shù)據(jù)進(jìn)行操作。從原來對(duì)程序和數(shù)據(jù)的嚴(yán)格區(qū)別到一樣看待,這個(gè)觀念上的轉(zhuǎn)變是計(jì)算機(jī)史上的一場(chǎng)革命,它反映的正是計(jì)算的本質(zhì),即符號(hào)串的變化。下面,介紹Brookshear在其著作《計(jì)算機(jī)科學(xué)概論》中,給出的一個(gè)基于馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的程序執(zhí)行實(shí)例,以加深對(duì)存儲(chǔ)程序式計(jì)算機(jī)體系結(jié)構(gòu)的理解。(1)機(jī)器的結(jié)構(gòu)和指令該機(jī)器有256個(gè)主存單元(分別用十六進(jìn)制0

FF表示),16個(gè)通用寄存器(0

F),一個(gè)程序計(jì)數(shù)器和一個(gè)指令寄存器。機(jī)器的指令有12條,每條指令的長(zhǎng)度均為2個(gè)字節(jié),指令的前4位為操作碼,后12位為操作數(shù),如表3.1所示。操作碼操作數(shù)描述1RXY將內(nèi)存XY單元中的數(shù)據(jù)取出,存入寄存器R中,如1A43,將43單元中的數(shù)據(jù)取出,存入寄存器A中2RXY將數(shù)XY存放到寄存器R中3RXY將寄存器R中的數(shù)據(jù)存入主存地址為XY的單元中40RS將寄存器R中的數(shù)存入寄存器S中5RST將寄存器S與T中的用二進(jìn)制補(bǔ)碼表示的數(shù)相加,將結(jié)果存入寄存器R中6RST將寄存器S與T中的用浮點(diǎn)數(shù)表示的數(shù)相加,將結(jié)果存入寄存器R中7RST將寄存器S與T中的數(shù)進(jìn)行或運(yùn)算,將結(jié)果存入寄存器R中8RST將寄存器S與T中的數(shù)進(jìn)行與運(yùn)算,將結(jié)果存入寄存器R中9RST將寄存器S與T中的數(shù)進(jìn)行異或運(yùn)算,將結(jié)果存入寄存器R中AR0X將寄存器R中的數(shù)右移X次,每次將最低位移出的數(shù)字放在最高位的空缺中BRXY若寄存器R中的數(shù)與寄存器0中的數(shù)相同,就將內(nèi)存XY單元中的數(shù)據(jù)(跳轉(zhuǎn)地址)存入程序計(jì)數(shù)器中;否則,按原來的順序繼續(xù)執(zhí)行C000停機(jī),C000程序執(zhí)行的一個(gè)例子⑴從A0開始,將A0放入程序計(jì)數(shù)器中,開始運(yùn)行程序;⑵提取地址為A0的指令(2個(gè)字節(jié)),并把指令(11AA)存放到指令寄存器中,程序計(jì)數(shù)器+2;⑶執(zhí)行指令11AA,通過總線,將AA地址中的值2取出來,放到1號(hào)寄存器中;⑷提取地址為A2的指令,并把指令(12AB)存放到指令寄存器中,程序計(jì)數(shù)器+2;⑸執(zhí)行指令12AB,將AB地址中的值6取出來,存放到2號(hào)寄存器中;⑹提取地址為A4的指令,并把指令(7012)存放到指令寄存器中,程序計(jì)數(shù)器+2;⑺執(zhí)行指令7012,將1號(hào)寄存器中的數(shù)據(jù)與2號(hào)寄存器中的數(shù)據(jù)相加,將結(jié)果存放到0號(hào)寄存器中;⑻提取地址為A6的指令,并把指令(30AC)存放到指令寄存器中,程序計(jì)數(shù)器+2;⑼執(zhí)行指令30AC,將0號(hào)寄存器中的數(shù)據(jù)存放到內(nèi)存地址為AC的存儲(chǔ)單元中;⑽提取地址為A8的指令,并把指令(C000)存放到指令寄存器中,程序計(jì)數(shù)器+2;⑾執(zhí)行指令C000,停機(jī)。

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.3機(jī)器指令與匯編語(yǔ)言

機(jī)器指令與匯編語(yǔ)言為了實(shí)現(xiàn)程序存儲(chǔ)的概念,CPU要能識(shí)別二進(jìn)制編碼的指令機(jī)器語(yǔ)言——指令集合以及編碼系統(tǒng)指令系統(tǒng)CPU必須能夠解碼并執(zhí)行的機(jī)器指令很少一旦計(jì)算機(jī)可以執(zhí)行一些基本的而且是精選的操作,加入額外的操作理論上是不會(huì)改變計(jì)算機(jī)的能力的是否充分利用這種特性導(dǎo)致了兩種不同的計(jì)算機(jī)設(shè)計(jì):CISC(reducedinstructionsetcomputer)RISC(complexinstructionsetcomputer)CISC最初人們采用的是進(jìn)一步增強(qiáng)原有指令的功能,并設(shè)置更為復(fù)雜的指令的方法采用這種設(shè)計(jì)思路的計(jì)算機(jī)被稱為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)。CISC的思路是由IBM公司提出的,并以1964年IBM研制的IBM360系統(tǒng)為代表。

CISC缺點(diǎn)80%的指令只在20%的運(yùn)行時(shí)間里用到;一些指令非常繁雜,而執(zhí)行效率甚至比用幾條簡(jiǎn)單的基本指令組合的實(shí)現(xiàn)還要慢。龐雜的指令系統(tǒng)也給超大規(guī)模集成電路(VLSI)的設(shè)計(jì)帶來了困難,它不但不利于設(shè)計(jì)自動(dòng)化技術(shù)的應(yīng)用,延長(zhǎng)了設(shè)計(jì)周期,增加了成本,容易增加設(shè)計(jì)中出現(xiàn)錯(cuò)誤的機(jī)會(huì),從而降低了系統(tǒng)的可靠性。

RISC思路主要是通過減少指令總數(shù)和簡(jiǎn)化指令的功能來降低硬件設(shè)計(jì)的復(fù)雜度,從而提高指令的執(zhí)行速度。優(yōu)點(diǎn):與CISC技術(shù)相比簡(jiǎn)化了指令系統(tǒng),適合超大規(guī)模集成電路的實(shí)現(xiàn);

提高了機(jī)器執(zhí)行的速度和效率;降低了設(shè)計(jì)成本,提高了系統(tǒng)的可靠性;

提供了直接支持高級(jí)語(yǔ)言的能力,簡(jiǎn)化了編譯程序的設(shè)計(jì)。機(jī)器指令機(jī)器指令系統(tǒng)——每臺(tái)數(shù)字電子計(jì)算機(jī)在設(shè)計(jì)中,都規(guī)定了一組指令。機(jī)器語(yǔ)言——用機(jī)器指令形式編寫的程序。在裸機(jī)級(jí),計(jì)算機(jī)語(yǔ)言關(guān)于算法的描述采用的是實(shí)際機(jī)器的機(jī)器指令,它的符號(hào)集是{0,1},支撐實(shí)際機(jī)器的理論是圖靈機(jī)等計(jì)算模型;在圖靈機(jī)等計(jì)算模型理論的指導(dǎo)下,有關(guān)設(shè)計(jì)形態(tài)的主要成果有馮·諾依曼型計(jì)算機(jī)等具體實(shí)現(xiàn)思想和技術(shù),以及各類數(shù)字電子計(jì)算機(jī)產(chǎn)品。計(jì)算機(jī)語(yǔ)言在裸機(jī)級(jí)所取得的主要成果計(jì)算機(jī)語(yǔ)言抽象理論設(shè)計(jì)裸機(jī)級(jí)的主要內(nèi)容和成果

語(yǔ)言的符號(hào)集為:{0,1};用機(jī)器指令對(duì)算法進(jìn)行描述圖靈機(jī)(過程語(yǔ)言的基礎(chǔ))、波斯特系統(tǒng)(字符串處理語(yǔ)言的基礎(chǔ))、λ-演算(函數(shù)式語(yǔ)言的基礎(chǔ))等計(jì)算模型馮·諾依曼型計(jì)算機(jī)等實(shí)現(xiàn)技術(shù);數(shù)字電子計(jì)算機(jī)產(chǎn)品匯編語(yǔ)言采用字符和十進(jìn)制數(shù)來代替二進(jìn)制代碼的思想。例3.10

對(duì)2+6進(jìn)行計(jì)算的算法描述用機(jī)器指令對(duì)“2+6”進(jìn)行計(jì)算的算法描述:

10110000000001100000010000000010101000100101000000000000匯編語(yǔ)言對(duì)“2+6”進(jìn)行計(jì)算的算法描述:

MOVAL,6ADDAL,2MOVVC,AL

匯編語(yǔ)言語(yǔ)句與特定的機(jī)器指令有一一對(duì)應(yīng)的關(guān)系,但是它畢竟不同于由二進(jìn)制組成的機(jī)器指令,它還需要經(jīng)匯編程序翻譯為機(jī)器指令后才能運(yùn)行。匯編語(yǔ)言源程序經(jīng)匯編程序翻譯成機(jī)器指令,再在實(shí)際的機(jī)器中執(zhí)行。就匯編語(yǔ)言的用戶而言,該機(jī)器是可以直接識(shí)別匯編語(yǔ)言的,從而產(chǎn)生了一個(gè)屬于抽象形態(tài)的重要概念,即虛擬機(jī)的概念。

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.4以虛擬機(jī)的觀點(diǎn)來劃分計(jì)算機(jī)的層次結(jié)構(gòu)

虛擬機(jī)抽象的計(jì)算機(jī)由軟件實(shí)現(xiàn),并與實(shí)際機(jī)器一樣,都具有一個(gè)指令集并可以使用不同的存儲(chǔ)區(qū)域。例如,一臺(tái)機(jī)器上配有C語(yǔ)言和Pascal語(yǔ)言的編譯程序,對(duì)C語(yǔ)言用戶來說,這臺(tái)機(jī)器就是以C語(yǔ)言為機(jī)器語(yǔ)言的虛擬機(jī),對(duì)Pascal用戶來說,這臺(tái)機(jī)器就是以Pascal語(yǔ)言為機(jī)器語(yǔ)言的虛擬機(jī)。虛擬機(jī)的層次之分虛擬機(jī)可分為固件虛擬機(jī)操作系統(tǒng)虛擬機(jī)匯編語(yǔ)言虛擬機(jī)高級(jí)語(yǔ)言虛擬機(jī)應(yīng)用語(yǔ)言虛擬機(jī)等虛擬機(jī)的意義和作用

當(dāng)機(jī)器(實(shí)際機(jī)器或虛擬機(jī))確定下來后,所識(shí)別的語(yǔ)言也隨之確定;反之,當(dāng)一種語(yǔ)言形式化后,所需要支撐的機(jī)器也可以確定下來。從計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)圖中可以清晰地看到這種機(jī)器與語(yǔ)言的關(guān)系。虛擬機(jī)是計(jì)算學(xué)科中抽象的重要內(nèi)容。引入虛擬機(jī)的概念,就計(jì)算機(jī)語(yǔ)言而言,有以下意義和作用:有助于我們正確理解各種語(yǔ)言的實(shí)質(zhì)和實(shí)現(xiàn)途徑

推動(dòng)了計(jì)算機(jī)體系結(jié)構(gòu)以及計(jì)算機(jī)語(yǔ)言的發(fā)展有助于各層次計(jì)算機(jī)語(yǔ)言自身的完善

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.5高級(jí)語(yǔ)言

雖然與機(jī)器語(yǔ)言相比,匯編語(yǔ)言的產(chǎn)生是一個(gè)很大的進(jìn)步,但是用它來進(jìn)行程序設(shè)計(jì)仍然比較困難。于是人們著手對(duì)它進(jìn)行改進(jìn)。一是發(fā)展宏匯編,即用一條宏指令代替若干條匯編指令,從而提高編程效率?,F(xiàn)在人們使用的匯編語(yǔ)言,大多數(shù)都是宏匯編語(yǔ)言。二是創(chuàng)建高級(jí)語(yǔ)言,使編程更加方便。如用高級(jí)語(yǔ)言對(duì)例子2+6進(jìn)行計(jì)算的算法描述,其描述與數(shù)學(xué)描述一樣,即2+6。

高級(jí)語(yǔ)言的分類按語(yǔ)言的特點(diǎn),可以將高級(jí)語(yǔ)言劃分為:過程式語(yǔ)言(如Cobol,F(xiàn)orturn,Algol,Pascal,Ada,C)函數(shù)式語(yǔ)言(如Lisp)數(shù)據(jù)流語(yǔ)言(如SISAL,VAL)面向?qū)ο笳Z(yǔ)言(如Smalltalk,CLU,C++)邏輯語(yǔ)言(如Prolog)字符串語(yǔ)言(如SNOBOL)并發(fā)程序設(shè)計(jì)語(yǔ)言(如ConcurrentPascal,Modula2)等高級(jí)語(yǔ)言的形式化

20世紀(jì)50年代美國(guó)語(yǔ)言學(xué)家喬姆斯基(NoamChomsky)關(guān)于語(yǔ)言分層的理論,巴科斯(Backus)、瑙爾(Naur)的關(guān)于“上下文無關(guān)方法表示形式”的研究成果推動(dòng)了語(yǔ)法形式化的研究。其結(jié)果是,在ALGOL60的文本設(shè)計(jì)中第一次使用了BNF范式來表示語(yǔ)法,并且第一次在語(yǔ)言文本中明確提出應(yīng)將語(yǔ)法和語(yǔ)義區(qū)分開來。高級(jí)語(yǔ)言的形式化20世紀(jì)50年代至60年代間,面向語(yǔ)法的編譯自動(dòng)化理論得到了很大發(fā)展,使語(yǔ)法形式化研究的成果達(dá)到實(shí)用化的水平。語(yǔ)法形式化問題基本解決以后,人們逐步把注意力集中到語(yǔ)義形式化的研究方面,20世紀(jì)60年代,相繼誕生了操作語(yǔ)義學(xué)指稱語(yǔ)義學(xué)公理語(yǔ)義學(xué)代數(shù)語(yǔ)義學(xué)等語(yǔ)義學(xué)理論數(shù)據(jù)類型的抽象相對(duì)于匯編語(yǔ)言和機(jī)器語(yǔ)言,高級(jí)語(yǔ)言的數(shù)據(jù)類型的抽象層次有了很大地提高,出現(xiàn)了整型實(shí)型字符型布爾型用戶自定義類型抽象數(shù)據(jù)類型數(shù)據(jù)類型的抽象極大地方便了用戶對(duì)數(shù)據(jù)的抽象描述,為實(shí)現(xiàn)軟件設(shè)計(jì)的工程化奠定了基礎(chǔ)。

高級(jí)語(yǔ)言中有關(guān)抽象、理論和設(shè)計(jì)3個(gè)形態(tài)的主要內(nèi)容抽象理論設(shè)計(jì)常用的符號(hào):數(shù)字(0

9),大小寫字母(AZ、az),括號(hào),運(yùn)算符(+,,*,/)等;用高級(jí)語(yǔ)言對(duì)算法進(jìn)行的描述;語(yǔ)言的分類方法;各種數(shù)據(jù)類型的抽象實(shí)現(xiàn)模型;詞法分析、編譯、解釋和代碼優(yōu)化的方法;詞法分析器、掃描器、編譯器組件和編譯器的自動(dòng)生成方法形式語(yǔ)言和自動(dòng)機(jī)理論;形式語(yǔ)義學(xué):操作、指稱、公理、代數(shù)、并發(fā)和分布式程序的形式語(yǔ)義特定語(yǔ)言:過程式的COBOL,F(xiàn)ORTURN,ALGOL,Pascal,Ada,C),函數(shù)式的(LISP),數(shù)據(jù)流的(SISAL,VAL),面向?qū)ο蟮模⊿malltalk,C++),邏輯的(Prolog),字符串(SNOBOL),和并發(fā)(ConcurrentPascal,Modula2)等語(yǔ)言;詞法分析器和掃描器的產(chǎn)生器(如YACC,LEX),編譯器產(chǎn)生器;語(yǔ)法和語(yǔ)義檢查,成型、調(diào)試和追蹤程序

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.6應(yīng)用語(yǔ)言

計(jì)算機(jī)語(yǔ)言的劃分一般將它劃分為5代:第一代為機(jī)器語(yǔ)言;第二代為匯編語(yǔ)言;第三代為高級(jí)語(yǔ)言;第四代為“非過程性語(yǔ)言”;第五代為自然語(yǔ)言。

4GL提供了功能強(qiáng)大的非過程化問題定義手段,用戶只需告知系統(tǒng)“做什么”,而無需說明“怎么做”

以數(shù)據(jù)庫(kù)管理系統(tǒng)所提供的功能為核心,進(jìn)一步構(gòu)造了開發(fā)高層軟件系統(tǒng)的開發(fā)環(huán)境,報(bào)表生成多窗口表格設(shè)計(jì)菜單生成系統(tǒng)等4GL的代表性軟件系統(tǒng)有:PowerBuilder、Delphi和INFORMOX-4GL等。應(yīng)用語(yǔ)言中有關(guān)抽象、理論和設(shè)計(jì)形態(tài)的主要內(nèi)容抽象理論設(shè)計(jì)用應(yīng)用語(yǔ)言對(duì)算法進(jìn)行描述

特定應(yīng)用領(lǐng)域的支撐理論:如數(shù)據(jù)庫(kù)等領(lǐng)域的支撐理論在文件處理等方面的應(yīng)用:如表生成,圖、數(shù)據(jù)處理,統(tǒng)計(jì)處理等;第四代語(yǔ)言(4GL),如PowerBuilder、Delphi、Informox-4GL等;程序設(shè)計(jì)環(huán)境

3.7計(jì)算機(jī)語(yǔ)言的發(fā)展及其

3個(gè)學(xué)科形態(tài)的內(nèi)在聯(lián)系

3.7.7自然語(yǔ)言

自然語(yǔ)言計(jì)算機(jī)處理層次的劃分四個(gè)層次:第一層次是文字和語(yǔ)音,即基本語(yǔ)言信息的構(gòu)成;第二層次是語(yǔ)法,即語(yǔ)言的形態(tài)結(jié)構(gòu);第三層次是語(yǔ)義,即語(yǔ)言與它所指的對(duì)象之間的關(guān)系;第四層次是語(yǔ)用,即語(yǔ)言與它的使用者之間的關(guān)系。自然語(yǔ)言的輸入問題鍵盤(漢字的編碼輸入也是通過鍵盤進(jìn)行輸入)掃描手寫語(yǔ)音等方式進(jìn)入計(jì)算機(jī)計(jì)算機(jī)可以對(duì)輸入的文字進(jìn)行各種加工和處理(如放大、變形等),現(xiàn)在大多數(shù)的報(bào)紙、雜志、書籍等就是這一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論