2012年9月國家計算機二級c語言公共基礎(chǔ)知識復習要點[考試大論壇精品資料]new_第1頁
2012年9月國家計算機二級c語言公共基礎(chǔ)知識復習要點[考試大論壇精品資料]new_第2頁
2012年9月國家計算機二級c語言公共基礎(chǔ)知識復習要點[考試大論壇精品資料]new_第3頁
2012年9月國家計算機二級c語言公共基礎(chǔ)知識復習要點[考試大論壇精品資料]new_第4頁
2012年9月國家計算機二級c語言公共基礎(chǔ)知識復習要點[考試大論壇精品資料]new_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、二級公共基礎(chǔ)附220題祥解二級公共基礎(chǔ)知識新大綱基本要求1, 掌握算法的基本概念.2, 掌握基本數(shù)據(jù)結(jié)構(gòu)及其操作.3, 掌握基本排序和查找算法.4掌握逐步求精的結(jié)構(gòu)化程序設計方法.5, 掌握軟件工程的基本方法,具有初步應用相關(guān)技術(shù)進行軟件開發(fā)的能力.考試內(nèi)容一,基本數(shù)據(jù)結(jié)構(gòu)與算法1, 算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度).2, 數(shù)據(jù)結(jié)構(gòu)的定義;數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)的圖形表示;線性結(jié)構(gòu)與非線性結(jié)構(gòu)的概念.3, 線性表的定義;線性表的順序存儲結(jié)構(gòu)及其插入與除運算.4, 棧和隊列的定義;棧和隊列的順序存儲結(jié)構(gòu)及其基本運算.5, 線性單鏈表,雙向鏈表與循環(huán)鏈表

2、的結(jié)構(gòu)及其基本運算.6, 樹的基本概念;二*樹的定義及其存儲結(jié)構(gòu);二*樹的前序,中序和后序遍歷.7, 順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序).二,程序設計基礎(chǔ)1, 程序設計方法與風格.2, 結(jié)構(gòu)化程序設計.3, 面向?qū)ο蟮某绦蛟O計方法,對象,方法,屬性及繼承與多態(tài)性.三,軟件工程基礎(chǔ)1, 軟件工程基本概念,軟件聲明周期概念,軟件工具與軟件開發(fā)環(huán)境.2, 結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書.3, 結(jié)構(gòu)化程序設計方法,總體設計與詳細設計.4, 軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試,集成測試和系統(tǒng)測試.5

3、, 程序的調(diào)試,靜態(tài)調(diào)試與動態(tài)調(diào)試.四,數(shù)據(jù)庫設計基礎(chǔ)1, 數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng).數(shù)據(jù)模型,實體練習模型及E-R圖,從E-R圖導出關(guān)系數(shù)據(jù)模型.2, 關(guān)系代數(shù)運算,包括幾何運算及選擇,投影,連接運算,數(shù)據(jù)庫規(guī)范化理論.數(shù)據(jù)庫設計方法和步驟:需求分析,概念設計,邏輯設計和物理設計的相關(guān)策略.公共基礎(chǔ)知識總結(jié)第一章數(shù)據(jù)結(jié)構(gòu)與算法1.1 算法算法:是指解題方案的準確而完整的描述.算法不等于程序,也不等計算機方法,程序的編制不可能優(yōu)于算法的設計.算法的基本特征:是一組嚴謹?shù)囟x運算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止.特征包括:(1)可

4、行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;(4)擁有足夠的情報.算法的基本要素:一是對數(shù)據(jù)對象的運算和操作;二是算法的控制結(jié)構(gòu).指令系統(tǒng):一個計算機系統(tǒng)能執(zhí)行的所有指令的集合.基本運算和操作包括:算術(shù)運算,邏輯運算,關(guān)系運算,數(shù)據(jù)傳輸.算法的控制結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu)分支環(huán)結(jié)構(gòu).算法基本設計方法:列舉法,歸納法,遞推,遞歸,減斗遞推技術(shù),回溯法.算法復雜度:算法時間復雜度和算法空間復雜度.算法時間復雜度是指執(zhí)行算法所需要的計算工作量.(1) 平均

5、性態(tài)分析(2) 最壞情況復雜性算法空間復雜度是指執(zhí)行這個算法所需要的內(nèi)存空間.如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)構(gòu)進行的運算.數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合.(數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)的運算)數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系.數(shù)據(jù)的存儲結(jié)構(gòu)有順序,鏈接,索引等.線性結(jié)構(gòu)條件:(1

6、)有且只有一個起始結(jié)點;(2)每一個結(jié)點最多有一個前件,也最多有一個后件.非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu).1.3 線性表及其順序存儲結(jié)構(gòu)線性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的.在復雜線性表中,由若干項數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個記錄構(gòu)成的線性表又稱為文件.非空線性表的結(jié)構(gòu)特征:(1)且只有一個起始結(jié)點a1,它無前件;(2)有且只有一個終端結(jié)點an,它無后件;(3)除根結(jié)點與終端結(jié)點外,其他所有結(jié)點有且只有一個前件,也有且只有一個后件.結(jié)點個數(shù)n稱為線性表的長度,當n=0時,稱為空表.線性表的順序存儲結(jié)構(gòu)具有以下兩個基本特點:

7、(1)線性表中所有元素的所占的存儲空間是連續(xù)的;(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的.ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數(shù).順序表的運算:插入,刪除,查找,排序,分解,復制和逆轉(zhuǎn)等操作. (詳見14-16頁)1.4 棧和隊列棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底.棧按照先進后出(FILO)或后進先出(LIFO)組織數(shù)據(jù),棧具有記憶作用.用top表示棧頂位置,用bottom表示棧底.棧的基本運算:(1)插入元素稱為入棧運算;(2

8、)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化.隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表.Rear指針指向隊尾,front指針指向隊頭.隊列是先進行出(FIFO)或后進后出(LILO)的線性表.隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素.循環(huán)隊列:s=0表示隊列空,s=1且front=rear表示隊列滿1.5 線性鏈表數(shù)據(jù)結(jié)構(gòu)中的每一個結(jié)點對應于一個存儲單元,這種存儲單元稱為存儲結(jié)點,簡稱結(jié)點.結(jié)點由兩部分組成:(1)用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,用于

9、指向前一個或后一個結(jié)點.在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的.鏈式存儲方式即可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu).線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結(jié)點,右指針(Rlink)指向后件結(jié)點.線性鏈表的基本運算:查找,插入,刪除.特點(有缺點):1.6 樹與二叉樹樹是一種簡單的非線性結(jié)構(gòu),所有元素之間具有明顯的層次特性.在樹結(jié)構(gòu)中,每一個結(jié)點只有一個前件,稱為父結(jié)點,沒有前件的結(jié)點只有一個,稱為樹的根結(jié)點,

10、簡稱樹的根.每一個結(jié)點可以有多個后件,稱為該結(jié)點的子結(jié)點.沒有后件的結(jié)點稱為葉子結(jié)點.在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后件的個數(shù)稱為該結(jié)點的度,所有結(jié)點中最大的度稱為樹的度.樹的最大層次稱為樹的深度.二叉樹的特點:(1)非空二叉樹只有一個根結(jié)點;(2)每一個結(jié)點最多有兩棵子樹,且分別稱為該結(jié)點的左子樹與右子樹.二叉樹的基本性質(zhì):(1)在二叉樹的第k層上,最多有2k-1(k1)個結(jié)點;(2)深度為m的二叉樹最多有2m-1個結(jié)點;(3)度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個;N=N0+N1+N2N0=N2+1(4)具有n個結(jié)點的二叉樹,其深度至少為log2n+1,其中l(wèi)og2n表示取log

11、2n的整數(shù)部分;(5)具有n個結(jié)點的完全二叉樹的深度為log2n+1;(6)設完全二叉樹共有n個結(jié)點.如果從根結(jié)點開始,按層序(每一層從左到右)用自然數(shù)1,2,.n給結(jié)點進行編號(k=1,2.n),有以下結(jié)論:若k=1,則該結(jié)點為根結(jié)點,它沒有父結(jié)點;若k1,則該結(jié)點的父結(jié)點編號為INT(k/2); 若2kn,則編號為k的結(jié)點的左子結(jié)點編號為2k;否則該結(jié)點無左子結(jié)點(也無右子結(jié)點);若2k+1n,則編號為k的結(jié)點的右子結(jié)點編號為2k+1;否則該結(jié)點無右子結(jié)點.滿二叉樹是指除最后一層外,每一層上的所有結(jié)點有兩個子結(jié)點,則k層上有2k-1個結(jié)點深度為m的滿二叉樹有2m-1個結(jié)點.完全二叉樹是指除

12、最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干結(jié)點.二叉樹存儲結(jié)構(gòu)采用鏈式存儲結(jié)構(gòu),對于滿二叉樹與完全二叉樹可以按層序進行順序存儲.二叉樹的遍歷: A B C(1)前序遍歷(DLR),首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;(3)后序遍歷(LRD),首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結(jié)點.1.7 查找技術(shù)順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈式存儲結(jié)構(gòu).二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次.1.8 排序技術(shù)

13、排序是指將一個無序序列整理成按值非遞減順序排列的有序序列.交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2; (2)快速排序法.插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較; (2)希爾排序法,最壞情況需要O(n1.5)次比較.選擇類排序法:(1)簡單選擇排序法, 最壞情況需要n(n-1)/2次比較; (2)堆排序法,最壞情況需要O(nlog2n)次比較.第二章程序設計基礎(chǔ)2.1 程序設計設計方法和風格如何形成良好的程序設計風格1,源程序文檔化; 2,數(shù)據(jù)說明的方法;3,語句的結(jié)構(gòu); 4,輸入和輸出.注釋序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一,效率第

14、二.2.2 結(jié)構(gòu)化程序設計結(jié)構(gòu)化程序設計方法的四條原則是:1. 自頂向下;2. 逐步求精;3.模塊化;4.限制使用goto語句.結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點:(1)順序結(jié)構(gòu):一種簡單的程序設計,最基本,最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應該選擇哪一條分支來執(zhí)行相應的語句序列;(3)重復結(jié)構(gòu):又稱循環(huán)結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復執(zhí)行某一相同程序段.2.3 面向?qū)ο蟮某绦蛟O計面向?qū)ο蟮某绦蛟O計:以60年代末挪威奧斯陸大學和挪威計算機中心研制的SIMULA語言為標志.面向?qū)ο蠓椒ǖ膬?yōu)點:(1)與人類習慣的思維方法一致;(2)穩(wěn)定性好;(

15、3)可重用性好;(4)易于開發(fā)大型軟件產(chǎn)品;(5)可維護性好.對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?可以用來表示客觀世界中的任何實體,對象是實體的抽象.面向?qū)ο蟮某绦蛟O計方法中的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成.屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務.對象的基本特點:(1)標識惟一性;(2)分類性;(3)多態(tài)性;(4)封裝性;(5)模塊獨立性好.類是指具有共同屬性,共同方法的對象的集合.所以類是對象的抽象,對象是對應類的一個實例.消息是一個實例與另一個實例之間傳遞的信息.消息的組成包

16、括(1)接收消息的對象的名稱;(2)消息標識符,也稱消息名;(3)零個或多個參數(shù).繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義他們.繼承分單繼承和多重繼承.單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類.多態(tài)性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現(xiàn)象.第三章軟件工程基礎(chǔ)3.1 軟件工程基本概念計算機軟件是包括程序,數(shù)據(jù)及相關(guān)文檔的完整集合.軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運行,使用期間不存在磨損,老化問題;(4)軟件的開發(fā),運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導致了軟

17、件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素.軟件按功能分為應用軟件,系統(tǒng)軟件,支撐軟件(或工具軟件).軟件危機主要表現(xiàn)在成本,質(zhì)量,生產(chǎn)率等問題.軟件工程是應用于計算機軟件的定義,開發(fā)和維護的一整套方法,工具,文檔,實踐標準和工序.軟件工程包括3個要素:方法,工具和過程.軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P軟件規(guī)格說明;(2)D軟件開發(fā);(3)C軟件確認;(4)A軟件演進.軟件生命周期:軟件產(chǎn)品從提出,實現(xiàn),使用維護到停止使用退役的過程.軟件生命周期三個階段:軟件定義,軟件開發(fā),運行維護,主要活動階段是:(1)可

18、行性研究與計劃制定;(2)需求分析;(3)軟件設計;(4)軟件實現(xiàn);(5)軟件測試;(6)運行和維護.軟件工程的目標和與原則:目標:在給定成本,進度的前提下,開發(fā)出具有有效性,可靠性,可理解性,可維護性,可重用性,可適應性,可移植性,可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品.基本目標:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費用;能按時完成開發(fā),及時交付使用.軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理.軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學,開發(fā)過程,開發(fā)工具和軟件工程環(huán)境.軟件工程管理包括:軟件管理學,軟件工程經(jīng)濟學,軟件心

19、理學等內(nèi)容.軟件管理學包括人員組織,進度安排,質(zhì)量保證,配置管理,項目計劃等.軟件工程原則包括抽象,信息隱蔽,模塊化,局部化,確定性,一致性,完備性和可驗證性.3.2 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設計理論.需求分析方法有(1)結(jié)構(gòu)化需求分析方法; (2)面向?qū)ο蟮姆治龅姆椒?從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析.結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型.結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流圖; (2)數(shù)據(jù)字典; (3)判定樹; (4)判定表.數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需

20、求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模.數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的,嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入,輸出,存儲成分和中間計算結(jié)果有共同的理解.判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系,并列關(guān)系,選擇關(guān)系,根據(jù)它們構(gòu)造判定樹.判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜.數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心.軟件需求規(guī)格說明書的特點:(1)正確性;(2)無岐義性;(

21、3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性.3.3 結(jié)構(gòu)化設計方法軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務,軟件設計是確定系統(tǒng)的物理模型.軟件設計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑.從技術(shù)觀點來看,軟件設計包括軟件結(jié)構(gòu)設計,數(shù)據(jù)設計,接口設計,過程設計.結(jié)構(gòu)設計:定義軟件系統(tǒng)各主要部件之間的關(guān)系.數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義.接口設計:描述軟件內(nèi)部,軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信.過程設計:把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述.從工程管理角度來看:概要設計和詳細設計

22、.軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結(jié)構(gòu)設計;后進行低層次的過程設計;穿插進行數(shù)據(jù)設計和接口設計.衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準.在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強,則耦合性越弱.優(yōu)秀軟件應高內(nèi)聚,低耦合.軟件概要設計的基本任務是:(1)設計軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設計;(3)編寫概要設計文檔; (4)概要設計文檔評審.模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系. 在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息.還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭頭表示傳遞的是數(shù)據(jù).結(jié)構(gòu)圖的基本形式:順序形式,重復形式

23、,選擇形式.結(jié)構(gòu)圖有四種模塊類型:傳入模塊,傳出模塊,變換模塊和協(xié)調(diào)模塊.典型的數(shù)據(jù)流類型有兩種:變換型和事務型.變換型系統(tǒng)結(jié)構(gòu)圖由輸入,中心變換,輸出三部分組成.事務型數(shù)據(jù)流的特點是:接受一項事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧?然后給出結(jié)果.詳細設計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié).常見的過程設計工具有:圖形工具(程序流程圖、NS、PAD、HIPO),表格工具(判定表),語言工具(PDL).程序流程圖是一種傳統(tǒng)的、應用廣泛的軟件過程設計表示工具,也稱程序框圖。 控制流 邏輯條件 加工步驟程序流程圖特

24、點:簡單易學,但不受約束,隨意轉(zhuǎn)移控制,會破壞結(jié)構(gòu)化設計的原則,且不易表示數(shù)據(jù)結(jié)構(gòu)NS圖:方框圖。特征1. 每個構(gòu)件具有明確的功能域。2. 控制轉(zhuǎn)移必須遵守結(jié)構(gòu)化設計要求3. 易于確定局部數(shù)據(jù)和全局數(shù)據(jù)的作用域。4. 易于表達嵌套關(guān)系和模塊的層次結(jié)構(gòu)PAD圖 :特征1. 結(jié)構(gòu)清晰,結(jié)構(gòu)化程序高2. 易于閱讀3. 最左端的縱線是程序主干線,對應程序的第一層結(jié)構(gòu);每增加一層PAD圖向右擴展一個縱線,即縱線條數(shù)等于程序的層次數(shù)。4. 程序執(zhí)行時,從PAD圖最左主干線上端結(jié)點開始,自上向下,自左向右依次執(zhí)行,程序終止于最左主干線PDL 過程設計語言,也稱結(jié)構(gòu)化的英語和偽碼。1 有為結(jié)構(gòu)化構(gòu)成元素,數(shù)據(jù)

25、說明和模塊化特征提供的關(guān)鍵詞語法2. 處理部分的描述采用自然語言語法3. 可能說明簡單和復雜的數(shù)據(jù)結(jié)構(gòu)4. 支持各種接口描述的子程序定義和調(diào)用技術(shù)3.4 軟件測試軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別.軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程.軟件測試方法:靜態(tài)測試和動態(tài)測試.靜態(tài)測試包括代碼檢查,靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量.不實際運行軟件,主要通過人工進行.動態(tài)測試:是基本計算機的測試,主要包括白盒測試方法和黑盒測試方法.白盒測試(結(jié)構(gòu)測試或邏輯驅(qū)動測試):在程序內(nèi)部進行,主要用于完成軟件內(nèi)部操作的驗

26、證.主要方法有邏輯覆蓋,基本路徑測試.邏輯覆蓋:指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設計技術(shù)。通常指程度中的邏輯表示有判斷、分支、條件等幾種表示方式。1語句覆蓋:選擇足夠的測試用例,使得程序中每個語句至少被執(zhí)行一次。2. 路徑覆蓋:執(zhí)行足夠的測試用例,使程序中所有可能的路徑至少經(jīng)歷一次。3. 判斷覆蓋:使設計的測試用例保證程序中每個判斷的每個取值分支至少經(jīng)歷一次4. 條件覆蓋:設計的測試用例保證程序中每個判斷的每個條件的可能取值至少執(zhí)行一次。5. 判斷條件覆蓋:設計足夠的測試用例,使判斷中每個條件的所有可能取值至少執(zhí)行一次,同時每個判斷的所有可能取值分支至少執(zhí)行一次?;韭窂綔y試:根據(jù)

27、軟件過程性描述中的控制流程確定程序的環(huán)路復雜性度量,用此度量定義基本路徑集合,并由此導出一組測試用例,對每一條獨立執(zhí)行路徑進行測試。黑盒測試(功能測試或數(shù)據(jù)驅(qū)動測試):墨盒測試是對軟件已試驗的功能是否滿足需要進行測試和驗證。主要診斷功能不對或遺漏,界面錯誤,數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤,性能錯誤,初始化和終止條件錯,用于軟件確認.主要方法有等價類劃分法,邊界值分析法,錯誤推測法,因果圖等.等價類劃分法:是一種典型的黑盒測試方法。是將程序的所有可能的輸入 數(shù)據(jù)劃分成若干部分,然后從每個等價類中選取數(shù)據(jù)作為測試用例。包括 1有效等價類:合理、有意義的輸入數(shù)據(jù)構(gòu)成的集合,檢驗程序中符合規(guī)定的功能和性

28、能2無效等價類:不合理、無意義的輸入數(shù)據(jù)構(gòu)成的集合,可以檢驗程序中符合規(guī)定的功能和性能。邊界值分析法:對各種輸入、輸出范圍的邊界情況設計測試用例的方法。程序錯誤最容易出現(xiàn)在輸入或輸出范圍的邊界處。錯誤推測法:以經(jīng)驗和直覺推測程序中可能存在的各種錯誤,有針對性地編寫檢查這些錯誤的例子。基本想法是:列舉出程序中所有可能出現(xiàn)的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。軟件測試過程一般按4個步驟進行:單元測試,集成測試,驗收測試(確認測試)和系統(tǒng)測試.1單元測試 是對軟件設計的最小單位模塊進行正確性檢測的過程,其目的是發(fā)現(xiàn)一個模塊內(nèi)部可能存在的各種錯誤。依據(jù):詳細設計說明書和源程序。動態(tài)測試

29、以白盒測試為主,輔之以黑盒測試。單元測試主要針對模塊的五個基本特性進行:(1模塊接口測試:測試通過模塊的數(shù)據(jù)流(2局部數(shù)據(jù)結(jié)構(gòu)測試:檢查局部數(shù)據(jù)一致性、數(shù)據(jù)的初始化、數(shù)據(jù)類型的一致以及數(shù)據(jù)的下溢,上溢。(3重要的執(zhí)行路徑的檢查(4出錯處理測試:檢查模塊的錯誤處理功能(5影響以上各點及其他相關(guān)點的邊界條件測試2集成測試是測試和組裝軟件的過程。主要目的是發(fā)現(xiàn)與結(jié)構(gòu)有關(guān)的錯誤。集成測試的依據(jù)是概要計算機說明書。集成測試涉及的內(nèi)容包括軟件單元的接口測試、全局數(shù)據(jù)結(jié)構(gòu)測試、邊界條件和非法輸入的測試等。集成測試時將模塊組成程序通常采用兩種方式:非增量方式組裝(一次性組裝)與增量方式組裝(自頂向下、自底向上

30、以及自頂向下和自底向上結(jié)合)。3驗收測試 任務是驗證軟件的功能 和性能及其他特性是否滿足了規(guī)格說明書中確定的各種需求,軟件配置是否完全、正確首先運用黑盒測試方法對軟件進行有效性測試工,然后通過復審保證軟件配置齊全,分類有序以及軟件配置所有的成分的完備性、一致性、準確性和可操作性。4系統(tǒng)測試是將通過測試的軟件作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實際運行環(huán)境下對計算機系統(tǒng)進行集成測試和確認測試。系統(tǒng)測試必須在目標環(huán)境下運行,其功能在于評估系統(tǒng)環(huán)境下軟件的性能,發(fā)現(xiàn)和捕捉軟件中潛在的錯誤。目的是在真實的系統(tǒng)工作環(huán)境下檢驗軟件是否能與系

31、統(tǒng)正確連接,發(fā)現(xiàn)軟件與系統(tǒng)需求不一致的地方。包括:功能測試、性能測試、操作測試、配置測試、外部接口測試和安全性測試。軟件測試貫穿整個軟件的生存期。3.5 程序的調(diào)試程序調(diào)試的任務是診斷和改正程序中的錯誤,主要在開發(fā)階段進行.程序調(diào)試分兩部分:根據(jù)錯誤的跡象確定程序中錯誤的性質(zhì)、原因和位置;對程序進行修改,排除這個錯誤。程序調(diào)試的基本步驟:(1) 錯誤定位;(2)修改設計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤.程序調(diào)試的原則:1 確定錯的性質(zhì)和出錯位置時注意事項2修改錯誤的原則 在出現(xiàn)錯誤的地方,可能有別的錯誤;改正錯誤只修改了這個錯誤的表現(xiàn),而沒有改正錯誤本身;改正錯誤的同時

32、引入新的錯誤;改正錯誤的過程是回到程序設計階段;修改源代碼程序,不要改變目標代碼。軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試.靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試.主要調(diào)試方法有:(1)強行排錯法;(2)回溯法;(3)原因排除法.第四章數(shù)據(jù)庫數(shù)據(jù)Date:實際上就是描述事物的符號記錄.數(shù)據(jù)的特點:有一定的結(jié)構(gòu),有型與值之分,如整型,實型,字符型等.而數(shù)據(jù)的值給出了符合定型的值,如整型值15.數(shù)據(jù)庫Datebase(簡稱DB):是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應用數(shù)據(jù)的集成,并可被各個應用程序共享.數(shù)據(jù)庫存放數(shù)據(jù)是按

33、數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點.數(shù)據(jù)庫管理系統(tǒng)(Datebase Management System 簡稱DBMS):一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織,數(shù)據(jù)操縱,數(shù)據(jù)維護,控制及保護和數(shù)據(jù)服務等,是數(shù)據(jù)庫的核心.數(shù)據(jù)庫管理系統(tǒng)功能:(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架;(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段;(3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢,插入,修改,刪除等以及簡單的算術(shù)運算及統(tǒng)計;(4)數(shù)據(jù)的完整性,安生性定義與檢查;(5)數(shù)據(jù)庫的并發(fā)控制與故障恢復;(6)數(shù)據(jù)的服務:如拷貝,轉(zhuǎn)存,重組,性能監(jiān)測,分

34、析等.為完成以上六個功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:(1)數(shù)據(jù)定義語言(Data Definition Language,簡稱DDL):負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;(2)數(shù)據(jù)操縱語言Data Manipulation Language,簡稱DML:負責數(shù)據(jù)的操縱,如查詢與增,刪,改等;(3)數(shù)據(jù)控制語言(簡稱DCL):負責數(shù)據(jù)完整性,安全性的定義與檢查以及并發(fā)控制,故障恢復等.數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中).數(shù)據(jù)庫管理員DBA:對數(shù)據(jù)庫進行規(guī)劃,設計,維護,監(jiān)視等的專業(yè)管理人員.工作:數(shù)據(jù)庫設

35、計、數(shù)據(jù)庫維護、改善系統(tǒng)性能。數(shù)據(jù)庫系統(tǒng)DBS:由數(shù)據(jù)庫(數(shù)據(jù)),數(shù)據(jù)庫管理系統(tǒng)(軟件),數(shù)據(jù)庫管理員(人員),硬件平臺(硬件),軟件平臺(軟件)五個部分構(gòu)成的運行實體.數(shù)據(jù)庫應用系統(tǒng)DBAS:由數(shù)據(jù)庫系統(tǒng),應用軟件及應用界面三者組成.數(shù)據(jù)庫管理系統(tǒng)DBMS數(shù)據(jù)庫系統(tǒng)發(fā)展三個階段:文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的,統(tǒng)一的,管理和數(shù)據(jù)共享的能力.層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐.關(guān)系數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)的基本特點:數(shù)據(jù)的集成性 ,數(shù)據(jù)的高共享性與低冗余性 ,數(shù)據(jù)獨立性(物理獨立性與邏輯獨立性),數(shù)據(jù)統(tǒng)一管理與控制.物理獨立

36、性:是數(shù)據(jù)的物理結(jié)構(gòu)包括存儲結(jié)構(gòu)、存取方式的改變?yōu)?,不影響?shù)據(jù)庫的邏輯結(jié)構(gòu)。邏輯獨立性:數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變?nèi)缧薷臄?shù)據(jù)、增加數(shù)據(jù)類型等,不需要相應修改應用程序。數(shù)據(jù)的統(tǒng)一管理與控制1數(shù)據(jù)的完整性檢查 2數(shù)據(jù)的安全性保護 3 并發(fā)控制數(shù)據(jù)庫系統(tǒng)的三級模式:(1)概念模式:數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;(2)外模式:也稱子模式或用戶模式.是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法.內(nèi)模式處于最底層,反映了數(shù)據(jù)在計算機物理結(jié)構(gòu)中的實際存儲形式;概念模式處于中層,反映了設計者的數(shù)據(jù)全局邏輯要求;處模

37、式處于最外層,反映了用戶對數(shù)據(jù)的要求。數(shù)據(jù)庫系統(tǒng)的兩級映射:(1)概念模式到內(nèi)模式的映射;(2)外模式到概念模式的映射.4.2 數(shù)據(jù)模型數(shù)據(jù)模型的概念:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征,動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架.描述了數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作及數(shù)據(jù)約束.E-R模型的基本概念(1) 實體:現(xiàn)實世界中的事物;(2)屬性:事物的特性;(3)聯(lián)系:現(xiàn)實世界中事物間的關(guān)系.實體集的關(guān)系有一對一,一對多,多對多的聯(lián)系.E-R模型三個基本概念之間的聯(lián)接關(guān)系:實體是概念世界中的基本單位,屬性有屬性域,每個實體可取屬性域內(nèi)的值.一個實體的所有屬性值叫元組.E-

38、R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯(lián)系表示法.層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點:(1)每棵樹有且僅有一個無雙親結(jié)點,稱為根;(2)樹中除根外所有結(jié)點有且僅有一個雙親.網(wǎng)狀模型從圖論上看,網(wǎng)狀模型是一個不加任何條件限制的無向圖.關(guān)系模型采用二維表來表示,簡稱表,由表框架及表的元組組成.一個二維表就是一個關(guān)系.在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼.從所有侯選健中選取一個作為用戶使用的鍵稱主鍵.表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼.關(guān)系中的數(shù)據(jù)約束:(1)實體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關(guān)系

39、之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應用中數(shù)據(jù)的語義要求.4.3關(guān)系代數(shù)關(guān)系數(shù)據(jù)庫系統(tǒng)的特點之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算.關(guān)系模型的基本運算:(1) 插入 (2)刪除 (3)修改 (4)查詢(包括投影,選擇,笛卡爾積運算)4.4 數(shù)據(jù)庫設計與管理數(shù)據(jù)庫設計是數(shù)據(jù)應用的核心.數(shù)據(jù)庫設計的兩種方法:(1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求;(2)面向過程:以處理需求為主,兼顧信息需求.數(shù)據(jù)庫的生命周期:需求分析階段,概念設計階段,邏輯設計階段,物理設計階段,編碼階段,測試階段,運行階段,進一步

40、修改階段.需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒?結(jié)構(gòu)化分析(簡稱SA)方法用自頂向下,逐層分解的方式分析系統(tǒng).用數(shù)據(jù)流圖表達數(shù)據(jù)和處理過程的關(guān)系.對數(shù)據(jù)庫設計來講,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個部分:數(shù)據(jù)項,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流(可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構(gòu)),數(shù)據(jù)存儲,處理過程.數(shù)據(jù)字典是在需求分析階段建立、在數(shù)據(jù)庫設計過程中完善的數(shù)據(jù)庫概念設計的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系.設計的方法有兩種(1)集中式模式設計法(適用于小型或并不復雜的單位或部門);(2)視圖集成設計法.設計方法:E-R模型與視圖集成.視圖設計一般有三種設計次序

41、:自頂向下,由底向上,由內(nèi)向外.視圖集成的幾種沖突:命名沖突,概念沖突,域沖突,約束沖突.數(shù)據(jù)庫的邏輯設計1從E-R圖向關(guān)系模式轉(zhuǎn)換。2邏輯模式規(guī)范化及調(diào)整、實現(xiàn)3關(guān)系視圖設計 關(guān)系視圖設計:關(guān)系視圖的設計又稱外模式設計.關(guān)系視圖的主要作用:(1)提供數(shù)據(jù)邏輯獨立性;(2)能適應用戶對數(shù)據(jù)的不同需求;(3)有一定數(shù)據(jù)保密功能.數(shù)據(jù)庫的物理設計主要目標是對數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度有效利用存儲空間.一般RDBMS中留給用戶參與物理設計的內(nèi)容大致有索引設計,集成簇設計和分區(qū)設計.數(shù)據(jù)庫管理的內(nèi)容:(1)數(shù)據(jù)庫的建立;(2)數(shù)據(jù)庫的調(diào)整;(3)數(shù)據(jù)庫的重組;(4

42、)數(shù)據(jù)庫安全性與完整性控制;(5)數(shù)據(jù)庫的故障恢復;(6)數(shù)據(jù)庫監(jiān)控.附件一: 國家二級基礎(chǔ)知識題庫及分析第一套(1)棧和隊列的共同特點是 D(棧和隊列的特點)A)都是先進先出 B)都是先進后出C)只允許在端點處插入和刪除元素 D)沒有共同點解析:棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除.二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種后進先出的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種先進先出的線性表.所以沒有共同點(2)已知二叉樹后序遍歷序列是dAbec,中序遍歷序列是debac,它的前序遍歷序列是 D (樹遍歷) C E

43、 D B A A)acbed B)decab C)deabc D)cedba解析: 依據(jù)后序遍歷序列可確定根結(jié)點為c;再依據(jù)中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,如下圖所示.求得該二叉樹的前序遍歷序列為選項D).(3)鏈表不具有的特點是 B(鏈表的特點)A)不必事先估計存儲空間 B)可隨機訪問任一元素C)插入刪除不需要移動元素 D)所需空間與線性表長度成正比解析: 鏈表采用的是鏈式存儲結(jié)構(gòu),它克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點的指針來指示

44、,不需要移動數(shù)據(jù)元素.但是鏈式存儲結(jié)構(gòu)也有不足之處: 每個結(jié)點中的指針域需額外占用存儲空間; 鏈式存儲結(jié)構(gòu)是一種非隨機存儲結(jié)構(gòu).(4)結(jié)構(gòu)化程序設計的3種結(jié)構(gòu)是 D(結(jié)構(gòu)化程序設計)A)順序結(jié)構(gòu),選擇結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu) B)分支結(jié)構(gòu),等價結(jié)構(gòu),循環(huán)結(jié)構(gòu)C)多分支結(jié)構(gòu),賦值結(jié)構(gòu),等價結(jié)構(gòu) D)順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)解析: 順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(或重復結(jié)構(gòu))是結(jié)構(gòu)化程序設計的3種基本結(jié)構(gòu).(5)為了提高測試的效率,應該 D(軟件測試)A)隨機選取測試數(shù)據(jù) B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C)在完成編碼以后制定軟件的測試計劃 D)集中對付那些錯誤群集的程序解析: 測試的目的是發(fā)現(xiàn)軟件中

45、的錯誤.經(jīng)驗表明,程序中存在錯誤的概率與該程序中已發(fā)現(xiàn)的錯誤數(shù)成正比.這一現(xiàn)象說明,為了提高測試效率,測試人員應該集中對付那些錯誤群集的程序.(6)算法的時間復雜度是指 C(時間復雜度含義)A)執(zhí)行算法程序所需要的時間 B)算法程序的長度C)算法執(zhí)行過程中所需要的基本運算次數(shù) D)算法程序中的指令條數(shù)解析: 算法的復雜度主要包括算法的時間復雜度和算法的空間復雜度.所謂算法的時間復雜度是指執(zhí)行算法所需要的計算工作量;算法的空間復雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間.(7)軟件生命周期中所花費用最多的階段是 D(軟件工程周期)A)詳細設計 B)軟件編碼C)軟件測試 D)軟件維護解析: 軟件生命

46、周期分為軟件定義,軟件開發(fā)及軟件運行維護3個階段.本題中,詳細設計,軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護的代價.(8)數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式,內(nèi)模式和外模式的語言為 C(模式語言)A)C B)Basic C)DDL D)DML解析: 選項A),B)顯然不合題意.數(shù)據(jù)定義語言(Data Definition Language,簡稱DDL)負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言(Data Manipulation Language,簡稱DML

47、)負責數(shù)據(jù)的操縱,包括查詢及增,刪,改等操作.(9)下列有關(guān)數(shù)據(jù)庫的描述,正確的是 C(數(shù)據(jù)庫的含義)A)數(shù)據(jù)庫是一個DBF文件 B)數(shù)據(jù)庫是一個關(guān)系C)數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合 D)數(shù)據(jù)庫是一組文件解析: 數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應用數(shù)據(jù)的集成,并可被各個應用程序所共享.數(shù)據(jù)庫中的數(shù)據(jù)具有集成,共享之特點.(10)下列有關(guān)數(shù)據(jù)庫的描述,正確的是 D(數(shù)據(jù)庫性質(zhì))A)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程B)數(shù)據(jù)的物理獨立性是指當數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的存儲結(jié)構(gòu)不變C)關(guān)系中的每一列稱為元組,一個元組就是一個字段D

48、)如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字解析: 數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項A)敘述錯誤;數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項B)敘述錯誤;關(guān)系中的行稱為元組,對應存儲文件中的記錄,關(guān)系中的列稱為屬性,對應存儲文件中的字段,故選項C)敘述錯誤.填空題(1)算法的基本特征是可行性,確定性, 【1】 和擁有足夠的情報.答案:有窮性解析: 算法是指解題方案的準確而完整的描述.它有4個基本特征,分別是可行性,確定性,有窮性和擁有足夠的情報.(2)在長度為n的有序線性表中進行二分查找.最壞的情

49、況下,需要的比較次數(shù)為 【2】 .答案:log2n解析: 對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次.(3)在面向?qū)ο蟮某绦蛟O計中,類描述的是具有相似性質(zhì)的一組 【3】 .答案:對象解析: 將屬性,操作相似的對象歸為類,也就是說,類是具有共同屬性,共同方法的對象的集合.(4)通常,將軟件產(chǎn)品從提出,實現(xiàn),使用維護到停止使用退役的過程稱為 【4】 .答案:軟件生命周期解析: 軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期.一般包括可行性研究與需求分析,設計,實現(xiàn),測試,交付使用以及維護等活動.(5)數(shù)據(jù)庫管理系統(tǒng)

50、常見的數(shù)據(jù)模型有層次模型,網(wǎng)狀模型和 【5】 3種.答案:關(guān)系模型解析: 數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標準接口.其總是基于某種數(shù)據(jù)模型,可以分為層次模型,網(wǎng)狀模型和關(guān)系模型.第二套:(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為(樹的遍歷)A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG解析: 利用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下: 前序遍歷的第一個結(jié)點A為樹的根結(jié)點; 中序遍歷中A的左邊的結(jié)點為A的左子樹,A

51、右邊的結(jié)點為A的右子樹; 再分別對A的左右子樹進行上述兩步處理,直到每個結(jié)點都找到正確的位置.(2)樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(A)A)有且只有1 B)1或多于1C)0或1 D)至少2解析: 樹是一個或多個結(jié)點組成的有限集合,其中一個特定的結(jié)點稱為根,其余結(jié)點分為若干個不相交的集合.每個集合同時又是一棵樹.樹有且只有1個根結(jié)點.(3)如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是(棧進出順序)A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D)任意順序解析: 由棧后進先出的特點可知:A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1

52、不可能比e2先出,D)中棧是先進后出的,所以不可能是任意順序.B)中出棧過程如圖所示:(4)在設計程序時,應采納的原則之一是(程序設計原則)A)不限制goto語句的使用 B)減少或取消注解行C)程序越短越好 D)程序結(jié)構(gòu)應有助于讀者理解解析: 濫用goto 語句將使程序流程無規(guī)律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選.(5)程序設計語言的基本成分是數(shù)據(jù)成分,運算成分,控制成分和(語言基本成分組成)A)對象成分 B)變量成分C)語句成分 D)傳輸成分解析: 程序設計語言是用于書寫計算機程序的語言,其

53、基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù).運算成分:描述程序中所需的運算.控制成分:用來構(gòu)造程序的邏輯控制結(jié)構(gòu).傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言.(6)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是(軟件需求規(guī)格說明書的作用)A)便于用戶,開發(fā)人員進行理解和交流B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C)作為確認測試和驗收的依據(jù)D)便于開發(fā)人員進行需求分析解析: 軟件需求規(guī)格說明書(SRS,Software Requirement Specification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一.它有以下幾個方面的作用: 便于用戶,開發(fā)人員

54、進行理解和交流; 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù); 作為確認測試和驗收的依據(jù).(7)下列不屬于軟件工程的3個要素的是(軟件工程的3個要素)A)工具 B)過程 C)方法 D)環(huán)境解析: 軟件工程包括3個要素,即方法,工具和過程.方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā),管理,文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制,管理.(8)單個用戶使用的數(shù)據(jù)視圖的描述稱為(數(shù)據(jù)模式)A)外模式 B)概念模式 C)內(nèi)模式 D)存儲模式解析: 選項A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項B)不正確,全局數(shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)

55、的整體邏輯結(jié)構(gòu)的描述;選項C)不正確,物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;選項D)不正確,存儲模式即為內(nèi)模式.(9)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成(E-R圖)A)屬性 B)關(guān)系 C)鍵 D)域解析: 數(shù)據(jù)庫邏輯設計的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式.首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性.實體集也可以轉(zhuǎn)換成關(guān)系.(10)SQL語言又稱為(SQL含義)A)結(jié)構(gòu)化定義語言 B)結(jié)構(gòu)化控制語言C)結(jié)構(gòu)化查詢語言 D)結(jié)構(gòu)化操縱語言解析: 結(jié)構(gòu)化查詢語言(Structured Query Language,簡稱SQL)是集數(shù)據(jù)定義,數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫語言.填空題(1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于 【1】.解析: 數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式.在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息.(2)在面向?qū)ο蠓椒ㄖ?類之間共享屬性和操作的機制稱為 【2】 .解析: 類是面向?qū)ο笳Z言中必備的程序語言結(jié)構(gòu),用來實現(xiàn)抽象數(shù)據(jù)類型.類與類之間的繼承關(guān)系實現(xiàn)了類之間的共享

溫馨提示

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

評論

0/150

提交評論