




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一部分公共基礎(chǔ)知識(shí)第1章數(shù)據(jù)結(jié)構(gòu)與算法11算法1算法的基本概念(1)概念:算法是指一系列解決問題的清晰指令。(2)4個(gè)基本特征:可行性、確定性、有窮性、擁有足夠的情報(bào)。(3)兩種基本要素:對數(shù)據(jù)對象的運(yùn)算和操作、算法的控制結(jié)構(gòu)(運(yùn)算和操作時(shí)間的順序)。(4)設(shè)計(jì)的基本方法:列舉法、歸納法、遞推法、遞歸法、減半遞推技術(shù)和回溯法。2算法的復(fù)雜度(1)算法的時(shí)間復(fù)雜度:執(zhí)行算法所需要的計(jì)算工作量。(2)算法的空間復(fù)雜度:執(zhí)行算法所需的內(nèi)存空間。12數(shù)據(jù)結(jié)構(gòu)的基本概念數(shù)據(jù)結(jié)構(gòu)指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。其中邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系;存儲(chǔ)結(jié)構(gòu)為數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,有順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)和散列存儲(chǔ)4種方式。數(shù)據(jù)結(jié)構(gòu)按各元素之間前后件關(guān)系的復(fù)雜度可劃分為:(1)線性結(jié)構(gòu):有且只有一個(gè)根節(jié)點(diǎn),且每個(gè)節(jié)點(diǎn)最多有一個(gè)直接前驅(qū)和一個(gè)直接后繼的非空數(shù)據(jù)結(jié)構(gòu)。(2)非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。13線性表及其順序存儲(chǔ)結(jié)構(gòu)1線性表的基本概念線性結(jié)構(gòu)又稱線性表,線性表是最簡單也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。2線性表的順序存儲(chǔ)結(jié)構(gòu)元素所占的存儲(chǔ)空間必須連續(xù)。元素在存儲(chǔ)空問的位置是按邏輯順序存放的。3線性表的插入運(yùn)算在第i個(gè)元素之前插入一個(gè)新元素的步驟如下:步驟一:把原來第n個(gè)節(jié)點(diǎn)至第i個(gè)節(jié)點(diǎn)依次往后移一個(gè)元素位置。步驟二:把新節(jié)點(diǎn)放在第i個(gè)位置上。步驟三:修正線性表的節(jié)點(diǎn)個(gè)數(shù)。在最壞情況下,即插入元素在第一個(gè)位置,線性表中所有元素均需要移動(dòng)。4線性表的刪除運(yùn)算刪除第i個(gè)位置的元素的步驟如下:步驟一:把第i個(gè)元素之后不包括第i個(gè)元素的n-i個(gè)元素依次前移一個(gè)位置;步驟二:修正線性表的結(jié)點(diǎn)個(gè)數(shù)。14棧和隊(duì)列1棧及其基本運(yùn)算(1)基本概念:棧是一種特殊的線性表,其插入運(yùn)算與刪除運(yùn)算都只在線性表的一端進(jìn)行,也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。棧頂:允許插入與刪除的一端。棧底:棧頂?shù)牧硪欢恕?諚#簵V袥]有元素的棧。(2)特點(diǎn)。棧頂元素是最后被插入和最早被刪除的元素。棧底元素是最早被插入和最后被刪除的元素。棧有記憶作用。在順序存儲(chǔ)結(jié)構(gòu)下,棧的插入和刪除運(yùn)算不需移動(dòng)表中其他數(shù)據(jù)元素。棧頂指針top動(dòng)態(tài)反映了棧中元素的變化情況(3)順序存儲(chǔ)和運(yùn)算:入棧運(yùn)算、退棧運(yùn)算和讀棧頂運(yùn)算。2隊(duì)列及其基本運(yùn)算(1)基本概念:隊(duì)列是指允許在一端進(jìn)行插入,在另一端進(jìn)行刪除的線性表,又稱“先進(jìn)先出”的線性表。隊(duì)尾:允許插人的一端,用尾指針指向隊(duì)尾元素。排頭:允許刪除的一端,用頭指針指向頭元素的前一位置。(2)循環(huán)隊(duì)列及其運(yùn)算。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。當(dāng)循環(huán)隊(duì)列非空(s=1)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。退隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)頭位置退出一個(gè)元素并賦給指定的變量。首先將隊(duì)頭指針進(jìn)一,然后將排頭指針指向的元素賦給指定的變量。當(dāng)循環(huán)隊(duì)列為空(s=0)時(shí),不能進(jìn)行退隊(duì)運(yùn)算,這種情況稱為“下溢”。15線性鏈表在定義的鏈表中,若只含有一個(gè)指針域來存放下一個(gè)元素地址,稱這樣的鏈表為單鏈表或線性鏈表。在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。16樹和二叉樹1樹的基本概念樹是簡單的非線性結(jié)構(gòu),樹中有且僅有一個(gè)沒有前驅(qū)的節(jié)點(diǎn)稱為“根”,其余節(jié)點(diǎn)分成m個(gè)互不相交的有限集合T1,T2,Tm,每個(gè)集合又是一棵樹,稱T1,T2,Tm為根結(jié)點(diǎn)的子樹。父節(jié)點(diǎn):每一個(gè)節(jié)點(diǎn)只有一個(gè)前件,無前件的節(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn)(簡稱樹的根)。子節(jié)點(diǎn):每一個(gè)節(jié)點(diǎn)可以后多個(gè)后件,無后件的節(jié)點(diǎn)稱為葉子節(jié)點(diǎn)。樹的度:所有節(jié)點(diǎn)最大的度。樹的深度:樹的最大層次。2二叉樹的定義及其基本性質(zhì)(1)二叉樹的定義:二叉樹是一種非線性結(jié)構(gòu),是有限的節(jié)點(diǎn)集合,該集合為空(空二叉樹)或由一個(gè)根節(jié)點(diǎn)及兩棵互不相交的左右二叉子樹組成??煞譃闈M二叉樹和完全二叉樹,其中滿二叉樹一定是完全二叉樹,但完全二叉樹不一定是滿二叉樹。二義樹具有如下兩個(gè)特點(diǎn):二叉樹可為空,空的二叉樹無節(jié)點(diǎn),非空二叉樹有且只有一個(gè)根結(jié)點(diǎn);每個(gè)節(jié)點(diǎn)最多可有兩棵子樹,稱為左子樹和右子樹。(2)二叉樹的基本性質(zhì)。性質(zhì)1:在二叉樹的第k層上至多有2k-1個(gè)結(jié)點(diǎn)(k1)。性質(zhì)2:深度為m的二叉樹至多有2m-1個(gè)結(jié)點(diǎn)。性質(zhì)3:對任何一棵二叉樹,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。性質(zhì)d:具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度至少為1og2n+1,其中1og2n表示log2n的整數(shù)部分。3滿二叉樹與完全二叉樹(1)滿二叉樹:滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)。滿二叉樹在其第i層上有2i-1個(gè)結(jié)點(diǎn)。從上面滿二叉樹定義可知,二叉樹的每一層上的結(jié)點(diǎn)數(shù)必須都達(dá)到最大,否則就不是滿二叉樹。深度為m的滿二叉樹有2m-1個(gè)結(jié)點(diǎn)。(2)完全二叉樹:完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點(diǎn)。如果一棵具有n個(gè)結(jié)點(diǎn)的深度為k的二叉樹,它的每一個(gè)結(jié)點(diǎn)都與深度為k的滿二叉樹中編號(hào)為1-n的結(jié)點(diǎn)一一對應(yīng)。3二叉樹的存儲(chǔ)結(jié)構(gòu)二叉樹通常采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),存儲(chǔ)節(jié)點(diǎn)由數(shù)據(jù)域和指針域(左指針域和右指針域)組成。二叉樹的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也稱二叉鏈表,對滿二叉樹和完全二叉樹可按層次進(jìn)行順序存儲(chǔ)。4二叉樹的遍歷二叉樹的遍歷是指不重復(fù)地訪問二叉樹中所有節(jié)點(diǎn),主要指非空二叉樹,對于空二叉樹則結(jié)束返回。二叉樹的遍歷包括前序遍歷、中序遍歷和后序遍歷。(1)前序遍歷。前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。前序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則訪問根結(jié)點(diǎn);前序遍歷左子樹;前序遍歷右子樹。(2)中序遍歷。中序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且,在遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。中序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則中序遍歷左子樹;訪問根結(jié)點(diǎn);中序遍歷右子樹。(3)后序遍歷。后序遍歷足指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn),并且,在遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)。后序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則后序遍歷左子樹;后序遍歷右子樹;訪問根結(jié)點(diǎn)。17查找技術(shù)(1)順序查找:在線性表中查找指定的元素。最壞情況下,最后一個(gè)元素才是要找的元素,則需要與線性表中所有元素比較,比較次數(shù)為n。(2)二分查找:二分查找也稱折半查找,它是一種高效率的查找方法。但二分查找有條件限制,它要求表必須用順序存儲(chǔ)結(jié)構(gòu),且表中元素必須按關(guān)鍵字有序(升序或降序均可)排列。對長度為n的有序線性表,在最壞情況下,二分查找法只需比較1og2n次。18排序技術(shù)(1)交換類排序法。冒泡排序:通過對待排序序列從后向前或從前向后,依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,使較大的元素逐漸從前部移向后部或較小的元素逐漸從后部移向前部,直到所有元素有序?yàn)橹?。在最壞情況下,對長度為n的線性表排序,冒泡排序需要比較的次數(shù)為n(n-1)2??焖倥判颍菏瞧駷橹顾袃?nèi)排序算法中速度最快的一種。它的基本思想是:任取待排序序列中的某個(gè)元素作為基準(zhǔn)(一般取第一個(gè)元素),通過一趟排序,將待排元素分為左右兩個(gè)子序列,左子序列元素的排序碼均小于或等于基準(zhǔn)元素的排序碼,右子序列的排序碼則大于基準(zhǔn)元素的排序碼,然后分別對兩個(gè)子序列繼續(xù)進(jìn)行排序,直至整個(gè)序列有序。最壞情況下,即每次劃分,只得到一個(gè)序列,時(shí)間效率為0(n2)。(2)插人類排序法。簡單插入排序法:把n個(gè)待排序的元素看成為一個(gè)有序表和一個(gè)無序表,開始時(shí)有序表中只包含一個(gè)元素,無序表中包含有n-1個(gè)元素,排序過程中每次從無序表中取出第一個(gè)元素,把它的排序碼依次與有序表元素的排序碼進(jìn)行比較,將它插入到有序表中的適當(dāng)位置,使之成為新的有序表。在最壞情況下,即初始排序序列是逆序的情況下,比較次數(shù)為n(n-1)2,移動(dòng)次數(shù)為n(n-1)2。希爾排序法:先將整個(gè)待排元素序列分割成若干個(gè)子序列(由相隔某個(gè)“增量”的元素組成的)分別進(jìn)行直接插入排序,待整個(gè)序列中的元素基本有序(增量足夠小)時(shí),再對全體元素進(jìn)行一次直接插入排序。(3)選擇類排序法。簡單選擇排序法:掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的最前面;然后對剩下的子表采用同樣的方法,直到子表空為止。最壞情況下需要比較n(n-1)2次。堆排序的方法:首先將一個(gè)無序序列建成堆;然后將堆頂元素(序列中的最大項(xiàng))與堆中最后一個(gè)元素交換(最大項(xiàng)應(yīng)該在序列的最后)。不考慮已經(jīng)換到最后的那個(gè)元素,只考慮前n-1個(gè)元素構(gòu)成的子序列,將該子序列調(diào)整為堆。反復(fù)做步驟,直到剩下的子序列空為止。在最壞情況下,堆排序法需要比較的次數(shù)為0(nlog2n)。第2章程序設(shè)計(jì)基礎(chǔ)21程序設(shè)計(jì)方法與風(fēng)格(1)設(shè)計(jì)方法:指設(shè)計(jì)、編制、調(diào)試程序的方法和過程,主要有結(jié)構(gòu)化程序設(shè)計(jì)方法、軟件工程方法和面向?qū)ο蠓椒ā?2)沒計(jì)風(fēng)格:良好的設(shè)計(jì)風(fēng)格要注重源程序文檔化、數(shù)據(jù)說明方法、語句的結(jié)構(gòu)和輸入輸出。22結(jié)構(gòu)化程序設(shè)計(jì)1結(jié)構(gòu)化程序設(shè)計(jì)的原則結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。(1)自頂向下:即先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。(2)逐步求精:對復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)做過渡,逐步細(xì)化。(3)模塊化:把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊;(4)限制使用GOT0語句。2結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)(1)順序結(jié)構(gòu):自始至終嚴(yán)格按照程序中語句的先后順序逐條執(zhí)行,是最基本、最普遍的結(jié)構(gòu)形式。(2)選擇結(jié)構(gòu):又稱為分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu)。(3)重復(fù)結(jié)構(gòu):又稱為循環(huán)結(jié)構(gòu),根據(jù)給定的條件,判斷是否需要重復(fù)執(zhí)行某一相同的或類似的程序段。結(jié)構(gòu)化程序設(shè)計(jì)中,應(yīng)注意事項(xiàng):(1)使用程序設(shè)計(jì)語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯。(2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口。(3)程序語言組成容易識(shí)別的塊,每塊只有一個(gè)人口和一個(gè)出口。(4)復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。(5)語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后致的方法來模擬。(6)盡量避免GOT0語句的使用。23面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蠓椒ǖ谋举|(zhì)是主張從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),強(qiáng)調(diào)建立的系統(tǒng)能映射問題域。對象:用來表示客觀世界中任何實(shí)體,可以是任何有明確邊界和意義的東西。類:具有共同屬性、共同方法的對象的集合。實(shí)例:一個(gè)具體對象就是其對應(yīng)分類的一個(gè)實(shí)例。消息:實(shí)例間傳遞的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。繼承:使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。多態(tài)性:指對象根據(jù)所接受的信息而作出動(dòng)作,同樣的信息被不同的對象接收時(shí)有不同行動(dòng)的現(xiàn)象。面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn):與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、易于開發(fā)大型軟件產(chǎn)品、可維護(hù)性好。第3章軟件工程基礎(chǔ)31軟件工程基本概念1軟件的定義與特點(diǎn)(1)定義:軟件是指與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔和數(shù)據(jù)。(2)特點(diǎn)。是邏輯實(shí)體,有抽象性。生產(chǎn)沒有明顯的制作過程。運(yùn)行使用期間不存在磨損、老化問題。開發(fā)、運(yùn)行對計(jì)算機(jī)系統(tǒng)有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,導(dǎo)致了軟件移植問題。復(fù)雜性較高,成本昂貴。開發(fā)涉及諸多社會(huì)因素。2軟件的分類軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件3類。(1)應(yīng)用軟件是特定應(yīng)用領(lǐng)域內(nèi)專用的軟件。(2)系統(tǒng)軟件居于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件。(3)支撐軟件介于系統(tǒng)軟件和應(yīng)用軟件之間,是支援其它軟件的開發(fā)與維護(hù)的軟件。3軟件危機(jī)與軟件工程軟件危機(jī)指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)中遇到的一系列嚴(yán)重問題。軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序,包括軟件開發(fā)技術(shù)和軟件工程管理。4軟件生命周期軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用的過程稱為軟件生命周期。在國家標(biāo)準(zhǔn)中,軟件生命周期劃分為8個(gè)階段:軟件定義期:包括問題定義、可行性研究和需求分析3個(gè)階段。軟件開發(fā)期:包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試4個(gè)階段。運(yùn)行維護(hù)期:即運(yùn)行維護(hù)階段。5軟件工程的原則軟件工程的原則包括:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。32結(jié)構(gòu)化分析方法需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程,可概括為:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。1常用的分析方法結(jié)構(gòu)化分析方法:其實(shí)質(zhì)著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程。面向?qū)ο蠓治龇椒ā?結(jié)構(gòu)化分析常用工具結(jié)構(gòu)化分析常用工具包括數(shù)據(jù)流圖、數(shù)字字典(核心方法)、判斷樹和判斷表。(1)數(shù)據(jù)流圖:即DFD圖,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,它只反映系統(tǒng)必須完成的邏輯功能,是一種功能模型。符號(hào)名稱作用:箭頭代表數(shù)據(jù)流,沿箭頭方向傳送數(shù)據(jù)的通道圓或橢圓代表加工,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出雙杠代表存儲(chǔ)文件,表示處理過程中存放各種數(shù)據(jù)文件方框代表源和潭,表示系統(tǒng)和環(huán)境的接口(2)數(shù)據(jù)字典:結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。(3)判定樹:使用判定樹進(jìn)行描述時(shí),應(yīng)先從問題定義的文字描述中分清判定的條件和判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。(4)判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個(gè)邏輯條件的取值,即完成該加工的一組動(dòng)作是由于某一組條件取值的組合引發(fā)的,使用判定表比較適宜。3軟件需求規(guī)格說明書軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。(1)軟件需求規(guī)格說明書的作用:便于用戶、開發(fā)人員進(jìn)行理解和交流;反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);作為確認(rèn)測試和驗(yàn)收的依據(jù)。(2)軟件需求規(guī)格說明書的內(nèi)容:概述;數(shù)據(jù)描述;功能描述;性能描述;參考文獻(xiàn);附錄。(3)軟件需求規(guī)格說明書的特點(diǎn):正確性;無歧義性;完整性;可驗(yàn)證性;一致性;可理解性;可修改性;可追蹤性。33結(jié)構(gòu)化設(shè)計(jì)方法1軟件設(shè)計(jì)的基本概念和方法軟件設(shè)計(jì)是一個(gè)把軟件需求轉(zhuǎn)換為軟件表示的過程。(1)基本原理:抽象、模塊化、信息隱藏、模塊獨(dú)立性(度量標(biāo)準(zhǔn):耦合性和內(nèi)聚性,高耦合、低內(nèi)聚)。(2)基本思想:將軟件設(shè)計(jì)成由相對獨(dú)立、單一功能的模塊組成的結(jié)構(gòu)。2概要設(shè)計(jì)(1)4個(gè)任務(wù):設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)、編寫概要設(shè)計(jì)文檔、概要設(shè)計(jì)文檔評(píng)審。(2)面向數(shù)據(jù)流的設(shè)計(jì)方法:數(shù)據(jù)流圖的信息分為交換流和事物流,結(jié)構(gòu)形式有交換型和事務(wù)型。3詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具包括:圖形工具:程序流程圖、NS、PAD、HIPO。表格工具:判定表。語言工具:PD1(偽碼)。34軟件測試1目的為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。2準(zhǔn)則所有測試應(yīng)追溯到用戶需求。嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。充分注意測試中的群集現(xiàn)象。程序員應(yīng)避免檢查自己的程序。窮舉測試不可能。妥善保存設(shè)計(jì)計(jì)劃、測試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告。3軟件測試技術(shù)和方法軟件測試的方法按是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動(dòng)態(tài)測試,按功能分為白盒測試和黑盒測試。(1)白盒測試:根據(jù)程序的內(nèi)部邏輯設(shè)計(jì)測試用例,主要方法有邏輯覆蓋測試、基本路徑測試等。(2)黑盒測試:根據(jù)規(guī)格說明書的功能來設(shè)計(jì)測試用例,主要診斷方法有等價(jià)劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法等,主要用于軟件確認(rèn)測試。4軟件測試的實(shí)施軟件測試是保證軟件質(zhì)量的重要手段,軟件測試是一個(gè)過程,其測試流程是該過程規(guī)定的程序,目的是使軟件測試工作系統(tǒng)化。軟件測試過程分4個(gè)步驟,即單元測試、集成測試、驗(yàn)收測試和系統(tǒng)測試。單元測試是對軟件設(shè)計(jì)的最小單位模塊(程序單元)進(jìn)行正確性檢驗(yàn)測試。單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。單元測試的依據(jù)是詳細(xì)的設(shè)計(jì)說明書和源程序。單元測試的技術(shù)可以采用靜態(tài)分析和動(dòng)態(tài)測試。35程序的調(diào)試(1)任務(wù):診斷和改正程序中的錯(cuò)誤。(2)調(diào)試方法:強(qiáng)行排錯(cuò)法、回溯法和原因排除法。第4章數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)41數(shù)據(jù)庫系統(tǒng)的基本概念(1)數(shù)據(jù)(DatA:描述事物的符號(hào)記錄。(2)數(shù)據(jù)庫(DataBase):長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。(3)數(shù)據(jù)庫管理系統(tǒng)的概念數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操作、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù)和數(shù)據(jù)服務(wù)等。為完成以上6個(gè)功能,DBMS提供了相應(yīng)的數(shù)據(jù)語言;數(shù)據(jù)定義語言(負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建);數(shù)據(jù)操縱語言(負(fù)責(zé)數(shù)據(jù)的操縱);數(shù)據(jù)控制語言(負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義)。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,它位于用戶和操作系統(tǒng)之間,從軟件分類的角度來說屬于系統(tǒng)軟件。(4)數(shù)據(jù)庫技術(shù)發(fā)展經(jīng)歷了3個(gè)階段。人:管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段(5)數(shù)據(jù)庫系統(tǒng)的特點(diǎn):集成性、高共享性、低冗余性、數(shù)據(jù)獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制等。(6)數(shù)據(jù)庫系統(tǒng)的內(nèi)部機(jī)構(gòu)體系:三級(jí)模式(概念模式、內(nèi)模式、外模式)和二級(jí)映射(外模式概念模式的映射、概念模式內(nèi)模式的映射)構(gòu)成了數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu)體系。42數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件,描述的內(nèi)容有數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。有3個(gè)層次:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。(1)ER模型:提供了表示實(shí)體、屬性和聯(lián)系的方法。實(shí)體問聯(lián)系有“一對一”、“一對多”和“多對多”。ER模型用ER圖來表示。(2)層次模型:利用樹形結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系,其中節(jié)點(diǎn)是實(shí)體,樹枝是聯(lián)系,從上到下是一對多關(guān)系。(3)網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系,是層次模型的擴(kuò)展。網(wǎng)絡(luò)模型以記錄型為節(jié)點(diǎn),反映現(xiàn)實(shí)中較為復(fù)雜的事物聯(lián)系。(4)關(guān)系模型:采用二維表(由表框架和表的元組組成)來表示,可進(jìn)行數(shù)據(jù)查詢、增加、刪除及修改操作。關(guān)系模型允許定義“實(shí)體完整性”、“參照完整性”和“用戶定義的完整性”三種約束。鍵(碼):二維表中唯一能標(biāo)識(shí)元組的最小屬性集。候選鍵(候選碼):二維表中可能有的多個(gè)鍵。主鍵:被選取的一個(gè)使用的鍵。43關(guān)系代數(shù)(1)關(guān)系代數(shù)的基本運(yùn)算:投影、選擇、笛卡爾積。(2)關(guān)系代數(shù)的擴(kuò)充運(yùn)算:交、連接與自然連接、除。44數(shù)據(jù)庫設(shè)計(jì)與管理1數(shù)據(jù)庫設(shè)計(jì)概述基本思想:過程迭代和逐步求精。方法:面向數(shù)據(jù)的方法和面向過程的方法。設(shè)計(jì)過程:需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)編碼測試運(yùn)行進(jìn)步修改。2數(shù)據(jù)庫設(shè)計(jì)的需求分析需求收集和分析是數(shù)據(jù)庫設(shè)計(jì)的第一階段,常用結(jié)構(gòu)化分析方法(自頂向下、逐層分解)和面向?qū)ο蟮姆椒ǎ饕ぷ饔欣L制數(shù)據(jù)流程圖、數(shù)據(jù)分析、功能分析、確定功能處理模塊和數(shù)據(jù)問關(guān)系。數(shù)據(jù)字典:包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程,是對系統(tǒng)中數(shù)據(jù)的詳盡描述。3數(shù)據(jù)庫的設(shè)計(jì)(1)數(shù)據(jù)庫的概念設(shè)計(jì):分析數(shù)據(jù)問內(nèi)在的語義關(guān)聯(lián),以建立數(shù)據(jù)的抽象模型。(2)數(shù)據(jù)庫的邏輯沒計(jì):從ER圖向關(guān)系模型轉(zhuǎn)換,邏輯模式規(guī)范化,關(guān)系視圖設(shè)計(jì)可以根據(jù)用戶需求隨時(shí)創(chuàng)建。實(shí)體轉(zhuǎn)換為元組,屬性轉(zhuǎn)換為關(guān)系的屬性,聯(lián)系轉(zhuǎn)換為關(guān)系。(3)數(shù)據(jù)庫的物理設(shè)計(jì):足數(shù)據(jù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法,目的是對數(shù)據(jù)庫內(nèi)部物理結(jié)構(gòu)作出調(diào)整并選擇合理的存取路徑,以提高速度和存儲(chǔ)空間。4數(shù)據(jù)庫管理數(shù)據(jù)庫管理包括數(shù)據(jù)庫的建立、數(shù)據(jù)庫的調(diào)整、數(shù)據(jù)庫的重組、數(shù)據(jù)庫的安全性與完整性控制、數(shù)據(jù)庫故障恢復(fù)和數(shù)據(jù)庫的監(jiān)控。第二部分計(jì)算機(jī)基礎(chǔ)知識(shí)第1章計(jì)算機(jī)概述11計(jì)算機(jī)的發(fā)展簡史1946年,美國賓夕法尼亞大學(xué)研制成功了電子數(shù)字積分式計(jì)算機(jī)(E1ectronic Numerica1 Integrator And Ca1cu1ator,ENIAC。在ENIAC的研制過程中,美籍匈牙利數(shù)學(xué)家馮諾依曼總結(jié)并歸納了以下3點(diǎn)。采用二進(jìn)制:在計(jì)算機(jī)內(nèi)部,程序和數(shù)據(jù)采用二進(jìn)制代碼表示。存儲(chǔ)程序控制:程序和數(shù)據(jù)存放在存儲(chǔ)器中,即程序存儲(chǔ)的概念。計(jì)算機(jī)執(zhí)行程序時(shí)無需人工干預(yù),能自動(dòng)、連續(xù)地執(zhí)行程序,并得到預(yù)期的結(jié)果。計(jì)算機(jī)的5個(gè)基本部件:計(jì)算機(jī)具有運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)置5個(gè)基本功能部件。從第一臺(tái)電子計(jì)算機(jī)誕生到現(xiàn)在,計(jì)算機(jī)技術(shù)經(jīng)歷了大型計(jì)算機(jī)時(shí)代和微型計(jì)算機(jī)時(shí)代。根據(jù)計(jì)算機(jī)采用電子元件的不同將計(jì)算機(jī)的發(fā)展過程劃分為四個(gè)階段,分別稱為第一代至第四代計(jì)算機(jī)。第一代計(jì)算機(jī)(19461958年)主要元件是電子管;第二代計(jì)算機(jī)(19581964年)主要元件是晶體管;第三代計(jì)算機(jī)(19641971年)主要元件采用中、小規(guī)模集成電路;第四代計(jì)算機(jī)(1971年至今)主要元件采用大規(guī)模和超大規(guī)模集成電路。12計(jì)算機(jī)的特點(diǎn)計(jì)算機(jī)的特點(diǎn)有:處理速度快、計(jì)算精確度高、邏輯判斷能力、存儲(chǔ)容量大、全自動(dòng)功能、適用范圍廣,通用性強(qiáng)。13計(jì)算機(jī)的用途歸納起來,電腦的用途主要有以下幾個(gè)方面。(1)科學(xué)計(jì)算(2)信息處理(3)過程控制(4)輔助功能(5)網(wǎng)絡(luò)與通信(6)人工智能(7)數(shù)字娛樂(8)平面、動(dòng)畫設(shè)計(jì)及排版(9)現(xiàn)代教育(10)家庭生活14計(jì)算機(jī)的分類及未來發(fā)展趨勢1依照不同的標(biāo)準(zhǔn),計(jì)算機(jī)有多種分類方法,常見的分類有以下幾種。(1)按處理數(shù)據(jù)的類型分類按處理數(shù)據(jù)的類型不同,可將計(jì)算機(jī)分為數(shù)字計(jì)算機(jī)、模擬計(jì)算機(jī)和混合計(jì)算機(jī)。(2)按使用范圍分類按使用范圍大小,計(jì)算機(jī)可以分為專用計(jì)算機(jī)和通用計(jì)算機(jī)。(3)按性能分類計(jì)算機(jī)依據(jù)其主要性能(如字長、存儲(chǔ)容量、運(yùn)算速度、外部設(shè)備),可分為超級(jí)計(jì)算機(jī)、大型計(jì)算機(jī)、小型計(jì)算機(jī)、微型計(jì)算機(jī)、工作站和服務(wù)器6類,這也是常用的分類方法。2計(jì)算機(jī)未來的發(fā)展趨勢(1)計(jì)算機(jī)的發(fā)展趨勢巨型化微型化網(wǎng)絡(luò)化智能化(2)未來新一代的計(jì)算機(jī)模糊計(jì)算機(jī)生物計(jì)算機(jī)光子計(jì)算機(jī)超導(dǎo)計(jì)算機(jī)量子計(jì)算機(jī)激光計(jì)算機(jī)分子計(jì)算機(jī)DNA計(jì)算機(jī)神經(jīng)元計(jì)算機(jī)15電子商務(wù)電子商務(wù)通常是指在不同地域進(jìn)行的商業(yè)貿(mào)易活動(dòng)中,在因特網(wǎng)開放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器服務(wù)器應(yīng)用方式,買賣雙方無需面對面地進(jìn)行各種商貿(mào)活動(dòng),而是實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購物、商戶之間的網(wǎng)上交易和在線電子支付以及各種商務(wù)活動(dòng)、交易活動(dòng)、金融活動(dòng)和相關(guān)的綜合服務(wù)活動(dòng)的一種新型的商業(yè)運(yùn)營模式。也可以理解為就是通過電子手段進(jìn)行的商業(yè)事務(wù)活動(dòng)。從電子商務(wù)的含義及發(fā)展歷程可以看出,電子商務(wù)具有如下基本特征。(1)普遍性(2)方便性(3)集成性(4)整體性(5)安全性(6)協(xié)調(diào)性16信息技術(shù)的發(fā)展一般來說,信息技術(shù)包括了信息基礎(chǔ)技術(shù)、信息系統(tǒng)技術(shù)和信息應(yīng)用技術(shù)。(1)信息基礎(chǔ)技術(shù)信息基礎(chǔ)技術(shù)是信息技術(shù)的基礎(chǔ),包括新材料、新能源、新器件的開發(fā)和制造技術(shù)。(2)信息系統(tǒng)技術(shù)信息系統(tǒng)技術(shù)是指有關(guān)信息的獲取、傳輸、處理、控制的設(shè)備和系統(tǒng)的技術(shù)。感測技術(shù)、通信技術(shù)、計(jì)算機(jī)與智能技術(shù)和控制技術(shù)是它的核心和支撐技術(shù)。(3)信息應(yīng)用技術(shù)信息應(yīng)用技術(shù)是針對種種實(shí)用目的的技術(shù),如信息管理、信息控制、信息決策等技術(shù)門類。信息技術(shù)在社會(huì)各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,顯示出強(qiáng)大的生命力。展望未來,現(xiàn)代信息技術(shù)將面向數(shù)字化、多媒體化、高速度、網(wǎng)絡(luò)化、寬頻帶、智能化等方面發(fā)展。第2章信息的表示與存儲(chǔ)21數(shù)據(jù)與信息數(shù)據(jù)是由人工或自動(dòng)化手段加以處理的事實(shí)、場景、概念和指示的符號(hào)表示。字符、聲音、表格、符號(hào)和圖像等都是不同形式的數(shù)據(jù)。數(shù)據(jù)與信息的區(qū)別:信息是客觀事物屬性的反映,是經(jīng)過加工處理并對人類客觀行為產(chǎn)生影響的數(shù)據(jù)表現(xiàn)形式;數(shù)據(jù)則是反應(yīng)客觀事物屬性的記錄,是信息的具體表現(xiàn)形式。任何事物的屬性都是通過數(shù)據(jù)來表示的,數(shù)據(jù)經(jīng)過加工處理后成為信息,而信息必須通過數(shù)據(jù)才能傳播,才能對人類產(chǎn)生影響。例如,數(shù)據(jù)2、4 6 8、10、12是一組數(shù)據(jù),其本身是沒有意義的,但對它進(jìn)行分析后,就可得到一組等差數(shù)列,從而很清晰的得到后面的數(shù)字。這便對這組數(shù)據(jù)賦予了意義,稱為信息,是有用的數(shù)據(jù)。22計(jì)算機(jī)中數(shù)據(jù)的單位計(jì)算機(jī)內(nèi)所有的信息均以二進(jìn)制的形式表示,數(shù)據(jù)的最小單位是位,存儲(chǔ)容量的基本單位是字節(jié)。1計(jì)算機(jī)中數(shù)據(jù)的常用單位位是度量數(shù)據(jù)的最小單位,代碼只有0和1,采用多個(gè)數(shù)碼表示一個(gè)數(shù),其中每一個(gè)數(shù)碼稱為1位(bit)。字節(jié)是信息組織和存儲(chǔ)的基本單位,一個(gè)字節(jié)由8位二進(jìn)制數(shù)字組成。字節(jié)也是計(jì)算機(jī)體系結(jié)構(gòu)的基本單位。為了便于平衡存儲(chǔ)器的大小,統(tǒng)一以字節(jié)(Byte,B)為單位。表21是常見的存儲(chǔ)單位。2字長隨著電子技術(shù)的發(fā)展,計(jì)算機(jī)的并行能力越來越強(qiáng),人們通常將計(jì)算機(jī)一次能夠并行處理的二進(jìn)制數(shù)的位數(shù)稱為字長,也稱為計(jì)算機(jī)的一個(gè)“字”。字長是計(jì)算機(jī)的一個(gè)重要指標(biāo),直接反映一臺(tái)計(jì)算機(jī)的計(jì)算能力和精度,字長越長,說明計(jì)算機(jī)的數(shù)據(jù)處理速度越快。計(jì)算機(jī)的字長通常是字節(jié)的整倍數(shù),如8位、16位、32位,發(fā)展到今天,微型機(jī)已達(dá)到64位,大型機(jī)已達(dá)128位。3計(jì)算機(jī)數(shù)據(jù)類型計(jì)算機(jī)使用的數(shù)據(jù)可以分為數(shù)值數(shù)據(jù)和字符數(shù)據(jù)(非數(shù)值數(shù)據(jù))。在計(jì)算機(jī)中,不僅數(shù)值數(shù)據(jù)用二進(jìn)制數(shù)來表示,字符數(shù)據(jù)也用二進(jìn)制數(shù)來進(jìn)行編碼。23字符的編碼字符包括西文字符(字母、數(shù)字、各種符號(hào))和中文字符,即所有不可做算術(shù)運(yùn)算的數(shù)據(jù)。計(jì)算機(jī)以二進(jìn)制數(shù)的形式存儲(chǔ)和處理數(shù)據(jù),兇此,字符必須按特定的規(guī)則進(jìn)行二進(jìn)制編碼才町進(jìn)入計(jì)算機(jī)。1西文字符的編碼用以表示字符的二進(jìn)制編碼稱為字符編碼。計(jì)算機(jī)中常用的字符(西文字符)編碼有兩種:EBCDIC碼和ASCII碼。ASCII碼是美國信息交換標(biāo)準(zhǔn)代碼(American StandardCode for Information Interchange)的縮寫,被國際標(biāo)準(zhǔn)化組織指定為國際標(biāo)準(zhǔn),它有7位碼和8位碼兩種版本。微型計(jì)算機(jī)采用的足ASCI1碼,而國際通用的則是7位ASCII碼,即用7位二進(jìn)制數(shù)來表示一個(gè)字符的編碼,共有27=128個(gè)不同的編碼值,相應(yīng)可以表示128個(gè)不問字符的編碼。2漢字的編碼我國于1980年發(fā)布了國家漢字編碼標(biāo)準(zhǔn)GB2312-1980,全稱是信息交換用漢字編碼字符集一基本集,簡稱GB碼或國標(biāo)碼。國標(biāo)碼的字符集:共收錄了7445個(gè)圖形符號(hào)和兩級(jí)常用漢字等。區(qū)位碼:也稱為國際區(qū)位碼,是國標(biāo)碼的一種變形,是由區(qū)號(hào)(行號(hào))和位號(hào)(列號(hào))構(gòu)成,區(qū)位碼由4位十進(jìn)制數(shù)字組成,前2位為區(qū)號(hào),后2位為位號(hào)。區(qū):陣中的每一行,用區(qū)號(hào)表示,區(qū)號(hào)范圍是194。位:陣中的每一列,用位號(hào)表示,位號(hào)范圍也是194。區(qū)位碼:漢字的區(qū)號(hào)與位號(hào)的組合(高兩位是區(qū)號(hào),低兩位是位號(hào))。實(shí)際上,區(qū)位碼也是一種漢字輸入碼,其最大優(yōu)點(diǎn)足一字一碼即無重碼,最大缺點(diǎn)是難以記憶。3漢字的處理過程從漢字編碼的角度看,計(jì)算機(jī)對漢字信息的處理過程實(shí)際上是各種漢字編碼問的轉(zhuǎn)換過程,這些編碼主要包括:漢字輸入碼、漢字內(nèi)碼、漢字地址碼、漢字字形碼等,如圖21所示。(1)漢字輸入碼漢字輸入碼是為使用戶能夠使用西文鍵盤輸入漢字而編制的編碼,也叫外碼。好的輸入編碼應(yīng)具有編碼短,可以減少擊鍵的次數(shù);重碼少,可以實(shí)現(xiàn)盲打,便于學(xué)習(xí)和掌握,但目前還沒有一種符合上述全部要求的漢字輸入編碼方法。漢字輸入碼有許多種不同的編碼方案,大致分為4類:音碼、音形碼、形碼、數(shù)字碼。(2)漢字內(nèi)碼漢字內(nèi)碼是為在計(jì)算機(jī)內(nèi)部對漢字進(jìn)行處理、存儲(chǔ)和傳輸而編制的漢字編碼。它應(yīng)能滿足存儲(chǔ)、處理和傳輸?shù)囊?,不論用何種輸入碼,輸入的漢字在機(jī)器內(nèi)部都要轉(zhuǎn)換成統(tǒng)一的漢字機(jī)內(nèi)碼,然后才能在機(jī)器內(nèi)傳輸、處理。在計(jì)算機(jī)內(nèi)部為了能夠區(qū)分是漢字還是ASCI1碼,將國標(biāo)碼每個(gè)字節(jié)的最高位由0變?yōu)?(即漢字內(nèi)碼的每個(gè)字節(jié)都大于128)。漢字的國標(biāo)碼與其內(nèi)碼存在下列關(guān)系是:內(nèi)碼=漢字的國標(biāo)碼+8080H。(3)漢字字形碼漢字字形碼是存放漢字字形信息的編碼,它與漢字內(nèi)碼一一對應(yīng)。每個(gè)漢字的字形碼是預(yù)先存放在計(jì)算機(jī)內(nèi)的,常稱為漢字庫。描述漢字字形的方法主要有點(diǎn)陣字形和矢量表示方式。點(diǎn)陣字形法:用一個(gè)排列成力陣的點(diǎn)的黑自來描述漢字。矢量表示方式:描述漢字字形的輪廓特征,采用數(shù)學(xué)方法描述漢字的輪廓曲線。(4)漢字地址碼漢字地址碼是指漢字庫(這里主要指漢字字形的點(diǎn)陣式字模庫)中存儲(chǔ)漢字字形信息的邏輯地址碼。在漢字庫中,字形信息都是按一定順序(大多數(shù)按照標(biāo)準(zhǔn)漢字國標(biāo)碼中漢字的排列順序)連續(xù)存放在存儲(chǔ)介質(zhì)中的,所以漢字地址碼也大多是連續(xù)有序的,而且與漢字機(jī)內(nèi)碼問有著簡單的對應(yīng)關(guān)系,從而簡化了漢字內(nèi)碼到漢字地址碼的轉(zhuǎn)換。4各種漢字編碼之間的關(guān)系漢字的輸入、輸出和處理的過程,實(shí)際上是漢字的各種代碼之問的轉(zhuǎn)換過程。漢字通過漢字輸入碼輸入到計(jì)算機(jī)內(nèi),然后通過輸入字典轉(zhuǎn)換為內(nèi)碼,以內(nèi)碼的形式進(jìn)行存儲(chǔ)和處理。在漢字通信過程中,處理機(jī)將漢字內(nèi)碼轉(zhuǎn)換為適合于通信用的交換碼,以實(shí)現(xiàn)通信處理。在漢字的顯示和打印輸出過程中,處理機(jī)根據(jù)漢字機(jī)內(nèi)碼計(jì)算出地址碼,按地址碼從字庫中取出漢字輸出碼,實(shí)現(xiàn)漢子的顯示或打印輸出,如圖22所示。第3章多媒體技術(shù)簡介31多媒體的概念及特征多媒體是指能夠同時(shí)對兩種或兩種以上的媒體進(jìn)行采集、操作、編輯、存儲(chǔ)等綜合處理的技術(shù)。它的實(shí)質(zhì)就是將以各種形式存在的媒體信息數(shù)字化,用計(jì)算機(jī)對其進(jìn)行組織加工,并以友好的形式交互地提供給用戶使用。與傳統(tǒng)媒體相比,多媒體具有集成性、控制性、非線性、交互性、互動(dòng)性、實(shí)時(shí)性、信息使用的方便性、信息結(jié)構(gòu)的動(dòng)態(tài)性等特點(diǎn)。其中,集成性和交互性是多媒體的精髓所在。32多媒體數(shù)字化在計(jì)算機(jī)和通信領(lǐng)域,最基本的三種媒體是聲音、圖像和文本。1聲音的數(shù)字化計(jì)算機(jī)系統(tǒng)通過輸入設(shè)備輸入聲音信號(hào),通過采樣、量化而將其轉(zhuǎn)換成數(shù)字信號(hào),然后通過輸出設(shè)備輸出。采樣是指每隔一段時(shí)間對連續(xù)的模擬信號(hào)進(jìn)行測量,每秒鐘的采樣次數(shù)即為采樣頻率。采樣頻率越高,則聲音的還原性就越好。量化是指將采樣后得到的信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)值,轉(zhuǎn)換后的數(shù)值以二進(jìn)制的形式表示。聲音的主要物理特征包括頻率和振幅。最終產(chǎn)生的音頻數(shù)據(jù)量按照下面公式計(jì)算:音頻數(shù)據(jù)量(B=采樣時(shí)間(S)采樣頻率(Hz)量化位數(shù)(B聲道數(shù)8例如,計(jì)算3分鐘雙聲道、16位量化位數(shù)、441kHz采樣頻率聲音的不壓縮的數(shù)據(jù)量為:音頻數(shù)據(jù)量=18044100 16 28=31752000 83028 MB2圖像的數(shù)字化(1)靜態(tài)圖像的數(shù)字化一幅圖像可以近似地看成由許多的點(diǎn)組成,因此它的數(shù)字化通過采樣和量化來實(shí)現(xiàn)。采樣就是采集組成一幅圖像的點(diǎn),量化就是將采集到的信息轉(zhuǎn)換成相應(yīng)的數(shù)值。(2)動(dòng)態(tài)圖像的數(shù)字化人眼看到的一幅圖像在消失后,還將在人的視網(wǎng)膜上滯留十分之一秒,動(dòng)態(tài)圖像正是根據(jù)這樣的原理而產(chǎn)生的。動(dòng)態(tài)圖像是將靜態(tài)圖像以每秒鐘N幅的速度播放,當(dāng)N25時(shí),顯示在人眼中的就是連續(xù)的畫面。(3)點(diǎn)位圖和矢量圖表示或生成圖像有兩種辦法:點(diǎn)位圖法和矢量圖法。點(diǎn)位圖法是將一幅圖分成很多小像素,每個(gè)像素用若干二進(jìn)制位表示像素的信息。矢量圖是用一些指令來表示一幅圖。(4)圖像文件的格式bmp格式:Windows采用的圖像文件存儲(chǔ)格式。gif格式:聯(lián)機(jī)圖形交換使用的一種圖像文件格式。(要)tiff格式:二進(jìn)制文件格式。png格式:圖像文件格式。wmf格式:絕大多數(shù)Windows應(yīng)用程序都可以有效處理的格式。dxf格式:一種向量格式。jpeg格式:是目前所有格式中壓縮率最高的格式。(5)視頻文件格式avi格式:Windows操作系統(tǒng)中數(shù)字視頻文件的標(biāo)準(zhǔn)格式。mov格式:QuickTime for Windows視頻處理軟件所采用的格式。33多媒體數(shù)據(jù)壓縮數(shù)據(jù)壓縮可以分為兩種類型:無損壓縮和有損壓縮。1無損壓縮無損壓縮是利用數(shù)據(jù)的統(tǒng)計(jì)冗余進(jìn)行壓縮,又稱可逆編碼。其原理是統(tǒng)計(jì)被壓縮數(shù)據(jù)中重復(fù)數(shù)據(jù)的出現(xiàn)次數(shù)來進(jìn)行編碼。解壓縮對壓縮的數(shù)據(jù)進(jìn)行重構(gòu),重構(gòu)后的數(shù)據(jù)與原來的數(shù)據(jù)完全相同。無損壓縮能夠確保解壓后的數(shù)據(jù)不失真,產(chǎn)生原始對象的完整復(fù)制。常用的無損壓縮格式:APE、F1AC、TAK、WavPack、TTA等。2有損壓縮有損壓縮又稱不可逆編碼,有損壓縮是指壓縮后的數(shù)據(jù)不能夠完全還原成壓縮前的數(shù)據(jù),與原始數(shù)據(jù)不同但是非常接近的壓縮方法。有損壓縮也稱破壞性壓縮,以損失文件中某些信息為代價(jià)來換取較高的壓縮比,其損失的信息多是對視覺和聽覺感知不重要的信息,但壓縮比通常較高。常用于音頻、圖像和視頻的壓縮。典型的有損壓縮編碼方法有:預(yù)測編碼、變換編碼、基于模型編碼、分形編碼及矢量量化編碼等。3無損壓縮與有損壓縮的比較(1)無損壓縮無損壓縮力法的優(yōu)點(diǎn)是能夠比較好地保存圖像的質(zhì)量,音質(zhì)高,不受信號(hào)源的影響,而且轉(zhuǎn)換方便。但是占用空間大,壓縮比不高,壓縮率比較低。(2)有損壓縮優(yōu)點(diǎn)是可以減少內(nèi)存和磁盤中占用的空間,在屏幕上觀看不會(huì)對圖像的外觀產(chǎn)生不利影響,但若把經(jīng)過有損壓縮技術(shù)處理的圖像用高分辨率打印出來,圖像質(zhì)量就會(huì)有明顯的受損痕跡。4多媒體的應(yīng)用領(lǐng)域(1)游戲和娛樂(2)教育與培訓(xùn)(3)商業(yè)(4)電子出版物(5)工程模擬(6)家用多媒體第4章計(jì)算機(jī)硬件系統(tǒng)1算法的基本概念計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。其中,計(jì)算機(jī)的硬件由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備5大基本部件組成。運(yùn)算器也稱為算術(shù)邏輯部件(ALU),主要功能是對二進(jìn)制數(shù)碼進(jìn)行算術(shù)或邏輯運(yùn)算。控制器是計(jì)算機(jī)的神經(jīng)中樞,指揮計(jì)算機(jī)各個(gè)部件自動(dòng)、協(xié)調(diào)地工作。在計(jì)算機(jī)的5個(gè)基本部件中,運(yùn)算器和控制器共同組成了中央處理器(CPU),而CPU和和存儲(chǔ)器又構(gòu)成了計(jì)算機(jī)的主機(jī)。下面將具體介紹各個(gè)部件。41運(yùn)算器(1)運(yùn)算器的組成運(yùn)算器的基本功能是完成對各種數(shù)據(jù)的加工處理,即 數(shù)據(jù)的算術(shù)運(yùn)算和邏輯運(yùn)算。運(yùn)算器由算術(shù)邏輯單元、累加器、狀態(tài)寄存器、通用寄存器組等組成。運(yùn)算器包括寄存器、執(zhí)行部件和控制電路三個(gè)部分。運(yùn)算器中的寄存器用于臨時(shí)保存參加運(yùn)算的數(shù)據(jù)和運(yùn)算的中間結(jié)果等。執(zhí)行部件包括一個(gè)加法器和各種類型的輸入輸出門電路??刂齐娐钒凑找欢ǖ臅r(shí)間順序發(fā)出不同的控制信號(hào),使數(shù)據(jù)經(jīng)過相應(yīng)的門電路進(jìn)入寄存器或加法器,完成規(guī)定的操作。運(yùn)算器主要由算術(shù)邏輯部件、通用寄存器組和狀態(tài)寄存器組成。算術(shù)邏輯部件A1U。A1U主要完成對二進(jìn)制信息的定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作。A1U能處理的數(shù)據(jù)位數(shù)(即字長)與機(jī)器有關(guān)。通用寄存器組:近期設(shè)計(jì)的機(jī)器的運(yùn)算器都有一組通用寄存器。主要用來保存參加運(yùn)算的操作數(shù)和運(yùn)算的結(jié)果。狀態(tài)寄存器:狀態(tài)寄存器用來記錄算術(shù)、邏輯運(yùn)算或測試操作的結(jié)果狀態(tài)。程序設(shè)汁巾,這些狀態(tài)通常用作條件轉(zhuǎn)移指令的判斷條件,所以又稱為條件碼寄存器。(2)與運(yùn)算器相關(guān)的性能指標(biāo)包括計(jì)算機(jī)的字長和運(yùn)算速度字長:指計(jì)算機(jī)運(yùn)算部件一次能同時(shí)處理的二進(jìn)制數(shù)據(jù)的位數(shù)。作為存儲(chǔ)數(shù)據(jù),字長越長,則計(jì)算機(jī)的運(yùn)算精度就越高;作為存儲(chǔ)指令,字長越長,則計(jì)算機(jī)的處理能力就越強(qiáng)。運(yùn)算速度:計(jì)算機(jī)的運(yùn)算速度通常是指每秒鐘所能執(zhí)行的加法指令的數(shù)目。常用百萬次秒(Mi11ion Instruc-tions Per Second,MIPS)來表示。這個(gè)指標(biāo)更能直觀地反映機(jī)器的速度。42控制器控制器是計(jì)算機(jī)的重要部件,它對輸入的指令進(jìn)行分析,并統(tǒng)一控制計(jì)算機(jī)的各個(gè)部件完成一定的任務(wù)??刂破魇前l(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作??刂破饔芍噶罴拇嫫?、指令譯碼器、程序計(jì)數(shù)器和操作控制器四個(gè)部件組成。指令寄存器用以保存當(dāng)前執(zhí)行或即將執(zhí)行的指令代碼;指令譯碼器用來解析和識(shí)別指令寄存器中所存放指令的性質(zhì)和操作方法;操作控制器則根據(jù)指令譯碼器的譯碼結(jié)果,產(chǎn)生該指令執(zhí)行過程中所需的全部控制信號(hào)和時(shí)序信號(hào);程序計(jì)數(shù)器總是保存下一條要執(zhí)行的指令地址,從而使程序可以自動(dòng)、持續(xù)地運(yùn)行。控制器的功能如下。數(shù)據(jù)緩沖:由于IO沒備的速率較低而CPU和內(nèi)存的速率卻很高,故在控制器中必須設(shè)置緩沖器。差錯(cuò)控制:設(shè)備控制器還兼管對由I/O設(shè)備傳送來的數(shù)據(jù)進(jìn)行差錯(cuò)檢測。數(shù)據(jù)交換:這是指實(shí)現(xiàn)CPU與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。為此,在控制器中需設(shè)置數(shù)據(jù)寄存器。狀態(tài)說明:標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)控制器應(yīng)記下設(shè)備的狀態(tài)供CPU了解。接收和識(shí)別命令:CPU可以向控制器發(fā)送多種不同的命令,設(shè)備控制器應(yīng)能接收并識(shí)別這些命令。地址識(shí)別:就像內(nèi)存中的每一個(gè)單元都有一個(gè)地址一樣,系統(tǒng)中的每一個(gè)設(shè)備也都有一個(gè)地址,而設(shè)備控制器又必須能夠識(shí)別它所控制的每個(gè)設(shè)備的地址。此外,為使CPU能向(或從)寄存器中寫入(或讀出)數(shù)據(jù),這些寄存器都應(yīng)具有唯一的地址。43存儲(chǔ)器存儲(chǔ)器是存儲(chǔ)程序和數(shù)據(jù)的部件。它可以自動(dòng)完成程序或數(shù)據(jù)的存取。計(jì)算機(jī)中的全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲(chǔ)器中,存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備。按用途存儲(chǔ)器可分為主存儲(chǔ)器(內(nèi)存)和輔助存儲(chǔ)器(外存)兩大類。CPU不能直接訪問外存,當(dāng)需要某一程序或數(shù)據(jù)時(shí),首先應(yīng)調(diào)入內(nèi)存,然后再運(yùn)行。1內(nèi)存內(nèi)存一般采用半導(dǎo)體存儲(chǔ)單元,包括只讀存儲(chǔ)器、隨機(jī)存儲(chǔ)器和高速緩沖存儲(chǔ)器。(1)只讀存儲(chǔ)器(ROM)只讀存儲(chǔ)器在制造的時(shí)候,信息(數(shù)據(jù)或程序)就被存人并永久保存。這些信息只能讀出,一般不能寫入,即使停電,這些數(shù)據(jù)也不會(huì)丟失。只讀存儲(chǔ)器一般用于存放計(jì)算機(jī)的基本程序和數(shù)據(jù),下面介紹幾種常用的ROM。可編程只讀存儲(chǔ)器(Programmab1e ROM,F(xiàn)PROM):一種電腦存儲(chǔ)記憶晶片,它允許使用稱為PROM編程器的硬件將數(shù)據(jù)寫入設(shè)備中。在PROM被編程后,它就只能專用那些數(shù)據(jù),并且不能被再編程。可擦除可編程只讀存儲(chǔ)器(Erasab1e PROM,EPROM):可實(shí)現(xiàn)數(shù)據(jù)的反復(fù)擦寫。使用時(shí),利用高電壓將信息編程寫入,擦除時(shí)將線路曝光于紫外線下,則信息被清空。EPROM通常在封裝外殼_匕會(huì)預(yù)留一個(gè)石英透明窗以方便曝光。電可擦除可編程只讀存儲(chǔ)器(E1ectrica11y EPROM,EEPROM),可實(shí)現(xiàn)數(shù)據(jù)的反復(fù)的擦寫。其實(shí)現(xiàn)原理類似EPROM,只是擦除方式是使用高電壓完成,因此不需要透明窗曝光。(2)隨機(jī)存儲(chǔ)器(RAM)通常所說的計(jì)算機(jī)內(nèi)存容量均指RAM存儲(chǔ)器容量,即計(jì)算機(jī)的主存。RAM有兩個(gè)特點(diǎn):第一個(gè)特點(diǎn)是CPU可以隨時(shí)直接對其讀寫;當(dāng)寫入時(shí),原來存儲(chǔ)的數(shù)據(jù)被沖掉。第二個(gè)特點(diǎn)是易失性,即電源斷開(關(guān)機(jī)或異常斷電)時(shí),RAM中的內(nèi)容立即丟失。因此微機(jī)每次啟動(dòng)時(shí)都要對RAM進(jìn)行重新裝配。RAM又可分為SRAM(Static RAM,靜態(tài)隨機(jī)存儲(chǔ)器)和DRAM(Dynamic RAM,動(dòng)態(tài)隨機(jī)存儲(chǔ)器)兩種。靜態(tài)RAM具有集成度低、價(jià)格高、存取速度快、不需要刷新的特點(diǎn);動(dòng)態(tài)RAM具有集成度高、價(jià)格低、存取速度較慢、需刷新的特點(diǎn)。(3)高速緩沖存儲(chǔ)器(Cache)高速緩沖存儲(chǔ)器(Cache)主要是為了解決CPU和主存速度不匹配,提高存儲(chǔ)器速度而設(shè)計(jì)的。Cache一般用SRAM存儲(chǔ)芯片來實(shí)現(xiàn),因?yàn)镾RAM比DRAM存取速度快而容量有限。CPU向內(nèi)存中寫入或讀出數(shù)據(jù)時(shí),這個(gè)數(shù)據(jù)也被存儲(chǔ)進(jìn)高速緩沖存儲(chǔ)器中。當(dāng)CPU再次需要這些數(shù)據(jù)時(shí),CPU就從高速緩沖存儲(chǔ)器讀取數(shù)據(jù),而不是訪問較慢的內(nèi)存,如果需要的數(shù)據(jù)在高速緩沖存儲(chǔ)器中沒有,CPU會(huì)再去讀取內(nèi)存中的數(shù)據(jù)。高速緩沖存儲(chǔ)器主要主要由以下幾部分組。Cache存儲(chǔ)體:存放由主存調(diào)入的指令與數(shù)據(jù)塊。地址轉(zhuǎn)換部件:建立目錄表以實(shí)現(xiàn)主存地址到緩存地址的轉(zhuǎn)換。替換部件:在緩存滿時(shí)按一定策略進(jìn)行數(shù)據(jù)塊替換并修改地址轉(zhuǎn)換部件。2外存外存可存放大量程序和數(shù)據(jù),且斷電后數(shù)據(jù)不會(huì)丟失,但是CPU不能直接訪問外存,必須將要訪問的調(diào)入內(nèi)存,才能被CPU訪問。常見的外儲(chǔ)存器有硬盤、快閃存儲(chǔ)器和光盤等。(1)硬盤硬盤(Hard Disk)是微型機(jī)上主要的外部存儲(chǔ)設(shè)備。它由磁盤片、讀寫控制電路和驅(qū)動(dòng)機(jī)構(gòu)組成。硬盤具有容量大、存取速度快等優(yōu)點(diǎn),操作系統(tǒng)、可運(yùn)行的程序文件和用戶的數(shù)據(jù)文件一般都保存在硬盤上。硬盤的結(jié)構(gòu)和原理磁頭:磁頭是硬盤中最昂貴的部件,也是硬盤技術(shù)中最重要和最關(guān)鍵的一環(huán)。磁道:當(dāng)磁盤旋轉(zhuǎn)時(shí),磁頭若保持在一個(gè)位置上,則每個(gè)磁頭都會(huì)在磁盤表面劃出一個(gè)圓形軌跡,這些圓形軌跡就叫做磁道。因此,磁盤上的磁道是一組同心圓。扇區(qū):磁盤上的每
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 佛山建筑改造施工方案
- 統(tǒng)編版(2024)道德與法治七年級(jí)下冊第一單元 珍惜青春時(shí)光 單元測試卷(含答案)
- 公墓焚燒房施工方案
- 飼養(yǎng)池施工方案
- 中級(jí)葡萄酒知識(shí)培訓(xùn)課件
- 2025屆浙江省寧波市北侖區(qū)重點(diǎn)達(dá)標(biāo)名校中考生物模擬試卷含解析
- 中國黃金回購合同范例
- 個(gè)人獨(dú)資出資協(xié)議合同范例
- 學(xué)期安全教育與培訓(xùn)計(jì)劃
- 高危地區(qū)保安人員的培訓(xùn)需求計(jì)劃
- 《無人機(jī)操控技術(shù)》 課件 項(xiàng)目 3 無人機(jī)視距內(nèi)操控技術(shù)
- 2024年高頻高速銅箔行業(yè)分析報(bào)告及未來發(fā)展趨勢
- normanconquest諾曼征服英國課件
- 新生兒腸扭轉(zhuǎn)護(hù)理查房課件
- 小學(xué)數(shù)學(xué)-水中浸物問題-完整版題型訓(xùn)練30題-帶答案
- 追悼會(huì)流程方案
- 營銷員壓力管理
- 淺議鄉(xiāng)鎮(zhèn)機(jī)構(gòu)改革的難點(diǎn)與對策
- 二年級(jí)下冊口算題1000題大全
- GB 4806.7-2023食品安全國家標(biāo)準(zhǔn)食品接觸用塑料材料及制品
- 中職統(tǒng)編《金屬材料與熱處理》系列課件 第1章 金屬的結(jié)構(gòu)與結(jié)晶(動(dòng)畫) 云天系列課件
評(píng)論
0/150
提交評(píng)論