




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