程序設(shè)計(jì)-1(基礎(chǔ)知識(shí))-2012_第1頁(yè)
程序設(shè)計(jì)-1(基礎(chǔ)知識(shí))-2012_第2頁(yè)
程序設(shè)計(jì)-1(基礎(chǔ)知識(shí))-2012_第3頁(yè)
程序設(shè)計(jì)-1(基礎(chǔ)知識(shí))-2012_第4頁(yè)
程序設(shè)計(jì)-1(基礎(chǔ)知識(shí))-2012_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)程序設(shè)計(jì)理論吳文濤wt@

方昕lg@

董齊興 dqx@

沈傳魁/p>

sck@

課程章節(jié)一、計(jì)算機(jī)及程序設(shè)計(jì)基礎(chǔ)二、C程序結(jié)構(gòu)和設(shè)計(jì)方法三、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式四、程序的控制結(jié)構(gòu)與基本算法五、數(shù)組六、函數(shù)七、預(yù)處理八、指針九、結(jié)構(gòu)體與共用體十、位運(yùn)算十一、流與文件操作十二、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言C++簡(jiǎn)介教材與參考書(shū)《C語(yǔ)言程序設(shè)計(jì)》《計(jì)算機(jī)程序設(shè)計(jì)學(xué)習(xí)指導(dǎo)與練習(xí)》《TheCProgrammingLanguage》 (C程序設(shè)計(jì)語(yǔ)言)(K&R)

第一章計(jì)算機(jī)及程序設(shè)計(jì)

基礎(chǔ)知識(shí)1.1計(jì)算機(jī)的發(fā)展史1.2計(jì)算機(jī)系統(tǒng)的組成及工作原理1.3微型計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)

1.4信息的表示及存儲(chǔ)形式1.5計(jì)算機(jī)程序及算法本章主要內(nèi)容

KeyQuestions§1.1

計(jì)算機(jī)發(fā)展史在電子計(jì)算機(jī)之前,人類用于計(jì)算的輔助工具有:算盤(pán),手搖計(jì)算機(jī)(機(jī)械式,主要由機(jī)械齒輪組成),大型微分分析儀等。最早研制電子計(jì)算機(jī),是為了解決科技進(jìn)步特別是軍事應(yīng)用方面運(yùn)算量越來(lái)越大的問(wèn)題。

世界上第一臺(tái)電子計(jì)算機(jī)誕生于1946年2月的世界上第一臺(tái)電子計(jì)算機(jī),是為美國(guó)陸軍計(jì)算槍炮火力表而研制。每張火力表需要計(jì)算數(shù)百條彈道,一條飛行時(shí)間為60秒的彈道,手搖計(jì)算機(jī)20小時(shí),大型微分分析儀15分鐘。軍方要求每天計(jì)算機(jī)6張火力表。ENIAC(埃尼亞克)這臺(tái)名為ENIAC(電子數(shù)字積分計(jì)算機(jī)的縮寫(xiě))的機(jī)器,使用18800個(gè)電子管,1500多個(gè)繼電器,耗電150千瓦,占地170平方米,重達(dá)30噸,可謂“龐然大物”也。電子計(jì)算機(jī)時(shí)代的到來(lái)ENIAC由美國(guó)賓夕法尼亞州立大學(xué)莫爾學(xué)院設(shè)計(jì)研制,價(jià)值40多萬(wàn)美元,運(yùn)算速度5000次/秒。今天看來(lái),其運(yùn)算速度低得可憐,而在當(dāng)時(shí),計(jì)算一條彈道時(shí)間縮短為30秒。它運(yùn)算兩小時(shí),相當(dāng)于一個(gè)物理學(xué)家100年的手工計(jì)算,不能不說(shuō)是一個(gè)劃時(shí)代的事件——表明了電子計(jì)算機(jī)時(shí)代的到來(lái)。

計(jì)算機(jī)史從1946年到今天,計(jì)算機(jī)技術(shù)已經(jīng)經(jīng)歷了四次革命性的變化(四代),一代比一代體積縮小,功能增強(qiáng),價(jià)格下降。第一代(1946-1958)

電子技術(shù),核心元件電子管,幾千次/秒,用于軍事與科學(xué)研究。第二代(1959-1963)

半導(dǎo)體技術(shù),核心元件晶體管,幾十萬(wàn)次/秒,用于科學(xué)計(jì)算、數(shù)據(jù)和事務(wù)處理。1954年,美國(guó)貝爾實(shí)驗(yàn)室研制成功第一臺(tái)使用晶體管線路的計(jì)算機(jī),取名“催迪克”(TRADIC),裝有800個(gè)晶體管。第三代(1964-1970)

固體物理技術(shù),核心元件中小規(guī)模集成電路,在幾平方毫米單晶硅片上集成十幾個(gè)至上百個(gè)電子元件;幾十萬(wàn)至幾百萬(wàn)次/秒;用于各個(gè)科學(xué)領(lǐng)域。體積變小,功耗更低價(jià)格降低運(yùn)算速度提高應(yīng)用領(lǐng)域進(jìn)一步擴(kuò)大第四代(1971至今)

核心元件大規(guī)模和超大規(guī)模集成電路(如“奔騰4處理器”包含4200萬(wàn)個(gè)晶體管);上千萬(wàn)次至上億次/秒;進(jìn)入現(xiàn)代社會(huì)各個(gè)領(lǐng)域。超大規(guī)模集成電路應(yīng)用的直接結(jié)果是微型計(jì)算機(jī)的誕生。今天之計(jì)算機(jī)迄今為止的四代計(jì)算機(jī)都是按美籍匈牙利數(shù)學(xué)家馮·諾依曼提出的工作原理設(shè)計(jì)制造的,所以也稱為“馮·諾依曼型計(jì)算機(jī)”。隨著技術(shù)的發(fā)展,今天的計(jì)算機(jī)已不再是一種單純的計(jì)算工具。今天的計(jì)算機(jī),除了高速運(yùn)算(數(shù)十億次/秒),還有邏輯處理功能,是一種具有強(qiáng)大信息處理能力的“智能化機(jī)器”。換言之,計(jì)算機(jī)應(yīng)用已從單純的數(shù)值計(jì)算轉(zhuǎn)入信息處理領(lǐng)域。正因?yàn)槿绱?,才使?jì)算機(jī)走出科研院所的“象牙之塔”,進(jìn)入現(xiàn)代社會(huì)的各個(gè)領(lǐng)域。今天的電子計(jì)算機(jī),不僅會(huì)高速進(jìn)行各種各樣的科學(xué)計(jì)算,而且象人腦一樣,會(huì)“判斷”,會(huì)“思考”,會(huì)迅速果斷地處理各種問(wèn)題。所以,越來(lái)越多的人開(kāi)始把計(jì)算機(jī)叫做“電腦”。計(jì)算機(jī)發(fā)展史上的重要人物查爾斯·巴比奇(CharlesBabbage)。這一位十九世紀(jì)的英國(guó)數(shù)學(xué)家,發(fā)明了世界上第一臺(tái)機(jī)械計(jì)算機(jī)器——差分機(jī)。在19世紀(jì)20、30年代,巴比奇就設(shè)計(jì)了差分機(jī)和分析機(jī),他把機(jī)器設(shè)計(jì)成三個(gè)部分,一是用來(lái)儲(chǔ)存數(shù)據(jù)信息的“倉(cāng)庫(kù)(TheStore)”,二是進(jìn)行數(shù)據(jù)運(yùn)算處理的“工場(chǎng)(Themill)”。而巴比奇一生的后四十年都致力于發(fā)展一部“會(huì)分析的機(jī)器”,這位高速數(shù)字電腦之父希望這部機(jī)器只要輸入資料后就可不須人類直接指示,進(jìn)行各種數(shù)學(xué)運(yùn)算。那臺(tái)怎么也算不上美觀的機(jī)械,卻和現(xiàn)代電腦一樣,擁有記憶體、運(yùn)算部門(mén)、控制中心和輸出輸入中心這四部分,可謂歷史性的創(chuàng)造。計(jì)算機(jī)發(fā)展史上的重要人物英國(guó)數(shù)學(xué)家圖靈(Turing):創(chuàng)建了自動(dòng)機(jī)理論,發(fā)展了可計(jì)算機(jī)性理論,奠定了人工智能的基礎(chǔ)。美籍匈牙利數(shù)學(xué)家馮.諾依曼(VonNeumann):確立了現(xiàn)代計(jì)算機(jī)的基本結(jié)構(gòu),即馮.諾依曼體系結(jié)構(gòu)。其要點(diǎn)是計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成數(shù)據(jù)和指令(程序)以二進(jìn)制代碼形式不加區(qū)別地在執(zhí)行前存放在存儲(chǔ)器中存儲(chǔ)程序和數(shù)據(jù)的概念計(jì)算機(jī)科學(xué)之父:阿倫·圖靈AlanMathisonTuring,1912~1954,英國(guó)數(shù)學(xué)家右圖:圖靈紀(jì)念館阿蘭·麥席森·圖靈,1912年生于英國(guó)倫敦,1954年死于英國(guó)的曼徹斯特,他是計(jì)算機(jī)邏輯的奠基者,許多人工智能的重要方法也源自于這位偉大的科學(xué)家。他對(duì)計(jì)算機(jī)的重要貢獻(xiàn)在于他提出的有限狀態(tài)自動(dòng)機(jī)也就是圖靈機(jī)的概念,對(duì)于人工智能,它提出了重要的衡量標(biāo)準(zhǔn)“圖靈測(cè)試”,如果有機(jī)器能夠通過(guò)圖靈測(cè)試,那他就是一個(gè)完全意義上的智能機(jī),和人沒(méi)有區(qū)別了。圖靈獎(jiǎng):計(jì)算機(jī)界的諾貝爾獎(jiǎng)ACM是美國(guó)計(jì)算機(jī)學(xué)會(huì)的縮寫(xiě)。最初這是美國(guó)的一個(gè)學(xué)術(shù)性組織,現(xiàn)在是美國(guó)乃至全世界最重要、影響最大的一個(gè)計(jì)算機(jī)學(xué)術(shù)團(tuán)體。1966年,ACM創(chuàng)建圖靈獎(jiǎng),有"計(jì)算機(jī)界的諾貝爾獎(jiǎng)"之稱。這個(gè)獎(jiǎng)以英國(guó)數(shù)學(xué)家圖靈命名,圖靈在計(jì)算機(jī)出現(xiàn)之前就提出了計(jì)算機(jī)的模型,設(shè)想了它由哪些部件組成,以何種方式和順序工作,被稱為圖靈機(jī),奠定了計(jì)算機(jī)科學(xué)理論的基礎(chǔ)。但圖靈的結(jié)局是個(gè)悲劇,他在42歲正當(dāng)年富力強(qiáng),創(chuàng)造力最旺盛的時(shí)候用自殺結(jié)束了自己的生命,令世人惋惜,用他的名字命名這個(gè)獎(jiǎng)項(xiàng)就是為了紀(jì)念這位偉人。

計(jì)算機(jī)之父—馮·諾依曼著名美籍匈牙利數(shù)學(xué)家。1903年12月3日生于匈牙利布達(dá)佩斯的一個(gè)猶太人家庭。馮·諾伊曼自童年起在吸收知識(shí)和解題方面就具有驚人的速度。六歲時(shí)他能心算做八位數(shù)乘除法,八歲時(shí)掌握微積分,十二歲就讀懂領(lǐng)會(huì)了波萊爾的大作《函數(shù)論》要義。一生掌握了七種語(yǔ)言。馮·諾依曼對(duì)人類的最大貢獻(xiàn)是對(duì)計(jì)算機(jī)科學(xué)、計(jì)算機(jī)技術(shù)和數(shù)值分析的開(kāi)拓性工作。ENIAC機(jī)證明電子真空技術(shù)可以大大地提高計(jì)算技術(shù),不過(guò),ENIAC機(jī)本身存在兩大缺點(diǎn):(1)沒(méi)有存儲(chǔ)器;(2)它用布線接板進(jìn)行控制,甚至要搭接見(jiàn)天,計(jì)算速度也就被這一工作抵消了。馮·諾依曼由ENIAC機(jī)研制組的戈?duì)柕滤雇⒅形窘榻B參加ENIAC機(jī)研制小組后,便帶領(lǐng)這批富有創(chuàng)新精神的年輕科技人員,向著更高的目標(biāo)進(jìn)軍。1945年,他們?cè)诠餐懻摰幕A(chǔ)上,發(fā)表了一個(gè)全新的“存儲(chǔ)程序通用電子計(jì)算機(jī)方案”

(EDVAC)。EDVAC方案明確奠定了新機(jī)器由五個(gè)部分組成,包括:運(yùn)算器、邏輯控制裝置、存儲(chǔ)器、輸入和輸出設(shè)備,并描述了這五部分的職能和相互關(guān)系。EDVAC機(jī)還有兩個(gè)非常重大的改進(jìn),即:采用了二進(jìn)制,不但數(shù)據(jù)采用二進(jìn)制,指令也采用二進(jìn)制;建立了存儲(chǔ)程序,指令和數(shù)據(jù)便可一起放在存儲(chǔ)器里,并作同樣處理。這些改進(jìn)簡(jiǎn)化了計(jì)算機(jī)的結(jié)構(gòu),大大提高了計(jì)算機(jī)的速度。1946年7,8月間,馮·諾依曼和戈?duì)柕滤雇?、勃克斯在EDVAC方案的基礎(chǔ)上,為普林斯頓大學(xué)高級(jí)研究所研制IAS計(jì)算機(jī)時(shí),又提出了一個(gè)更加完善的設(shè)計(jì)報(bào)告《電子計(jì)算機(jī)邏輯設(shè)計(jì)初探》。以上兩份既有理論又有具體設(shè)計(jì)的文件,首次在全世界掀起了一股“計(jì)算機(jī)熱”,它們的綜合設(shè)計(jì)思想,便是著名的“馮·諾依曼機(jī)”,其中心思想就是存儲(chǔ)程序原則:指令和數(shù)據(jù)一起存儲(chǔ)。這個(gè)概念被譽(yù)為”計(jì)算機(jī)發(fā)展史上的一個(gè)里程碑"。它標(biāo)志著電子計(jì)算機(jī)時(shí)代的真正開(kāi)始,指導(dǎo)著以后的計(jì)算機(jī)設(shè)計(jì)?!?.2計(jì)算機(jī)系統(tǒng)的組成和工作原理計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成計(jì)算機(jī)的硬件系統(tǒng)及工作原理1、硬件系統(tǒng)的基本組成:1)硬件:計(jì)算機(jī)系統(tǒng)中由電子、機(jī)械和光電元件等組成的各種計(jì)算機(jī)部件和計(jì)算機(jī)設(shè)備。

裸機(jī):未配置任何軟件的計(jì)算機(jī)。

2)硬件基本組成:(1)運(yùn)算器(ALU)(2)控制器(指揮中心)

(3)存儲(chǔ)器(主存和輔存)

(4)輸入設(shè)備:鍵盤(pán),鼠標(biāo),數(shù)字化儀,掃描儀等.(5)輸出設(shè)備:打印機(jī),繪圖儀,顯示器等.說(shuō)明:衡量存儲(chǔ)器容量的單位是字節(jié)(B),千字節(jié)(KB)、兆字節(jié)(MB)、吉字節(jié)(GB)、TBCPU主機(jī)外設(shè)運(yùn)算器功能:算術(shù)運(yùn)算和邏輯運(yùn)算控制器功能:使計(jì)算機(jī)能自動(dòng)地執(zhí)行程序,并使各部分協(xié)調(diào)工作存儲(chǔ)器功能:用于保存程序和數(shù)據(jù)

主存儲(chǔ)器(內(nèi)部存儲(chǔ)器)

存放當(dāng)前所執(zhí)行程序的指令和數(shù)據(jù)

輔助存儲(chǔ)器(外部存儲(chǔ)器)

存放暫不參加運(yùn)算的程序的指令和數(shù)據(jù)輸入設(shè)備用于程序和數(shù)據(jù)輸入(標(biāo)準(zhǔn)設(shè)備:鍵盤(pán))輸出設(shè)備用于程序和數(shù)據(jù)輸出(標(biāo)準(zhǔn)設(shè)備:顯示器)2、其他有關(guān)概念:1)中央處理器(CPU):包括運(yùn)算器和控制器兩大部分,CPU是計(jì)算機(jī)硬件的核心。2)主機(jī):在硬件系統(tǒng)中,內(nèi)存、CPU和連接輸入輸出設(shè)備的接口統(tǒng)稱為主機(jī)。3)外部設(shè)備:也稱為外設(shè),輸入設(shè)備和輸出設(shè)備都是計(jì)算機(jī)的外部設(shè)備。3、基本工作原理

馮?諾依曼的“埃得伐克”理論:二進(jìn)制、存儲(chǔ)程序工作原理、五大構(gòu)成部件。

(1)二進(jìn)制:以二元邏輯為基礎(chǔ),用0和1二進(jìn)制碼組成各種信息進(jìn)行運(yùn)算。

(2)“存儲(chǔ)程序”工作原理:在計(jì)算機(jī)中設(shè)置存儲(chǔ)器,將二進(jìn)制編碼表示的計(jì)算步驟與數(shù)據(jù)存放在存儲(chǔ)器中,機(jī)器一啟動(dòng)就能按照程序指定的邏輯順序依次取出存儲(chǔ)內(nèi)容進(jìn)行譯碼和處理,自動(dòng)完成由程序所描述的處理工作。它被譽(yù)為計(jì)算機(jī)史上的里程碑。計(jì)算機(jī)工作原理示意圖運(yùn)算結(jié)果輸入設(shè)備主存儲(chǔ)器輔助存儲(chǔ)器輸出設(shè)備運(yùn)算器控制器輸入輸出程序原始數(shù)據(jù)指令數(shù)據(jù)線控制信號(hào)線常用術(shù)語(yǔ)在計(jì)算機(jī)五大部分中,運(yùn)算器和控制器是最核心的部分,通常做在一個(gè)器件上,稱作CPU。

【術(shù)語(yǔ)】CPU=控制器+運(yùn)算器(+寄存器組)只有主存(內(nèi)存)可直接與CPU交換信息,它與CPU組合可實(shí)現(xiàn)計(jì)算機(jī)的基本功能。

【術(shù)語(yǔ)】主機(jī)=CPU+主存儲(chǔ)器輸入/輸出(Input/Output)設(shè)備和外存合稱“外圍設(shè)備”。

【術(shù)語(yǔ)】外設(shè)=I/O+輔助存儲(chǔ)器運(yùn)算器輸入設(shè)備主存儲(chǔ)器輔助存儲(chǔ)器輸出設(shè)備控制器輸入輸出程序原始數(shù)據(jù)運(yùn)算結(jié)果馮·諾依曼型計(jì)算機(jī)上述計(jì)算機(jī)的基本結(jié)構(gòu)是由美藉匈牙利科學(xué)家馮·

諾依曼于1946年提出的。迄今為止所有進(jìn)入實(shí)用的電子計(jì)算機(jī)都是按馮·諾依曼的提出的結(jié)構(gòu)體系和工作原理設(shè)計(jì)制造的,故又統(tǒng)稱為“馮·諾依曼型計(jì)算機(jī)”。新一代計(jì)算機(jī)將努力突破馮氏的結(jié)構(gòu)體系和工作原理,將是“非馮·諾依曼型計(jì)算機(jī)”。馮·諾依曼型計(jì)算機(jī)的兩大特征程序存儲(chǔ)(計(jì)算機(jī)自動(dòng)連續(xù)工作的基礎(chǔ))采用二進(jìn)制(機(jī)內(nèi)一切信息均需為二進(jìn)制編碼形式存在)馮·諾依曼型計(jì)算機(jī)的工作原理存儲(chǔ)程序(將欲執(zhí)行的任務(wù)事先編成程序存入主存中)程序控制(執(zhí)行時(shí)由CPU調(diào)用主存中的程序進(jìn)行運(yùn)算)指令和指令系統(tǒng)一臺(tái)計(jì)算機(jī)所能執(zhí)行的各種不同類型指令的總和。即一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部操作。不同計(jì)算機(jī)的指令系統(tǒng)包含的指令種類和數(shù)目也不同。指令系統(tǒng)的組成:操作碼和操作數(shù)一般均包含算術(shù)運(yùn)算型、邏輯運(yùn)算型、數(shù)據(jù)傳送型、判定和控制型、輸入和輸出型等指令。指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,它的格式與功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影響到機(jī)器的適用范圍。

完備性:指用匯編語(yǔ)言編寫(xiě)各種程序時(shí),指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。有效性:是指利用該指令系統(tǒng)所編寫(xiě)的程序能夠高效率地運(yùn)行。高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。規(guī)整性:包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。兼容性:至少要能做到“向上兼容”,即低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行。

說(shuō)明:(1)操作系統(tǒng):大致包括五大管理功能:處理器管理、存儲(chǔ)管理、設(shè)備管理、文件管理和作業(yè)管理。分類:P2、DOS、WINDOWS、UNIX(2)計(jì)算機(jī)語(yǔ)言:1)機(jī)器語(yǔ)言:計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語(yǔ)言;面向機(jī)器2)匯編語(yǔ)言:是符號(hào)化的機(jī)器語(yǔ)言;面向機(jī)器;匯編3)高級(jí)語(yǔ)言:面向過(guò)程,面向?qū)ο螅ń忉?、編譯)(3)應(yīng)用軟件:為某一應(yīng)用目的而用系統(tǒng)軟件編制的軟件。包括應(yīng)用程序、函數(shù)庫(kù)、子程序庫(kù)。常見(jiàn)的有字處理軟件、電子表格軟件、多媒體制作軟件二、軟件系統(tǒng)的分類及組成計(jì)算機(jī)軟件:計(jì)算機(jī)運(yùn)行時(shí)所需的程序、數(shù)據(jù)和有關(guān)文檔。系統(tǒng)軟件應(yīng)用軟件操作系統(tǒng)語(yǔ)言處理程序診斷程序維護(hù)程序數(shù)據(jù)庫(kù)管理系統(tǒng)軟件系統(tǒng)兩類軟件軟件通常可以分為兩類:

SystemSoftware(系統(tǒng)軟件)ApplicationSoftware(應(yīng)用軟件)應(yīng)用軟件:我用的系統(tǒng)軟件:它用的你可以認(rèn)為應(yīng)用軟件是你用的,而系統(tǒng)軟件是計(jì)算機(jī)用的。SystemSoftware:

TheComputer’sBoss功能用于使計(jì)算機(jī)能夠管理其本身的內(nèi)部資源,控制硬件的運(yùn)行,執(zhí)行各種基本操作,如使CPU與鍵盤(pán)、顯示器、打印機(jī)和磁盤(pán)驅(qū)動(dòng)器通信等。系統(tǒng)軟件不用于解決各種業(yè)務(wù)性或?qū)I(yè)性的具體問(wèn)題。最重要的一種系統(tǒng)軟件是“操作系統(tǒng)”。目前個(gè)人計(jì)算機(jī)最常用的系統(tǒng)軟件即美國(guó)Microsoft(微軟)公司的Windows(視窗)系列操作系統(tǒng)。ApplicationSoftware:

YourServant功能用于提高計(jì)算機(jī)用戶的工作效率和創(chuàng)造力。目前個(gè)人計(jì)算機(jī)最常用的應(yīng)用軟件是美國(guó)Microsoft(微軟)公司的Office系列辦公軟件和InternetExplorerBrowser(IE瀏覽器)。前者用于編寫(xiě)文檔、處理電子表格、制作網(wǎng)頁(yè)和多媒體演示軟件等,后者用于在因特網(wǎng)上“上網(wǎng)沖浪”——訪問(wèn)遠(yuǎn)程網(wǎng)站、下載軟件、收發(fā)電子郵件、網(wǎng)上交友…機(jī)器語(yǔ)言(指令系統(tǒng))其指令為二進(jìn)制代碼(0、1),如用00110011……表示相加。用機(jī)器語(yǔ)言編寫(xiě)的程序計(jì)算機(jī)可直接識(shí)別,執(zhí)行速度最快,但可讀性、可移植性差匯編語(yǔ)言用“助記符”代替二進(jìn)制代碼,如用ADDA,B表示兩數(shù)相加。其程序必須通過(guò)翻譯程序(匯編程序)翻譯成二進(jìn)制代碼后才能執(zhí)行。

機(jī)器語(yǔ)言和匯編語(yǔ)言都是“面向機(jī)器”的低級(jí)語(yǔ)言。程序設(shè)計(jì)語(yǔ)言高級(jí)語(yǔ)言(面向過(guò)程)用英文單詞和代數(shù)表達(dá)式編寫(xiě)程序,最接近人類的自然語(yǔ)言(英語(yǔ))。如用LETC=A+B表示兩數(shù)相加。用高級(jí)語(yǔ)言編寫(xiě)的程序稱為“源程序”。源程序必須經(jīng)過(guò)翻譯程序翻譯后計(jì)算機(jī)才能處理。高級(jí)語(yǔ)言的翻譯程序有兩種:解釋程序:翻譯一句,計(jì)算機(jī)執(zhí)行一句。(相當(dāng)于“口譯”)編譯程序:將源程序整個(gè)翻譯成目標(biāo)程序,再通過(guò)“鏈接程序”生成“可執(zhí)行程序”,然后交計(jì)算機(jī)執(zhí)行。(相當(dāng)于“筆譯”)程序設(shè)計(jì)語(yǔ)言小結(jié):①低級(jí)語(yǔ)言(面向機(jī)器語(yǔ)言)機(jī)器語(yǔ)言——其程序無(wú)需翻譯即可被識(shí)別,執(zhí)行速度最快匯編語(yǔ)言——其程序需通過(guò)翻譯程序(匯編程序)處理常見(jiàn)高級(jí)語(yǔ)言種類:

BASIC語(yǔ)言——簡(jiǎn)單易學(xué)

C語(yǔ)言——編程通用

Fortran語(yǔ)言——科學(xué)計(jì)算

Pascal語(yǔ)言——程序設(shè)計(jì)教學(xué)【術(shù)語(yǔ)】指令=操作碼+操作數(shù)(地址碼)(操作碼不可缺少)②高級(jí)語(yǔ)言(面向過(guò)程語(yǔ)言)其程序需通過(guò)翻譯程序(解釋程序/編譯程序)處理名詞:

【源程序】用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)的程序(需經(jīng)“翻譯”處理)

【翻譯程序】將源程序譯成目標(biāo)程序或可執(zhí)行指令的程序

【目標(biāo)程序】經(jīng)翻譯程序翻譯生成的程序

【可執(zhí)行程序】經(jīng)連接程序處理過(guò)的程序互相關(guān)系MOVA,3ADDA,6A=5,B=4C=B+A*2/B01100100011011目標(biāo)程序高級(jí)語(yǔ)言源程序匯編語(yǔ)言源程序匯編程序編譯程序解釋程序可執(zhí)行程序連接程序翻譯一句執(zhí)行一句注意——生成目標(biāo)程序的條件!支持?jǐn)?shù)據(jù)庫(kù)的編程語(yǔ)言VB:全稱VisualBasic,它是以Basic語(yǔ)言作為其基本語(yǔ)言的一種可視化編程工具PB:全稱PowerBuilder,是開(kāi)發(fā)MIS系統(tǒng)和各類數(shù)據(jù)庫(kù)跨平臺(tái)的首選,使用簡(jiǎn)單,容易學(xué)習(xí),容易掌握,在代碼執(zhí)行效率上也有相當(dāng)出色的表現(xiàn)C++Builder/Delphi:它們都是基于VCL庫(kù)的可視化開(kāi)發(fā)工具,它們?cè)诮M件技術(shù)的支持、數(shù)據(jù)庫(kù)支持、系統(tǒng)底層開(kāi)發(fā)支持、網(wǎng)絡(luò)開(kāi)發(fā)支持、面向?qū)ο筇匦缘雀鞣矫娑加邢喈?dāng)不錯(cuò)的表現(xiàn),并且學(xué)習(xí)使用較為容易,充分提現(xiàn)了所見(jiàn)即所得的可視化開(kāi)發(fā)方法,開(kāi)發(fā)效率高VisualC++:是基于MFC庫(kù)的可視化的開(kāi)發(fā)工具,從總體上說(shuō)它是一個(gè)功能強(qiáng)大但是不便使用的一種工具。Java:面向?qū)ο筇匦愿撸С值慕M件技術(shù)也非常多,跨平臺(tái)的特性也使得它在現(xiàn)在和未來(lái)的網(wǎng)絡(luò)開(kāi)發(fā)中占據(jù)越來(lái)越重要的地位。

三、計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)

內(nèi)核:硬件系統(tǒng)橋梁:系統(tǒng)軟件最外層:應(yīng)用軟件硬件系統(tǒng)系統(tǒng)軟件用戶應(yīng)用軟件計(jì)算機(jī)系統(tǒng)的分類:根據(jù)其體積大小和處理能力,通??煞譃镾upercomputers(超級(jí)計(jì)算機(jī))Mainframecomputers

(大型計(jì)算機(jī))Workstations(工作站)Microcomputers

(微型計(jì)算機(jī))Microcontrollers

(微控制器)1.3微型計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)世界超級(jí)計(jì)算機(jī)

全球TOP500排行榜

世界超級(jí)計(jì)算機(jī)TOP500排名,是由國(guó)際專業(yè)評(píng)價(jià)超級(jí)計(jì)算機(jī)性能的組織——“TOP500”倡導(dǎo)發(fā)起的。該組織于1993年成立,每年6月和11月各發(fā)布一次全世界已安裝并在使用的運(yùn)算速度最快的前500臺(tái)超級(jí)計(jì)算機(jī)的排名,截至到2003年6月27日為止,已經(jīng)進(jìn)行了21屆。到2003年6月排名第一的是NEC公司的Earth-Simulator/5120超級(jí)計(jì)算機(jī),運(yùn)算速度達(dá)到35.86萬(wàn)億次。日本的K超級(jí)計(jì)算機(jī)的運(yùn)算能力為每秒8.16千萬(wàn)億次,超過(guò)中國(guó)的天號(hào)-1A成為全球運(yùn)算能力最強(qiáng)的超級(jí)計(jì)算機(jī)系統(tǒng)。K配置68544個(gè)SPARC64

VIIIfx

CPU(中央處理器),每個(gè)CPU集成有8個(gè)內(nèi)核,內(nèi)核總數(shù)為548352個(gè),幾乎相當(dāng)于排行榜上其他系統(tǒng)的2倍。

飛速發(fā)展的計(jì)算機(jī)技術(shù)摩爾定律:

Intel的創(chuàng)始人之一GordonMoore在1965年提出了這個(gè)著名的定律,預(yù)言單位平方英寸芯片的晶體管數(shù)目每過(guò)18到24個(gè)月就將增加一倍。過(guò)去四十年的芯片產(chǎn)業(yè)一直遵循摩爾定律每18個(gè)月速度增長(zhǎng)一倍的規(guī)律運(yùn)行。事實(shí)上,Intel的CPU芯片上的晶體管數(shù)目已經(jīng)由1971年的2300增長(zhǎng)到今天Pentium4處理器的5500萬(wàn),即增長(zhǎng)了兩萬(wàn)四千倍。索尼公司展示新型掌上電腦CPUCPU的英文全稱是CentralProcessingUnit,即中央處理器。CPU從雛形出現(xiàn)到發(fā)展壯大的今天,由于制造技術(shù)的越來(lái)越先進(jìn),其集成度越來(lái)越高,內(nèi)部的晶體管數(shù)達(dá)到幾百萬(wàn)個(gè)。雖然從最初的CPU發(fā)展到現(xiàn)在其晶體管數(shù)增加了幾十倍,但是CPU的內(nèi)部結(jié)構(gòu)仍然可分為控制單元,邏輯單元和存儲(chǔ)單元三大部分。CPU的性能大致上反映出了它所配置的那部微機(jī)的性能,因此CPU的性能指標(biāo)十分重要。主頻,也就是CPU的時(shí)鐘頻率,簡(jiǎn)單地說(shuō)也就是CPU的工作頻率。內(nèi)存總線速度或者叫系統(tǒng)總路線速度,一般等同于CPU的外頻。工作電壓,工作電壓指的也就是CPU正常工作所需的電壓。制造工藝,PentiumCPU的制造工藝是0.35微米,PII和賽揚(yáng)可以達(dá)到0.25微米,最新的CPU制造工藝可以達(dá)到0.18微米,并且將采用銅配線技術(shù),可以極大地提高CPU的集成度和工作頻率。CPU發(fā)展史1971年。世界上第一塊微處理器4004在Intel公司誕生了。它出現(xiàn)的意義是劃時(shí)代的,比起現(xiàn)在的CPU,4004顯得很可憐,它只有2300個(gè)晶體管,功能相當(dāng)有限,而且速度還很慢。1978年,Intel公司首次生產(chǎn)出16位的微處理器命名為i8086,由于這些指令集應(yīng)用于i8086和i8087,所以人們也這些指令集統(tǒng)一稱之為X86指令集。這就是X86指令集的來(lái)歷。1979年,Intel公司推出了8088芯片,它是第一塊成功用于個(gè)人電腦的CPU。它仍舊是屬于16位微處理器,內(nèi)含29000個(gè)晶體管,時(shí)鐘頻率為4.77MHz,地址總線為20位,尋址范圍僅僅是1MB內(nèi)存。8088內(nèi)部數(shù)據(jù)總線都是16位,外部數(shù)據(jù)總線是8位,而它的兄弟8086是16位,這樣做只是為了方便計(jì)算機(jī)制造商設(shè)計(jì)主板。1981年8088芯片首次用于IBMPC機(jī)中,開(kāi)創(chuàng)了全新的微機(jī)時(shí)代。1982年,Intel推出80286芯片,它比8086和8088都有了飛躍的發(fā)展1985年Intel推出了80386芯片,它X86系列中的第一種32位微處理器,而且制造工藝也有了很大的進(jìn)步1989年,Intel推出80486芯片,它的特殊意義在于這塊芯片首次突破了100萬(wàn)個(gè)晶體管的界限,集成了120萬(wàn)個(gè)晶體管?,F(xiàn)今的CPUPentium:就是大名鼎鼎的“奔騰”處理器,它是Intel在1993年推出的全新一代的高性能處理器PentiumPro:Intel在1996年推出的第六代X86CPU。PentiumMMX:與1996年底又推出了Pentium系列的改進(jìn)版本PntiumⅡ:1997年5月,Intel又推出了和PentiumPro同一個(gè)級(jí)別的產(chǎn)品。Celeron:賽揚(yáng)是Intel針對(duì)PentiumII提出的廉價(jià)版本,其核心技術(shù)與PentiumII相同,企圖攻占低價(jià)位個(gè)人電腦市場(chǎng),可以說(shuō)是Intel為搶占低端市場(chǎng)而專門(mén)推出的Xeon:至強(qiáng)處理器,主要是用于高端的NT服務(wù)器的。IntelPentiumIII:其受矚目的原因是其在多媒體方面性能的增強(qiáng),能加速需要密集處理運(yùn)行的程序。2000年3月6日:AMD發(fā)布Athlon1GHzIntel的PentiumIV和AMDAthlon64。雖然按照發(fā)布時(shí)間來(lái)說(shuō),Athlon64要比PentiumIV遲一個(gè)時(shí)代(PentiumIV發(fā)布時(shí)間是2000年11月,而Athlon64則是2003年9月),但PentiumIV經(jīng)過(guò)了幾年的的換芯,性能也獲得了顯著提升。2006年Intel宣布了酷睿雙核處理器。這是第一款面向便攜式電腦設(shè)計(jì)的雙核處理器,擁有極佳的性能,至少比P4快多了。這也是第一款真雙核X86處理器,共享緩存設(shè)計(jì)。今天的中流砥柱:酷睿2計(jì)算機(jī)主板主板是電腦系統(tǒng)中最大的一塊電路板,它的英文名字叫做“Mainboard”或“Motherboard”,簡(jiǎn)稱M/B。主板上布滿了各種電子元件、插槽、接口等。它為CPU、內(nèi)存和各種功能(聲、圖、通信、網(wǎng)絡(luò)、TV、SCSI等)卡提供安裝插座(槽);為各種磁、光存儲(chǔ)設(shè)備、打印和掃描等I/O設(shè)備以及數(shù)碼相機(jī)、攝像頭、“貓”(Modem)等多媒體和通訊設(shè)備提供接口,實(shí)際上電腦通過(guò)主板將CPU等各種器件和外部設(shè)備有機(jī)地結(jié)合起來(lái)形成一套完整的系統(tǒng)。電腦在正常運(yùn)行時(shí)對(duì)系統(tǒng)內(nèi)存、存儲(chǔ)設(shè)備和其它I/O設(shè)備的操控都必須通過(guò)主板來(lái)完成,因此電腦的整體運(yùn)行速度和穩(wěn)定性在相當(dāng)程度上取決于主板的性能。計(jì)算機(jī)主板認(rèn)識(shí)內(nèi)存在了解內(nèi)存的發(fā)展之前,我們應(yīng)該先解釋一下幾個(gè)常用詞匯,這將有助于我們加強(qiáng)對(duì)內(nèi)存的理解。RAM就是RandomAccessMemory(隨機(jī)存貯器)的縮寫(xiě)。它又分成兩種StaticRAM(靜態(tài)隨機(jī)存貯器)和DynamicRAM(動(dòng)態(tài)隨機(jī)存貯器)。DRAM,顧名思義即動(dòng)態(tài)RAM。DRAM的結(jié)構(gòu)比起SRAM來(lái)說(shuō)要簡(jiǎn)單的多,基本結(jié)構(gòu)是一只MOS管和一個(gè)電容構(gòu)成。具有結(jié)構(gòu)簡(jiǎn)單、集成度高、功耗低、生產(chǎn)成本低等優(yōu)點(diǎn),適合制造大容量存儲(chǔ)器,所以現(xiàn)在我們用的內(nèi)存大多是由DRAM構(gòu)成的。FPDRAM:又叫快頁(yè)內(nèi)存,在386時(shí)代很流行。EDODRAM:EDORAM――ExtendedDateOutRAM——外擴(kuò)充數(shù)據(jù)模式存儲(chǔ)器,流行在486以及早期的奔騰電腦上。SDRAM是一種改善了結(jié)構(gòu)的增強(qiáng)型DRAM。計(jì)算機(jī)的制造工藝發(fā)展到已經(jīng)可以把微處理器(CPU)的時(shí)鐘頻率提高的一千兆的邊緣。相應(yīng)的內(nèi)存也必須跟得上處理器的速度才行?,F(xiàn)在有兩個(gè)新的標(biāo)準(zhǔn),DDRSDRAM內(nèi)存和Rambus內(nèi)存。顯示器從早期的黑白世界到現(xiàn)在的色彩世界,顯示器走過(guò)了漫長(zhǎng)而艱辛的歷程,隨著顯示器技術(shù)的不斷發(fā)展,顯示器的分類也越來(lái)越明細(xì)。CRT顯示器按大小分類調(diào)控方式不同顯像管種類的不同LCD液晶顯示器

聲卡和音箱Microcontrollers:微控制器亦稱為“嵌入式”、“專用型”或“隱藏式”計(jì)算機(jī)。微控制器實(shí)際上是安裝在各種智能設(shè)備(如電腦控制的微波爐、袖珍計(jì)算器等)中的微型計(jì)算機(jī)芯片(通常稱為“單片機(jī)”)。價(jià)格一般在幾~幾十美元。單片機(jī)芯片:SST89C58單片機(jī)正面背面§1.4信息的表示與存儲(chǔ)一、數(shù)制1.進(jìn)位記數(shù)制概念:用進(jìn)位的方法進(jìn)行記數(shù)的數(shù)制稱為進(jìn)位記數(shù)制。三要素:111=1*102+1*101+1*100123.456=1*102+2*101+3*100+4*10-1+5*10-2+6*10-3例如10進(jìn)制:0~9、基數(shù)10,每一位上數(shù)字的權(quán)重10n在計(jì)算機(jī)中,用的是二進(jìn)制,其他還常用八進(jìn)制、十六進(jìn)制,其三要素如下表:(按權(quán)展開(kāi)式)數(shù)據(jù)元素、基數(shù)、權(quán)重。記數(shù)制數(shù)據(jù)元素基數(shù)權(quán)重舉例十進(jìn)制0~91010n(123)10456.321D二進(jìn)制0、122n(1010)21001.101B八進(jìn)制0~788n(567)8745.217O十六進(jìn)制0~9、A~F1616n(2A2B)16123.321H練習(xí)101.1B=(17)8=(1A.8)16=1*22+0*21+1*20+1*2-1=5.5D1*81+7*80=15D1*161+10*160+8*16-1=26.5D2、二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制轉(zhuǎn)換二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制方法:按權(quán)展開(kāi)式十進(jìn)制轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制方法:整數(shù)除基取余,直至商0,余數(shù)倒序排(短除)小數(shù)乘基取整,直至足精,整數(shù)正序排(短乘)例1將43D轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制432211210125022121020143D=101011B4385380543D=(53)84316211160243D=(2b)16例2.將0.875D轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制0.875X21.7510.75X21.5010.50X21.0100.875D=0.111B0.875X87.0700.875D=(0.7)80.875X1614.0E00.875D=(0.E)16實(shí)數(shù)是整數(shù)、小數(shù)分別轉(zhuǎn)化后合在一起:(43.875)10=(101011.111)2=(53.7)8=(2B.E)16二進(jìn)制、八進(jìn)制、十六進(jìn)制的相互轉(zhuǎn)換二進(jìn)制到八進(jìn)制:整數(shù)從右向左,三位一段,分別轉(zhuǎn)化小數(shù)從左向右,三位一段,分別轉(zhuǎn)化例(1010101.11011)2(001,010,101.110,110)2125.66二進(jìn)制到十六進(jìn)制:整數(shù)從右向左,四位一段,分別轉(zhuǎn)化小數(shù)從左向右,四位一段,分別轉(zhuǎn)化例101,0101.1101,155.D80000八進(jìn)制到二進(jìn)制、十六進(jìn)制到二進(jìn)制將八進(jìn)制的每一個(gè)位變成三位二進(jìn)制數(shù);十六進(jìn)制的每一個(gè)數(shù)位變成四位二進(jìn)制數(shù)。例:(543.21)8=(101100011.010001)2例:(5A3.21)16=(010110100011.00100001)2八進(jìn)制和十六進(jìn)制之間轉(zhuǎn)換必須以二進(jìn)制作為中間橋梁(5A3.21)16=(10,110,100,011.001,000,01)2

=(2643.102)83.二進(jìn)制、八進(jìn)制、十六進(jìn)制、十進(jìn)制對(duì)應(yīng)關(guān)系:二.計(jì)算機(jī)中數(shù)據(jù)的表示:1.符號(hào)位的表示:通常規(guī)定一個(gè)數(shù)的最高位作為符號(hào)位,例:“0”表示正,“1”表示負(fù)。

2.原碼、反碼、補(bǔ)碼:

(1)數(shù)的原碼指最高位為數(shù)符位,“0”表示正,“1”表示負(fù)。數(shù)值部分是原碼的絕對(duì)值.(2)數(shù)的反碼表示法規(guī)定:正數(shù)的反碼和原碼相同,負(fù)數(shù)的反碼是對(duì)其原碼除符號(hào)位外各位求反(0變1,1變0).(3)補(bǔ)碼表表示法規(guī)定:正數(shù)的補(bǔ)碼和原碼相同,負(fù)數(shù)的補(bǔ)碼是在其反碼的最后一位上加1.(4)補(bǔ)碼運(yùn)算具有3個(gè)優(yōu)點(diǎn):減法變加法;符號(hào)位參與運(yùn)算;補(bǔ)碼之和等于和的補(bǔ)碼。

3.定點(diǎn)數(shù)與浮點(diǎn)數(shù):在計(jì)算機(jī)中表示小數(shù)時(shí),根據(jù)其小數(shù)點(diǎn)位置是否固定,分為定點(diǎn)表示法和浮點(diǎn)表示法.

字節(jié)和位內(nèi)存以字節(jié)為單元組成每個(gè)字節(jié)有一個(gè)地址一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成每個(gè)二進(jìn)位的值是0或101234567012345678910……...數(shù)值的表示方法——原碼、反碼和補(bǔ)碼原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值反碼:正數(shù):反碼與原碼相同負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反補(bǔ)碼:正數(shù):原碼、反碼、補(bǔ)碼相同負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)加13126912457810119-5=49+7=16=(14)12原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000數(shù)的范圍01111111~11111111(-127~+127)01111111~10000000(-127~+127)01111111~10000000(-128~+127)(用一字節(jié)表示數(shù))負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1例補(bǔ)碼:11111001

取反:10000110

加1:10000111=-74.計(jì)算機(jī)中的數(shù)據(jù)單位:(1)比特(bit):位,即一個(gè)二進(jìn)制位。

(2)字節(jié)(byte,B)1B=8bit

一個(gè)英文字符占用1個(gè)字節(jié),一個(gè)漢字占兩個(gè)字節(jié)。(3)字(Word):是計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理時(shí)一次存取、加工和傳遞的一組二進(jìn)制代碼的位數(shù)位,其長(zhǎng)度叫字長(zhǎng),是衡量計(jì)算機(jī)性能的一個(gè)重要指標(biāo)。(4)其它容量單位:

1K=210B=1024B≈1000B1M=210KB=220B1GB=210MB=230B1TB=210GB=240B三、計(jì)算機(jī)中字符的編碼信息指令信息:程序指令代碼數(shù)據(jù)信息數(shù)值信息:定點(diǎn)數(shù)浮點(diǎn)數(shù)非數(shù)值信息:字母、運(yùn)算符、漢字、多媒體信息等1.英文字符編碼:

字符數(shù)據(jù)包括:運(yùn)算符號(hào)、貨幣符號(hào)、控制符號(hào)、字母和數(shù)字等。計(jì)算機(jī)中使用最廣泛的字符編碼是美國(guó)信息交換標(biāo)準(zhǔn)碼(ASCII).采用7位二進(jìn)制編碼,可表示128個(gè)字符。其中95個(gè)可打印字符,33個(gè)不可打印和顯示字符。擴(kuò)充的ASCII表:8位碼,共256個(gè)編碼,增加了128個(gè)圖形符號(hào)。2.漢字編碼:輸入碼(外碼):輸入漢字所使用的由字母和數(shù)字構(gòu)成的編碼。有流水碼、音碼、形碼、音形碼。漢字交換碼(國(guó)標(biāo)碼):用于不同漢字信息處理系統(tǒng)之間或者漢字處理系統(tǒng)與通信系統(tǒng)之間進(jìn)行信息交換的漢字碼,要求必須采用統(tǒng)一的形式。

(1)1981年國(guó)家頒布GB2312—80《通訊用漢字字符集(基本集)及其交換標(biāo)準(zhǔn)碼》統(tǒng)稱標(biāo)準(zhǔn)碼、交換碼。收錄了7445個(gè)漢字及符號(hào),其中6762個(gè)漢字,分為兩級(jí):一級(jí)3755個(gè),二級(jí)3008個(gè)。(區(qū)位碼)

(2)1995.12,發(fā)布漢字?jǐn)U展內(nèi)碼規(guī)范——GBK編碼方案。

(3)2000.3,發(fā)布GB18030-2000,收錄27000多漢字。

漢字內(nèi)碼(機(jī)內(nèi)碼):是計(jì)算機(jī)內(nèi)部對(duì)漢字進(jìn)行采集、傳輸、存儲(chǔ)、加工運(yùn)算的各個(gè)處理過(guò)程中使用的漢字編碼。漢字字形碼(字模碼):漢字字形點(diǎn)陣信息的數(shù)字代碼,存放在漢字字庫(kù)中。點(diǎn)陣漢字字形中的每一個(gè)點(diǎn)陣都由一個(gè)二進(jìn)制位來(lái)表示。

(1).目前點(diǎn)陣的字模標(biāo)準(zhǔn):16*16、24*24、32*32、48*48

其中24*24的字形點(diǎn)陣每個(gè)字節(jié)需72個(gè)字節(jié)。

(2).點(diǎn)陣數(shù)越多,字形質(zhì)量越好,但字庫(kù)文件占用存儲(chǔ)空間越大,操作速度越慢。

(3).目前還常用矢量字庫(kù)(字形用直線描繪,可以任意縮放)和輪廓字庫(kù)(由直線和曲線命令生成字形,邊界可以按比例縮放和旋轉(zhuǎn))。漢字四種編碼的關(guān)系:輸入碼鍵盤(pán)交換碼內(nèi)

碼字形碼顯示打印輸入法完成轉(zhuǎn)換換漢字操作系統(tǒng)完成轉(zhuǎn)字庫(kù)驅(qū)動(dòng)程序或字模生成器通用編碼字符集UCS與Unicode國(guó)際標(biāo)準(zhǔn)ISO10646

定義了通用字符集(UniversalCharacterSet,UCS).UCS是所有其他字符集標(biāo)準(zhǔn)的一個(gè)超集.它保證與其他字符集是雙向兼容的.就是說(shuō),如果你將任何文本字符串翻譯到UCS格式,然后再翻譯回原編碼,你不會(huì)丟失任何信息.歷史上,有兩個(gè)獨(dú)立的,創(chuàng)立單一字符集的嘗試.一個(gè)是國(guó)際標(biāo)準(zhǔn)化組織(ISO)的ISO10646項(xiàng)目,另一個(gè)是由(一開(kāi)始大多是美國(guó)的)多語(yǔ)言軟件制造商組成的協(xié)會(huì)組織的Unicode項(xiàng)目.Unicode將取代所有這些編碼,主要通過(guò)UTF-8

的形式.UTF-8將應(yīng)用在文本文件(源代碼,HTML文件,email消息,等等)文件名標(biāo)準(zhǔn)輸入與標(biāo)準(zhǔn)輸出,管道環(huán)境變量剪切與粘貼選擇緩沖區(qū)telnet,modem和到終端模擬器的串口連接以及其他地方以前用ASCII來(lái)表示的字節(jié)串§1.5計(jì)算機(jī)程序與算法一個(gè)程序應(yīng)包括對(duì)數(shù)據(jù)的描述和對(duì)數(shù)據(jù)處理的描述。

1、對(duì)數(shù)據(jù)的描述,即數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)學(xué)科的核心課程之一,有許多專門(mén)著作論述,本課程就不再贅述。

2、在C語(yǔ)言中,系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型的形式出現(xiàn)的。

3、對(duì)數(shù)據(jù)處理的描述,即計(jì)算機(jī)算法。算法是為解決一個(gè)問(wèn)題而采取的方法和步驟,是程序的靈魂。為此,著名計(jì)算機(jī)科學(xué)家沃思(NikiklausWirth)提出一個(gè)公式:

數(shù)據(jù)結(jié)構(gòu)+算法=程序

實(shí)際上,一個(gè)程序除了數(shù)據(jù)結(jié)構(gòu)和算法外,還必須使用一種計(jì)算機(jī)語(yǔ)言,并采用結(jié)構(gòu)化方法來(lái)表示。1.5.1算法的概念算法(Algorithm)

:是指解決一個(gè)具體問(wèn)題的意義明確的步驟的集合,是有限的。算法代表著用系統(tǒng)的方法描述解決問(wèn)題的策略機(jī)制。也就是說(shuō),能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。不同的算法可能用不同的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來(lái)衡量。例:歐幾里德算法歐幾里德算法又稱輾轉(zhuǎn)相除法,用于計(jì)算兩個(gè)正整數(shù)a,b的最大公約數(shù)。其計(jì)算原理依賴于下面的定理:定理:

gcd(a,b)=gcd(b,amodb)(a>b且amodb不為0)

有窮性:一個(gè)算法應(yīng)當(dāng)包含有限的步驟,而不能是無(wú)限的步驟;同時(shí)一個(gè)算法應(yīng)當(dāng)在執(zhí)行一定數(shù)量的步驟后,算法結(jié)束,不能死循環(huán)。事實(shí)上“有窮性”往往指“在合理的范圍之內(nèi)”的有限步驟。如果讓計(jì)算機(jī)執(zhí)行一個(gè)歷時(shí)1000年才結(jié)束的算法,算法盡管有窮,但超過(guò)了合理的限度,人們也不認(rèn)為此算法是有用的。確定性:算法中的每一個(gè)步驟都應(yīng)當(dāng)是確定的,而不是含糊的、摸棱兩可的。也就是說(shuō)不應(yīng)當(dāng)產(chǎn)生歧義。特別是算法用自然語(yǔ)言描述時(shí)應(yīng)當(dāng)注意這點(diǎn)。例如:“將成績(jī)優(yōu)秀的同學(xué)名單打印輸出”就是有歧義的?!俺煽?jī)優(yōu)秀”是要求每門(mén)課程都90分以上,還是平均成績(jī)?cè)?0分以上?不明確,有歧義,不適合描述算法步驟。算法的特性有0個(gè)或多個(gè)輸入(即:可以沒(méi)有輸入,也可以有輸入)所謂輸入是指算法執(zhí)行時(shí)從外界獲取必要信息。(外界是相對(duì)算法本身的,輸入可以是人工鍵盤(pán)輸入的數(shù)據(jù),也可以是程序其它部分傳遞給算法的數(shù)據(jù))例如:不需要輸入任何信息,就可以計(jì)算出5??;(0個(gè)輸入)例如:如果要計(jì)算兩個(gè)整數(shù)的最大公約數(shù),則需要輸入2個(gè)整數(shù)m,n。(2個(gè)輸入)

有1個(gè)或多個(gè)輸出(即算法必須得到結(jié)果)算法的輸出:算法得到的結(jié)果。算法必須有結(jié)果,沒(méi)有結(jié)果的算法沒(méi)有意義。(結(jié)果可以是顯示在屏幕上的,也可以是將結(jié)果數(shù)據(jù)傳遞給程序的其它部分)有效性算法的每個(gè)步驟都應(yīng)當(dāng)能有效執(zhí)行,并能得到確定的結(jié)果。例如:b=0,則執(zhí)行a/b是不能有效執(zhí)行的。1.5.2怎樣表示一個(gè)算法為了表示一個(gè)算法,可以用不同的方法。常用的算法表示方法:自然語(yǔ)言,傳統(tǒng)流程圖,結(jié)構(gòu)化流程圖(N-S流程圖),偽代碼、計(jì)算機(jī)語(yǔ)言等。(重點(diǎn):傳統(tǒng)流程圖,N-S流程圖)

2、用自然語(yǔ)言表示算法自然語(yǔ)言就是人們常用的語(yǔ)言,可以是漢語(yǔ)、英語(yǔ)或其他語(yǔ)言。用自然語(yǔ)言表示通俗易懂;但文字冗長(zhǎng),容易出現(xiàn)“歧義”性;而且,用自然語(yǔ)言描述包含分支和循環(huán)的算法,不很方便。一般不使用自然語(yǔ)言描述算法。例如:描述計(jì)算并輸出z=y/x的流程,可以用自然語(yǔ)言描述如下:(1)輸入x,y。(2)判斷x是否為0:若X=0,則輸出錯(cuò)誤信息;否則計(jì)算y/xz,且輸出z。自然語(yǔ)言描述舉例例:判斷2000年---2500年中的每一年是否閏年,將結(jié)果輸出。解:閏年的條件是:

(1)能被4整除,但不能被100整除的年份是閏年;如1996,2004年。

(2)能被100整除,又能被400整除的年份是閏年。如1600,2000年。不符合這兩個(gè)條件的年份不是閏年。算法如下:設(shè)y為被檢測(cè)的年份,可采取以下步驟:S1:2000y;S2:若y不能被4整除,則輸出y“不是閏年”。然后轉(zhuǎn)到s6.S3:若y能被4整除,不能被100整除,輸出y“是閏年”,然后轉(zhuǎn)到s6。S4:若y能被100整除,又能被400整除,輸出y“是閏年”,然后轉(zhuǎn)到s6。S5:輸出y“不是閏年”。S6:y+1y;S7:當(dāng)y2500時(shí),轉(zhuǎn)s2繼續(xù)執(zhí)行,如y>2500,算法停止。(1)使S=0(S作為累加變量);(2)使N=1(N代表分母);(3)S+1/NS(執(zhí)行迭代,S為迭代變量);(4)N+1N;(5)若N≤100,轉(zhuǎn)去執(zhí)行(3)以及其后的各步驟;否則執(zhí)行(6);(6)打印S的值(即所求之總和)。例:求下列級(jí)數(shù)的值可以寫(xiě)出下面的算法◆算法描述語(yǔ)言:是為了說(shuō)明程序的流程而專門(mén)規(guī)定的某種語(yǔ)言。它一般介于自然語(yǔ)言與程序設(shè)計(jì)語(yǔ)言之間,它具有自然語(yǔ)言靈活的特點(diǎn),同時(shí)又接近于程序設(shè)計(jì)語(yǔ)言的描述?!糇⒁猓核惴枋稣Z(yǔ)言所描述的流程,一般不能直接作為程序來(lái)使用,最后還需轉(zhuǎn)換成用某種程序設(shè)計(jì)語(yǔ)言所描述的程序?!襞c程序設(shè)計(jì)語(yǔ)言的區(qū)別:

前者比較自由,不象后者那樣受語(yǔ)法的約束,只要描述得人們能理解就行,而不必考慮計(jì)算機(jī)處理時(shí)所要遵循的規(guī)定或其它一些細(xì)節(jié)。算法描述語(yǔ)言流程的描述:在程序設(shè)計(jì)過(guò)程中,一般不可能在一開(kāi)始就用某種程序設(shè)計(jì)語(yǔ)言編制計(jì)算機(jī)程序,而是先用某種簡(jiǎn)單、直觀、靈活的描述工具來(lái)描述處理問(wèn)題的流程。當(dāng)方案確定以后,再將這樣的流程轉(zhuǎn)換成計(jì)算機(jī)程序,這種轉(zhuǎn)換往往是機(jī)械的,已經(jīng)不涉及功能的重新設(shè)計(jì)或控制流程的變化,而只需考慮程序設(shè)計(jì)語(yǔ)言所規(guī)定的語(yǔ)法要求以及一細(xì)節(jié)問(wèn)題。2、用流程圖表示算法流程圖:用一些約定的幾何圖形來(lái)描述算法。用某種圖框表示某種操作,用箭頭表示算法流程。流程圖(的符號(hào)及意義)美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)ANSI規(guī)定了一些常用的流程圖符號(hào),已為世界各國(guó)程序工作者普遍采用:起止框輸入輸出框判斷選擇框處理框流程線……注釋框起止框:表示算法的開(kāi)始和結(jié)束。一般內(nèi)部只寫(xiě)“開(kāi)始”或“結(jié)束”。處理框:表示算法的某個(gè)處理步驟,一般內(nèi)部常常填寫(xiě)賦值操作。輸入輸出框:表示算法請(qǐng)求輸入輸入需要的數(shù)據(jù)或算法將某些結(jié)果輸出。一般內(nèi)部常常填寫(xiě)“輸入…”,“打印/顯示…”菱形框(判斷框):作用主要是對(duì)一個(gè)給定條件進(jìn)行判斷,根據(jù)給定的條件是否成立來(lái)決定如何執(zhí)行其后的操作。它有一個(gè)入口,兩個(gè)出口。注釋框:注釋框不是流程圖中必須的部分,不反映流程和操作,它只是對(duì)流程圖中某些框的操作做必要的補(bǔ)充說(shuō)明,以幫助閱讀流程圖的人更好地理解流程圖的作用。

例:

求5!t=1i=2t=t*ii=i+1i>5結(jié)束

NY

開(kāi)始傳統(tǒng)流程圖采用流程線指出各框的執(zhí)行順序,對(duì)流程線的使用沒(méi)有嚴(yán)格限制。因此,使用者可以不受限制地使流程轉(zhuǎn)來(lái)轉(zhuǎn)去,使流程圖變得毫無(wú)規(guī)律。人們對(duì)這種流程圖進(jìn)行改進(jìn),規(guī)定幾種基本的結(jié)構(gòu),然后由這些基本結(jié)構(gòu)按一定規(guī)律組成算法結(jié)構(gòu),整個(gè)算法結(jié)構(gòu)是由上而下地將各個(gè)基本結(jié)構(gòu)順序排列起來(lái)。這樣可以在一定程度上,提高算法的質(zhì)量。傳統(tǒng)流程圖★三種基本結(jié)構(gòu)是:(1)順序結(jié)構(gòu):按指令的順序依次執(zhí)行(2)判斷選擇結(jié)構(gòu):

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論