版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一部分公共基礎(chǔ)知識第1章數(shù)據(jù)結(jié)構(gòu)與算法1.1算法1 .算法的基本概念(1)概念:算法是指一系列解決問題的清晰指令。(2)4個基本特征:可行性、確定性、有窮性、擁有足夠的情報。(3)兩種基本要素:對數(shù)據(jù)對象的運算和操作、算法的控制結(jié)構(gòu)(運算和操作時間的順序)。(4)設(shè)計的基本方法:列舉法、歸納法、遞推法、遞歸法、減半遞推技術(shù)和回溯法。2 .算法的復(fù)雜度(1)算法的時間復(fù)雜度:執(zhí)行算法所需要的計算工作量。(2)算法的空間復(fù)雜度:執(zhí)行算法所需的內(nèi)存空間。1.2 數(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)
2、在計算機存儲空間中的存放形式,有順序存儲、鏈式存儲、索引存儲和散列存儲4種方式。數(shù)據(jù)結(jié)構(gòu)按各元素之間前后件關(guān)系的復(fù)雜度可劃分為:(1)線性結(jié)構(gòu):有且只有一個根節(jié)點,且每個節(jié)點最多有個直接前驅(qū)和一個直接后繼的非空數(shù)據(jù)結(jié)構(gòu)。(2)非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。1.3 線性表及其順序存儲結(jié)構(gòu)1 .線性表的基本概念線性結(jié)構(gòu)又稱線性表,線性表是最簡單也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。2 .線性表的順序存儲結(jié)構(gòu)元素所占的存儲空間必須連續(xù)。元素在存儲空鳳的位置是按邏輯順序存放的。3 .線性表的插入運算在第i個元素之前插入一個新元素的步驟如下:步驟-:把原來第n個節(jié)點至第i個節(jié)點依次往后移一個元素位置。步驟二
3、:把新節(jié)點放在第i個位置上。步驟三:修正線性表的節(jié)點個數(shù)。在最壞情況下,即插入元素在第一個位置,線性表中所有元素均需要移動。4 .線性表的刪除運算刪除第i個位置的元素的步驟如下:步驟一:把第i個元素之后不包括第i個元素的n-i個元素依次前移一個位置;步驟二:修正線性表的結(jié)點個數(shù)。5 .4棧和隊列1.棧及其基本運算(1)基本概念:棧是一種特殊的線性表,其插入運算與刪除運算都只在線性表的一端進行,也被稱為“先進后出” 表或“后進先出”表。 棧頂:允許插入與刪除的一端。 棧底:棧頂?shù)牧硪欢恕?空棧:棧中沒有元素的棧。(2)特點。 棧頂元素是最后被插入和最早被刪除的元素。 棧底元素是最早被插入和最后被
4、刪除的元素。 棧有記憶作用。在順序存儲結(jié)構(gòu)下,棧的插入和刪除運算不需移動表中其他數(shù)據(jù)元素。棧頂指針top動態(tài)反映了棧中元素的變化情況(3)順序存儲和運算:入棧運算、退棧運算和讀棧頂運算。2.隊列及其基本運算(1)基本概念:隊列是指允許在一端進行插入,在另一端進行刪除的線性表,又稱“先進先出”的線性表。隊尾:允許插入的一端,用尾指針指向隊尾元素。排頭:允許刪除的一端,用頭指針指向頭元素的前一位置。循環(huán)隊列及其運算。所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間。入隊運算是指在循環(huán)隊列的隊尾加入一個新元素.當(dāng)循環(huán)隊列非空(s=l)且隊尾指針等于隊頭指針時,說明循
5、環(huán)隊列 已滿,不能進行入隊運算,這種情況稱為“上溢”。退隊運算是指在循環(huán)隊列的隊頭位置退出一個元素并賦給指定的變量。首先將隊頭指針進一,然后將排頭指針指向 的元素賦給指定的變量。當(dāng)循環(huán)隊列為空(s=O)時,不能進行退隊運算,這種情況稱為“T溢”。1.5 線性鏈表在定義的鏈表中,若只含有一個指針域來存放下一個元素地址,稱這樣的鏈表為單鏈表或線性鏈表。在鏈式存儲方式中,要求每個結(jié)點由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指 針,稱為指針域。其中指針用于指向該結(jié)點的前一個或后一個結(jié)點(即前件或后件)。1.6 樹和二叉樹1 .樹的基本概念樹是簡單的非線性結(jié)構(gòu),樹中有且僅有一
6、個沒有前驅(qū)的節(jié)點稱為“根”,其余節(jié)點分成m互不相交的有限集合TLT2,T。,每個集合又是一棵樹,稱Tl, H2,,T。為根結(jié)點的子樹。父節(jié)點:每一個節(jié)點只有一個前件,無前件的節(jié)點只有一個,稱為樹的根結(jié)點(簡稱樹的根)。子節(jié)點:每一個節(jié)點可以后多個后件,無后件的節(jié)點稱為葉子節(jié)點。樹的度:所有節(jié)點最大的度。樹的深度:樹的最大層次。2 .二叉樹的定義及其基本性質(zhì)(1)二叉樹的定義:二叉樹是一種非線性結(jié)構(gòu),是有限的節(jié)點集合,該集合為空(空二叉樹)或由一個根節(jié)點及兩棵 互不相交的左右二叉子樹組成??煞譃闈M二叉樹和完全二叉樹,其中滿二叉樹一定是完全二叉樹,但完全二叉樹不 一定是滿二叉樹。二叉樹具有如下兩個
7、特點:二叉樹可為空,空的二叉樹無節(jié)點,非空二叉樹有且只有一個根結(jié)點;每個節(jié)點最多可有兩棵子樹,稱為左子樹和右子樹。(2)二叉樹的基本性質(zhì)。性質(zhì)1:在二叉樹的第k層上至多有2卜個結(jié)點*21)。性質(zhì)2:深度為m的二叉樹至多有2m-l個結(jié)點。性質(zhì)3:對任何一棵二叉樹,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。性質(zhì)4:具有n個結(jié)點的完全二叉樹的深度至少為IOg2n +1,其中Log2n表示lOg2n的整數(shù)部分。3 .滿二叉樹與完全二叉樹(1)滿二叉樹:滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點。滿二叉 樹在其第i層上有2"個結(jié)點。從上面滿二叉樹定義
8、可知,二叉樹的每一層上的結(jié)點數(shù)必須都達到最大,否則就不是滿二叉樹。深度為m的滿 二叉樹有2m-l個結(jié)點。(2)完全二叉樹:完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結(jié)點數(shù)均達到最大值;在最后一層 上只缺少右邊的若干結(jié)點。如果一棵具有n個結(jié)點的深度為k的二叉樹,它的每一個結(jié)點都與深度為k的滿二叉樹中編號為1n的結(jié)點 一對應(yīng)。4 .二叉樹的存儲結(jié)構(gòu)二叉樹通常采用鏈式存儲結(jié)構(gòu),存儲節(jié)點由數(shù)據(jù)域和指針域(左指針域和右指針域)組成。二叉樹的鏈式存儲 結(jié)構(gòu)也稱二叉鏈表,對滿二叉樹和完全二叉樹可按層次進行順序存儲。5 .二叉樹的遍歷二叉樹的遍歷是指不重復(fù)地訪問二叉樹中所有節(jié)點,主要指非空二叉樹,對
9、于空二叉樹則結(jié)束返回。二叉樹的 遍歷包括前序遍歷、中序遍歷和后序遍歷。(1)前序遍歷。前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍 歷右子樹;并且,在遍歷左右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。前序遍歷描述為: 若二叉樹為空,則執(zhí)行空操作;否則訪問根結(jié)點;前序遍歷左子樹;前序遍歷右子樹。(2)中序遍歷。中序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左予樹,然后訪問根結(jié)點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷 左子樹,然后訪問根結(jié)點,最后遍歷右子樹。中序遍歷描述為:若二叉樹為空,則執(zhí)行空
10、操作;否則中序遍歷左 子樹;訪問根結(jié)點;中序遍歷右子樹。(3)后序遍歷。后序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪 問根結(jié)點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。后序遍歷描述為: 若二叉樹為空,則執(zhí)行空操作;否則后序遍歷左子樹;后序遍歷右子樹;訪問根結(jié)點。6 .7查找技術(shù)(1)順序查找:在線性表中查找指定的元素。最壞情況下,最后一個元素才是要找的元素,則需要與線性表中所有元素比較,比較次數(shù)為n。(2)二分查找:二分查找也稱折半查找,它是一種高效率的查找方法。但二分查找有條件限制,它要求表必須用 順序存
11、儲結(jié)構(gòu),且表中元素必須按關(guān)鍵字有序(升序或降序均可)排列。對長度為n的有序線性表,在最壞情況下,二分查找法只需比較10g2n次。1.8排序技術(shù)(1)交換類排序法。 冒泡排序:通過對待排序序列從后向前或從前向后,依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,使較 大的元素逐漸從前部移向后部或較小的元素逐漸從后部移向前部,直到所有元素有序為止。在最壞情況下,對長度為n的線性表排序,冒泡排序需要比較的次數(shù)為n(n -1)/2。 快速排序:是迄今為止所有內(nèi)排序算法中速度最快的一種。它的基本思想是:任取待排序序列中的某個元素 作為基準(一般取第一個元素),通過一趟排序,將待排元素分為左右兩個子序列,左子序
12、列元素的排序碼均小于 或等于基準元素的排序碼,右子序列的排序碼則大于基準元素的排序碼,然后分別對兩個子序列繼續(xù)進行排序,直 至整個序列有序。最壞情況下,即每次劃分,只得到一個序列,時間效率為0(n2)。(2)插入類排序法。 簡單插入排序法:把n個待排序的元素看成為個有序表和一個無序表,開始時有序表中只包含一個元素, 無序表中包含有n-1個元素,排序過程中每次從無序表中取出第一個元素,把它的排序碼依次與有序表元素的排序 碼進行比較,將它插入到有序表中的適當(dāng)位置,使之成為新的有序表。在最壞情況下,即初始排序序列是逆序的情 況下,比較次數(shù)為n (n-1) /2,移動次數(shù)為n(n-l)/2。 希爾排序
13、法:先將整個待排元素序列分割成若干個子序列(由相隔某個“增量”的元素組成的)分別進行直 接插入排序,待整個序列中的元素基本有序(增量足夠小)時,再對全體元素進行一次直接插入排序。(3)選擇類排序法。 簡單選擇排序法:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面;然后對剩下的子表采用同樣 的方法,直到子表空為止。最壞情況下需要比較n (n-1) /2次。 堆排序的方法:首先將一個無序序列建成堆;然后將堆頂元素(序列中的最大項)與堆中最后一個元素交換 (最大項應(yīng)該在序列的最后)。不考慮已經(jīng)換到最后的那個元素,只考慮前n-1個元素構(gòu)成的子序列,將該子序列調(diào) 整為堆。反復(fù)做步驟,直到剩下的
14、子序列空為止。在最壞情況下,堆排序法需要比較的次數(shù)為0(nl0g2n)。相關(guān)真考題庫試題(1)下列敘述中正確的是(D)A) 一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B) 一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小 c) 一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D)算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系【解析】算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間,算法的時間復(fù)雜度,是指執(zhí)行算法所需要的 計算工作量,兩者之間并沒有直接關(guān)系,答案為D。(2)下列敘述中正確的是(B)A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量
15、C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)【解析】算法的效率與問題的規(guī)模和數(shù)據(jù)的存儲結(jié)構(gòu)都有關(guān),A錯誤。算法的時間復(fù)雜度,是指執(zhí)行算法所需要的 計算工作量,B正確。由于數(shù)據(jù)元素在計算機存儲空間中的位置關(guān)系可能與邏輯關(guān)系不同,因此數(shù)據(jù)的邏輯結(jié)構(gòu)和 存儲結(jié)構(gòu)不是一一對應(yīng)的,C錯誤。算法的時間復(fù)雜度和空間復(fù)雜度沒有直接的聯(lián)系,D錯誤。(3)下列敘述中正確的是(A)A)程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)c)程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上說法均錯誤【解析】程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)、數(shù)據(jù)的邏輯結(jié)構(gòu)、程序的
16、控制結(jié)構(gòu)、所處理的數(shù)據(jù)量等有關(guān).(4)下列關(guān)于棧的敘述中,正確的是(C)A)棧底元素一定是最后入棧的元素B)棧頂元素一定是最先人棧的元素c)棧操作遵循先進后出的原則D)以上說法均錯誤【解析】棧頂元素總是后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是 最后才能被刪除的元素。棧的修改是按后進先出的原則進行的。因此,棧稱為先進后出表,或“后進先出”表,所 以選擇C。-個棧的初始狀態(tài)為空。晚將元素1,2, 3, A, B, C依次入棧,然后再依次出棧,則元素出棧的順序是(C)A) 1,2,3,A,B,C B)C,B,A,1,2,3 C) C,B,A,3 ,2,1 D)
17、 1,2,3,C,B,A【解析】棧的修改是按后進先出的原則進行的,所以順序應(yīng)寫入棧順序相反,故選C。(6)下列與隊列結(jié)構(gòu)有關(guān)聯(lián)的是(D)A)函數(shù)的遞歸調(diào)用B)數(shù)組元素的引用c)多重循環(huán)的執(zhí)行D)先到先服務(wù)的作業(yè)調(diào)度【解析】隊列的修改是依先進先出的原則進行的,D正確。(7)下列敘述中正確的是(A)A)循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B)循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化c)循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D)以上說法都不對【解析】在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用排頭指針front指向排頭元素的前一個位置。 因此,從排頭指針
18、front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素。所以 循環(huán)隊列中的元素個數(shù)與隊頭指針和隊尾指針的變化而變化,A正確。(8)設(shè)循環(huán)隊列的存儲空間為Q(l:35),初始狀態(tài)為fronl=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后. front=15, rea匚 15,則循環(huán)隊列中的元素個數(shù)為(D)A) 15 B) 16 C) 20D)0 或 35【解析】在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用排頭指針front指向排頭元素的前一個位置。 在循環(huán)隊列中進行出隊、人隊操作時,頭尾指針仍要加1,朝前移動。只不過當(dāng)頭尾指針指向向量上界時,其加1 操
19、作的結(jié)果是指向向量的下界O。由于入隊忖尾指針向前追趕頭指針,出隊時頭指針向前追趕尾指針,故隊空和隊 滿時,頭尾指針均相等。答案為D選項。(9)下列敘述中正確的是:(C)A)線性表鏈式存儲結(jié)構(gòu)的存儲空間一般要少于順序存儲結(jié)構(gòu)B)線性表鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)的存儲空間都是連續(xù)的c)線性表鏈式存儲結(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連續(xù)的.D)以上說法均錯誤【解析】線性表的順序存儲結(jié)構(gòu)具備如下兩個基本特征:線性表中的所有元素所占的存儲空間是連續(xù)的;線性 表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。用一組任意的存儲單元來依次存放線性表的結(jié)點,這組存 儲單元既可以是連續(xù)的,也可以是不連續(xù)的,
20、甚至是零散分布在內(nèi)存中的任意位置上的。因此C正確。(10)下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是(A)A)二叉鏈表B)循環(huán)鏈表C)雙向鏈表D)帶鏈的?!窘馕觥吭诙x的鏈表中,若只含有一個指針域來存放下一個元素地址,稱這樣的鏈表為單鏈表或線性鏈表。帶鏈 的??梢杂脕硎占嬎銠C存儲空間中所有空閑的存儲結(jié)點,是線性表。在單鏈表中的結(jié)點中增加一個指針域指向它 的直接前件,這樣的鏈表,就稱為雙向鏈表(一個結(jié)點中含有兩個指針),也是線性鏈表。循環(huán)鏈表具有單鏈表的 特征,但又不需要增加額外的存貯空間,僅對表的鏈接方式稍做改變,使得對表的處理更加方便靈活,屬于線性鏈表。二叉鏈表是二叉樹的物理實現(xiàn),是一種存儲
21、結(jié)構(gòu),不屬于 線性結(jié)構(gòu)。答案為A選項。(11)-棵二叉樹中共有80個葉子結(jié)點與70個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為(B)A)219 B)229 C)230 D)231【解析】二叉樹中,度為O的節(jié)點數(shù)等于度為2的節(jié)點數(shù)加1,即n2=n0-l,葉子節(jié)點即度為O,則n2=79,總結(jié) 點數(shù)為 nO+nl+n2=80+70+79-229,答案為 B。(12)某二叉樹共有12個結(jié)點,其中葉子結(jié)點只有1個。則該二叉樹的深度為(根結(jié)點在第1層)(D)A)3B)6C)8 D) 12【解析】二叉樹中,度為0的節(jié)點數(shù)等于度為2的節(jié)點數(shù)加1,即n2=n0-l,葉子節(jié)點即度為0, nO =1,貝iJn2=0,
22、總節(jié)點數(shù)為12=n0+nl+n2=I+nl+O,則度為1的節(jié)點數(shù)nl=U,故深度為12,選D。(13)對下列二叉樹進行前序遍歷的結(jié)果為(C)A) DYBEAFCZX B) YDEBFZXCA C) ABDYECFXZ D) ABCDEFXYZ【解析】前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最 后遍歷右子樹:并且,在遍歷左右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。前序遍歷描述 為:若二叉樹為空,則執(zhí)行空操作。否則:訪問根結(jié)點;前序遍歷左子樹;前序遍歷右子樹,C正確。(14)對長度為10的線性表進行冒泡排序.最壞情況下需要比較的次
23、數(shù)為©A)9 B) 10 C) 45 D) 90【解析】冒泡法是在掃描過程中逐次比較相鄰兩個元素的大小,最壞的情況是每次比較都要將相鄰的兩個元素互換, 需要互換的次數(shù)為9 +8 +7 +6 +5 +4 +3 +2 +1 =45,選C。(15)對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為:(D)A)n B) n-1 C) n(n-l) D) n(n-l)/2【解析】快速排序最壞情況就是每次選的基準數(shù)都和其他數(shù)做過比較,共需比較(n-l)+ (n-2) +l=n(n 1)/2,第2章程序設(shè)計基礎(chǔ)2.1 程序設(shè)計方法與風(fēng)格(1)設(shè)計方法:指設(shè)計、編制、調(diào)試程序的方法和過程,主要有
24、結(jié)構(gòu)化程序設(shè)計方法、軟件工程方法和面向?qū)ο蠓椒ā?(2)設(shè)計風(fēng)格:良好的設(shè)計風(fēng)格要注重源程序文檔化、數(shù)據(jù)說明方法、語句的結(jié)構(gòu)和輸入輸出。2.2 結(jié)構(gòu)化程序設(shè)計1 .結(jié)構(gòu)化程序設(shè)計的原則結(jié)構(gòu)化程序設(shè)計強調(diào)程序設(shè)計風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。(1)自頂向下:即先考慮總體,后考慮細節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。(2)逐步求精:對復(fù)雜問題,應(yīng)設(shè)計一些子目標(biāo)做過渡,逐步細化。(3)模塊化:把程序要解決的總目標(biāo)分解為分目標(biāo),再進一步分解為具體的小目標(biāo),把每個小目標(biāo)稱為一個模塊;(4)限制使用GOTO語句。2 .結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(1)順序結(jié)構(gòu):自始至終嚴格按照程序中語句的先后順序
25、逐條執(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)注意事項:(1)使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯。(2)選用的控制結(jié)構(gòu)只準許有一個入口和一個出口。(3)程序語言組成容易識別的塊,每塊只有一個入口和一個出口。(4)復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)。語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬。盡量避免GOTO語句的使用。2.3面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蠓椒ǖ谋举|(zhì)是主張
26、從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),強調(diào)建立的系統(tǒng)能映射問題域。 對象:用來表示客觀世界中任何實體,可以是任何有明確邊界和意義的東西。 類:具有共同屬性、共同方法的對象的集合。 實例:一個具體對象就是其對應(yīng)分類的一個實例。 消息:實例間傳遞的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。 繼承:使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。 多態(tài)性:指對象根據(jù)所接受的信息而作出動作,同樣的信息被不同的對象接收時有不同行動的現(xiàn)象。面向?qū)ο蟪绦蛟O(shè)計的優(yōu)點:與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、易于開發(fā)大型軟件產(chǎn)品、可維護 性好。相關(guān)真考題庫試題(1)結(jié)構(gòu)化程序設(shè)計中,下面對goto語句使用描述正確的是(C
27、)A)禁止使用goto語句B)使用goto語句程序效率高C)應(yīng)避免濫用goto語句D)以上說法均錯誤【解析】結(jié)構(gòu)化程序沒計中,要注意盡量避免goto語句的使用,故選C。(2)下面對對象概念描述正確的是(A)A)對象間的通信靠消息傳遞B)對象是名字和方法的封裝體C)任何對象必須有繼承性D)對象的多態(tài)性是指一個對象有多個操作【解析】對象之間進行通信的構(gòu)造叫做消息,A正確。多態(tài)性是指同個操作可以是不同對象的行為,D錯誤。對 象不一定必須有繼承性,C錯誤。封裝性是指從外面看只能看到對象的外部特征,而不知道也無須知道數(shù)據(jù)的具體 結(jié)構(gòu)以及實現(xiàn)操作,B錯誤。第3章軟件工程基礎(chǔ)3.1軟件工程基本概念1.軟件的
28、定義與特點定義:軟件是指與計算機系統(tǒng)的操作有關(guān)的計算機程序、規(guī)程、規(guī)則,以及可能有的文件、文檔和數(shù)據(jù)。特點。 是邏輯實體,有抽象性。 生產(chǎn)沒有明顯的制作過程。' 運行使用期間不存在磨損、老化問題。 開發(fā)、運行對計算機系統(tǒng)有依賴性,受計算機系統(tǒng)的限制,導(dǎo)致了軟件移植問題。 復(fù)雜性較高,成本昂貴。 開發(fā)涉及諸多社會因素。2 .軟件的分類軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件3類。應(yīng)用軟件是特定應(yīng)用領(lǐng)域內(nèi)專用的軟件。(2)系統(tǒng)軟件居于計算機系統(tǒng)中最靠近硬件的一層,是計算機管理自身資源,提高計算機使用效率并為計算機用戶提 供各種服務(wù)的軟件。(3)支撐軟件介于系統(tǒng)軟件和應(yīng)用軟件之間,是支援其它軟件
29、的開發(fā)與維護的軟件。3 .軟件危機與軟件工程軟件危機指在計算機軟件的開發(fā)和維護中遇到的一系列嚴重問題。軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維 護的一整套方法、工具、文檔、實踐標(biāo)準和工序,包括軟件開發(fā)技術(shù)和軟件工程管理。4 .軟件生命周期軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用的過程稱為軟件生命周期。在國家標(biāo)準中,軟件生命周期劃分為8個階段:軟件定義期:包括問題定義、可行性研究和需求分析3個階段。 軟件開發(fā)期:包括概要設(shè)計、詳細設(shè)計、實現(xiàn)和測試4個階段。運行維護期:即運行維護階段。5 .軟件工程的原則軟件工程的原則包括:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。6 .
30、2結(jié)構(gòu)化分析方法需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程,可概括為:需求獲取、需求分析、編寫需求規(guī)格說明 書和需求評審。1 .常用的分析方法結(jié)構(gòu)化分析方法:其實質(zhì)著眼于數(shù)據(jù)流,自頂向下,逐層分解.建立系統(tǒng)的處理流程。面向?qū)ο蠓治龇椒ā? .結(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)生輸出 雙杠代表存儲文件,表示處理過程中
31、存放各種數(shù)據(jù)文件 方框代表源和潭,表示系統(tǒng)和環(huán)境的接口(2)數(shù)據(jù)字典:結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、 嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。(3)判定樹:使用判定樹進行描述時,應(yīng)先從問題定義的文字描述中分清判定的條件和判定的結(jié)論,根據(jù)描述材料中 的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。(4)判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是山于某 一組條件取值的組合引發(fā)的,使用判定表比較適宜。3 .軟件需求規(guī)格說
32、明書軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。軟件需求規(guī)格說明書的作用:便于用戶、開發(fā)人員進行理解和交流;反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);作為確認測試和驗收的依據(jù)。軟件需求規(guī)格說明書的內(nèi)容:概述;數(shù)據(jù)描述;功能描述;性能描述;參考文獻;附錄。軟件需求規(guī)格說明書的特點:正確性;無歧義性;完整性;可驗證性;一致性;可理解性;可修 改性;可追蹤性。3.3結(jié)構(gòu)化設(shè)計方法1 .軟件設(shè)計的基本概念和方法軟件設(shè)計是個把軟件需求轉(zhuǎn)換為軟件表示的過程。(1)基本原理:抽象、模塊化、信息隱藏、模塊獨立性(度量標(biāo)準:耦合性和內(nèi)聚性,高耦合、低內(nèi)聚)。(2)基本思想
33、:將軟件設(shè)計成由相對獨立、單一功能的模塊組成的結(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ù)流圖的信息分為交換流和事物流,結(jié)構(gòu)形式有交換型和事務(wù)型。3 .詳細設(shè)計的工具詳細設(shè)計的工具包括: 圖形工具:程序流程圖、N-S、PAD、HIPOo 表格工具:判定表。 語言工具:PDL(偽碼)。3.4軟件測試1 .目的為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。2 .準則 所有測試應(yīng)追溯到用戶需求。 嚴格執(zhí)行測試計劃,排除測試的隨意性。 充分注意測試中的群集現(xiàn)象。 程序員應(yīng)避免檢查自己的程序。 窮舉測試不可能。 妥善保存
34、設(shè)計計劃、測試用例、出錯統(tǒng)計和最終分析報告。3 .軟件測試技術(shù)和方法軟件測試的方法按是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試,按功能分為白盒測試和黑盒測試。(1)白盒測試:根據(jù)程序的內(nèi)部邏輯設(shè)計測試用例,主要方法有邏輯覆蓋測試、基本路徑測試等。(2)黑盒測試:根據(jù)規(guī)格說明書的功能來設(shè)計測試用例,主要診斷方法有等價劃分法、邊界值分析法、錯誤推測法、 因果圖法等,主要用于軟件確認測試。4 .軟件測試的實施軟件測試是保證軟件質(zhì)量的重要手段,軟件測試是一個過程,其測試流程是該過程規(guī)定的程序,目的是使軟件測試 工作系統(tǒng)化。軟件測試過程分4個步驟,即單元測試、集成測試、驗收測試和系統(tǒng)測試。單元
35、測試是對軟件設(shè)計的最小單位模塊(程序單元)進行正確性檢驗測試。單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。單元測試的依據(jù)是詳細的設(shè)計說明書和源程序。單元測試的技術(shù)可以采用靜態(tài)分析和動態(tài)測試。5 .5程序的調(diào)試任務(wù):診斷和改正程序中的錯誤。(2)調(diào)試方法:強行排錯法、回溯法和原因排除法。相關(guān)真考題庫試題構(gòu)成計算機軟件的是(D)A)源代碼B)程序和數(shù)據(jù)C)程序和文檔D)程序、數(shù)據(jù)及相關(guān)文檔【解析】軟件指的是計算機系統(tǒng)中與硬件相互依賴的另一部分,包括程序、數(shù)據(jù)和有關(guān)的文檔,選D。(2)下面不屬于軟件需求分析階段主要工作的是(A)A)需求變更申請B)需求分析c)需求評審D)需求獲取【解析】需求分
36、析階段的工作可概括為4個方面:需求獲取。需求分析。編寫需求規(guī)格說明書。需求審評。(3)下面不能作為結(jié)構(gòu)化方法軟件需求分析工具的是(A)A)系統(tǒng)結(jié)構(gòu)圖B)數(shù)據(jù)字典(DD)C)數(shù)據(jù)流程圖(DFD圖)D)判定表【解析】結(jié)構(gòu)化方法軟件需求分析工具主要有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹和判定表。數(shù)據(jù)字典(DD)所定義的對象都包含于(A)A)數(shù)據(jù)流圖(DFD圖)B)程序流程圖C)軟件結(jié)構(gòu)圖D)方框圖【解析】在數(shù)據(jù)流圖中,對所有元素都進行了命名,所有名字的定義集中起來就構(gòu)成了數(shù)據(jù)字典。因此選A,而B、C、D都不符合(5)軟件生命周期可分為定義階段、開發(fā)階段和維護階段,下面不屬于開發(fā)階段任務(wù)的是(C)A)測試B)設(shè)
37、計c)可行性研究D)實現(xiàn)【解析】開發(fā)階段包括分析、設(shè)計和實施兩類任務(wù)。其中分析、設(shè)計包括需求分析、總體設(shè)計和詳細設(shè)計3個階段, 實施則包括編碼和測試兩個階段,C不屬于開發(fā)階段。(6)軟件需求規(guī)格說明書的作用不包括(D)A)軟件驗收的依據(jù)B)用戶與開發(fā)人員對軟件要做什么的共同理解C)軟件設(shè)計的依據(jù)D)軟件可行性研究的依據(jù)【解析】軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。軟件需求規(guī)格說明書有以 下幾個方面的作用。便于用戶、開發(fā)人員進行理解和交流,B正確;反映出用戶問題的結(jié)構(gòu),可以作為軟件開 發(fā)工作的基礎(chǔ)和依據(jù),C正確;作為確認測試和驗收的依據(jù),A正確。(7)下面不屬于軟
38、件設(shè)計階段任務(wù)的是(C)A)軟件總體設(shè)計B)算法設(shè)計C)制定軟件確認測試計劃D)數(shù)據(jù)庫設(shè)計【解析】從技術(shù)觀點上看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。所以A、B、D正確,C 為軟件測試階段的任務(wù)。軟件設(shè)計中模塊劃分應(yīng)遵循的準則是(C)A)低內(nèi)聚低耦合B)高耦合高內(nèi)聚C)高內(nèi)聚低耦合,D)以上說法均錯誤I解析】根據(jù)軟件設(shè)計原理提出如下優(yōu)化準則:劃分模塊時,盡量做到高內(nèi)聚、低耦合,保持模塊相對獨立性, 并以此原則優(yōu)化初始的軟件結(jié)構(gòu)。一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)與受其影響的 模塊在層次上盡量靠近。軟件結(jié)構(gòu)的深度、寬度、扇人、扇出應(yīng)適當(dāng)。模塊的大小要適中
39、。c正確。(9)下面屬于黑盒測試方法的是(C)A)語句覆蓋B)邏輯覆蓋C)邊界值分析D)路徑覆蓋【解析】黑盒測試不關(guān)心程序內(nèi)部的邏輯,只是根據(jù)程序的功能說明來設(shè)計測試用例。在使用黑盒測試法時,手頭 只需要有程序功能說明就可以了。黑盒測試法分等價類劃分法、邊界值分析法和錯誤推測法,答案為C。而A、B、 D均為白盒測試方法。(10)下面屬于白盒測試方法的是(B)A)等價類劃分法B)邏輯覆蓋C)邊界值分析法D)錯誤推測法【解析】白盒測試法主要有邏輯覆蓋、基本路徑測試等。邏輯覆蓋測試包括語句覆蓋、路徑覆蓋、判定覆蓋、條件 覆蓋、判斷一條件覆蓋,選擇B。其余為黑盒測試法。(11)下面不屬于軟件測試實施步
40、驟的是(B)A)集成測試B)回歸測試C)確認測試 D)單元測試【解析】軟件測試主要包括單元測試、集成測試、確認測試和系統(tǒng)測試。第4章數(shù)據(jù)庫設(shè)計基礎(chǔ)4.1 數(shù)據(jù)庫系統(tǒng)的基本概念(1)數(shù)據(jù)(DatA):描述事物的符號記錄。數(shù)據(jù)庫(DataBase):長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。(3)數(shù)據(jù)庫管理系統(tǒng)的概念數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System, DBMS)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責(zé)數(shù)據(jù)庫中的 數(shù)據(jù)組織、數(shù)據(jù)操作、數(shù)據(jù)維護、數(shù)據(jù)控制及保護和數(shù)據(jù)服務(wù)等。為完成以上6個功能,DBMS提供了相應(yīng)的數(shù)據(jù) 語言;數(shù)據(jù)定義語言(負責(zé)數(shù)據(jù)的模式定義與數(shù)
41、據(jù)的物理存取構(gòu)建);數(shù)據(jù)操縱語言(負責(zé)數(shù)據(jù)的操縱);數(shù)據(jù)控制 語言(負責(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)的特點:集成性、高共享性、低冗余性、數(shù)據(jù)獨立性、數(shù)據(jù)統(tǒng)一管理與控制等。(6)數(shù)據(jù)庫系統(tǒng)的內(nèi)部機構(gòu)體系:三級模式(概念模式、內(nèi)模式、外模式)和二級映射(外模式/概念模式的映射、 概念模式/內(nèi)模式的映射)構(gòu)成了數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu)體系。4.2 數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)
42、特征、動態(tài)行為和約束條件,描述的內(nèi)容有數(shù)據(jù)結(jié)構(gòu)、 數(shù)據(jù)操作和數(shù)據(jù)約束。有3個層次:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。(l)E-R模型:提供了表示實體、屬性和聯(lián)系的方法。實體間聯(lián)系有“對一”、“一對多”和“多對多”。E-R模型用E-R圖來表示。(2)層次模型:利用樹形結(jié)構(gòu)表示實體及其之間聯(lián)系,其中節(jié)點是實體,樹枝是聯(lián)系,從上到下是一對多關(guān)系。(3)網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示實體及其之間聯(lián)系,是層次模型的擴展。網(wǎng)絡(luò)模型以記錄型為節(jié)點,反映現(xiàn)實中較為 復(fù)雜的事物聯(lián)系。(4)關(guān)系模型:采用二維表(由表框架和表的元組組成)來表示,可進行數(shù)據(jù)查詢、增加、刪除及修改操作。關(guān)系模 型允許定義“實體完整性
43、”、“參照完整性”和“用戶定義的完整性”三種約束。 鍵(碼):二維表中唯一能標(biāo)識元組的最小屬性集。 候選鍵(候選碼):二維表中可能有的多個健。 主鍵:被選取的一個使用的鍵。4.3 關(guān)系代數(shù)關(guān)系代數(shù)的基本運算:投影、選擇、笛卡爾積。關(guān)系代數(shù)的擴充運算:交、連接與自然連接、除。4.4 數(shù)據(jù)庫設(shè)計與管理1 .數(shù)據(jù)庫設(shè)計概述 基本思想:過程迭代和逐步求精。 方法:面向數(shù)據(jù)的方法和面向過程的方法。 設(shè)計過程:需求分析一概念設(shè)計一邏輯設(shè)計一物理 設(shè)計一編碼一測試一運行一進一步修改。2 .數(shù)據(jù)庫設(shè)計的需求分析需求收集和分析是數(shù)據(jù)庫設(shè)計的第一階段,常用結(jié)構(gòu)化分析方法(自頂向F、逐層分解)和面向?qū)ο蟮姆椒ǎ?主
44、要工作有繪制數(shù)據(jù)流程圖、數(shù)據(jù)分析、功能分析、確定功能處理模塊和數(shù)據(jù)間關(guān)系。數(shù)據(jù)字典:包括數(shù)據(jù)項、數(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ù)庫的邏輯設(shè)計:從E-R圖向關(guān)系模型轉(zhuǎn)換,邏輯模式規(guī)范化,關(guān)系視圖設(shè)計可以根據(jù)用戶需求隨時創(chuàng)建。實 體轉(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ù)庫的建立、數(shù)
45、據(jù)庫的調(diào)整、數(shù)據(jù)庫的重組、數(shù)據(jù)庫的安全性與完整性控制、數(shù)據(jù)庫故障恢復(fù)和 數(shù)據(jù)庫的監(jiān)控。相關(guān)真考題庫試題(1)下面描述中不屬于數(shù)據(jù)庫系統(tǒng)特點的是(C)A)數(shù)據(jù)共享B)數(shù)據(jù)完整性C)數(shù)據(jù)冗余度高D)數(shù)據(jù)獨立性高【解析】數(shù)據(jù)庫系統(tǒng)的特點為高共享、低冗余、獨立性高、具有完整性等,C錯誤。(2)若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A和C的聯(lián)系是(B)A)-對一B) 一對多c)多對一D)多對多(B【解析】A和B為一對多的聯(lián)系,則對于A中的每一個實體,B中有多個實體與之聯(lián)系,而B與C為一對一聯(lián)系, 則對于B中的每一個實體,C中之多有 個實體與之聯(lián)系,則可推出對于A中的每一個實體,C中
46、有多個實體與聯(lián) 系,所以為一對多聯(lián)系.(3)公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員。則實體部門和職員間的 聯(lián)系是(C)A) 1:1聯(lián)系 B) m:l聯(lián)系 C)l:m聯(lián)系 D)m:n聯(lián)系【解析】兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關(guān)系,主要有一對一聯(lián)系(1: 1)、一對多聯(lián)系(1: m)、多對 一聯(lián)系(m: 1)、多對多聯(lián)系(m: n)。對于每一個實體部門,都有多名職員,則其對應(yīng)的聯(lián)系為一對多聯(lián)系(1 : m), 答案選為C(4)有表示公司和職員及工作的三張表,職員可在多家公司兼職。其中公司C (公司號,公司名,地址,注冊資本, 法人代表,員工數(shù)),職員
47、S (職員號,姓名,性別,年齡,學(xué)歷),工作W(公司號,職員號,工資),則表W的鍵(碼)為(A)A)公司號,職員號B)職員號,工資 C)職員號D)公司號,職員號,工資【解析】由于職員可以再多加公司兼職,表W的鍵(碼)應(yīng)為公司關(guān)系和職員關(guān)系的主碼,即公司號和職員號。(5)在關(guān)系模型中,每一個二維表稱為一個(A)A)關(guān)系B)屬性C)元組D)主碼(鍵)【解析】關(guān)系模型采用二維表來表示,即每個二維表稱為一個關(guān)系。(6)在關(guān)系數(shù)據(jù)庫中,用來表示實體間聯(lián)系的是(B)A)屬性B)二維表c)網(wǎng)狀結(jié)構(gòu)D)樹狀結(jié)構(gòu)【解析】關(guān)系模型實體間的聯(lián)系采用二維表來表示,簡稱表。選項C為網(wǎng)狀模型實體間的聯(lián)系,選項D為層次模型
48、 實體間的聯(lián)系,選項A屬性刻畫了實體(7)有三個關(guān)系R, S和T如下:回ttjLOcjEnn6jHJABCa12b21c31d32RST則由關(guān)系R和S得到關(guān)系T的操作是(D)A)選擇B)投影C)交D)并【解析】關(guān)系T中的元素與關(guān)系R和關(guān)系S中不同元素的總和,因此為并操作。(8)有三個關(guān)系R. S和T如下:回LZJEtn區(qū)ElIjLE則山關(guān)系R和S得到關(guān)系T的操作是(B)A)選擇B)差c)交D)并【解析】關(guān)系T是關(guān)系R的一部分,并且是關(guān)系R去掉R和S相同的元素,符合差操作。(9)有兩個關(guān)系R和S如下:RS口耳OEJFJOEZtooABC-cT"則由關(guān)系R得到關(guān)系S的操作是(A)A)選擇
49、B)投影 C)自然連接D)并【解析】由關(guān)系R到關(guān)系S為一元運算,排除C和D。關(guān)系S是關(guān)系R的一部分,是通過選擇之后的結(jié)果,因此 選Ao(10)有三個關(guān)系R、S和T如下:RSTEtnE回rnFltiltnEJEdABCDc314a125則由關(guān)系R和S得到關(guān)系T的操作是(A)A)自然連接 B)交c)投影D)并【解析】關(guān)系R和關(guān)系S有公共域,關(guān)系T是通過公共域的等值進行連接的結(jié)果,符合自然連接,選A。(11)一般情況下,當(dāng)對關(guān)系R和S進行自然連接時,要求R和S含有一個或者多個共有的(C)A)記錄B)行C)屬性 D)元組【解析】自然連接是一種特殊的等值連接,它滿足下面的條件:兩關(guān)系間有公共域;通過公共
50、域的等值進行連 接,選C。(12)數(shù)據(jù)庫設(shè)計過程不包括(D)A)概念設(shè)計B)邏輯設(shè)計C)物理設(shè)計D)算法設(shè)計【解析】數(shù)據(jù)庫設(shè)計過程主要包括需求分析、概念結(jié)構(gòu)設(shè)計,邏輯結(jié)構(gòu)分析、數(shù)據(jù)庫物理設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護階段。答案為D選項。第二部分計算機基礎(chǔ)知識第1章計算機概述1.1 計算機的發(fā)展簡史1946年,美國賓夕法尼亞大學(xué)研制成功了電子數(shù)字積分式計算機(Electronic Numerical Integrator And Calculator, ENIAC)。在ENIAC的研制過程中,美籍匈牙利數(shù)學(xué)家馮諾依曼總結(jié)并歸納了以下3點。 采用二進制:在計算機內(nèi)部,程序和數(shù)據(jù)采用二進制代碼表
51、示。 存儲程序控制:程序和數(shù)據(jù)存放在存儲器中,即程序存儲的概念。計算機執(zhí)行程序時無需人工干預(yù),能自動、連 續(xù)地執(zhí)行程序,并得到預(yù)期的結(jié)果。 計算機的5個基本部件:計算機具有運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)置5個基本功能部件。從第一臺電子計算機誕生到現(xiàn)在,計算機技術(shù)經(jīng)歷了大型計算機時代和微型計算機時代。根據(jù)計算機采用電子元件的不同將計算機的發(fā)展過程劃分為四個階段,分別稱為第一代至第四代計算機。第一代計算機(19461958年)主要元件是電子管;第二代計算機(19581964年)主要元件是晶體管;第三代計算機(19641971年)主要元件采用中、小規(guī)模集成電路;第四代計算機(1971年至今
52、)主要元件采用大規(guī)模和超大規(guī)模集成電路。相關(guān)真考題庫試題(1)世界上公認的第一臺電子計算機誕生的年代是(B)A) 20世紀30年代 B) 20世紀40年代 C) 20世紀80年代 D) 20世紀90年代【解析】本題考核的是對計算機發(fā)展的基礎(chǔ)知識的掌握情況。1946年2月,世界上第一臺電子計算機ENIAC在美 國賓夕法尼亞大學(xué)誕生,所以B正確。(2)按電子計算機傳統(tǒng)的分代方法,第一代至第四代計算機依次是A)機械計算機,電子管計算機,晶體管計算機,集成電路計算機B)晶體管計算機,集成電路計算機,大規(guī)模集成電路計算機,光器件計算機C)電子管計算機,晶體管計算機,小、中規(guī)模集成電路計算機,大規(guī)模和超大
53、規(guī)模集成電路計算機D)手搖機械計算機,電動機械計算機,電子管計算機,晶體管計算機【解析】電子計算機的發(fā)展經(jīng)歷了四代:電子管計算機、晶體管計算機、中小規(guī)模集成電路計算機、大規(guī)模集成電 路計算機。1.2 計算機的特點計算機的特點有:處理速度快、計算精確度高、邏輯判斷能力、存儲容量大、全自動功能、適用范圍廣,通用性強。1.3 計算機的用途歸納起來,電腦的用途主要有以下幾個方面。科學(xué)計算(2)信息處理(3)過程控制(4)輔助功能(5)網(wǎng)絡(luò)與通信(6)人工智能數(shù)字娛樂(8)平面、動畫設(shè)計及排版(9)現(xiàn)代教育(10)家庭生活相關(guān)真考題庫試題下列的英文縮寫和中文名字的對照中,正確的是(A)A) CAD-計算
54、機輔助設(shè)計B) CAM-計算機輔助教育C) CIMS-計算機集成管理系統(tǒng)D) CAI-計算機輔助制造【解析】CAD-計算機輔助設(shè)計,CAM-計算機輔助制造,CIMS-計算機集成制造系統(tǒng),CAI-計算機輔助教學(xué)。(2)計算機技術(shù)應(yīng)用廣泛,以下屬于科學(xué)計算方面的是(C)A)圖像信息處理B)視頻信息處理c)火箭軌道計算D)信息檢索【解析】早期的計算機主要用于科學(xué)計算。目前,科學(xué)計算仍然是計算機應(yīng)用的一個重要領(lǐng)域。如高能物理、工程 設(shè)計、地震預(yù)測、氣象預(yù)報、航天技術(shù)等?;鸺壍烙嬎銓儆诳茖W(xué)計算方面。1.4 計算機的分類及未來發(fā)展趨勢1 .依照不同的標(biāo)準,計算機有多種分類方法,常見的分類有以下幾種。(1
55、)按處理數(shù)據(jù)的類型分類:按處理數(shù)據(jù)的類型不同,可將計算機分為數(shù)字計算機、模擬計算機和混合計算機。按使用范圍分類按使用范圍大小,計算機可以分為專用計算機和通用計算機。按性能分類計算機依據(jù)其主要性能(如字氏、存儲容量、運算速度、外部設(shè)備),可分為超級計算機、大型計算機、小型計 算機、微型計算機、工作站和服務(wù)器6類,這也是常用的分類方法。2 .計算機未來的發(fā)展趨勢計算機的發(fā)展趨勢:巨型化 微型化網(wǎng)絡(luò)化智能化(2)未來新代的計算機模糊計算機 生物計算機 光子計算機 超導(dǎo)計算機 量子計算機 激光計算機分子計算機DNA計算機神經(jīng)元計算機3 .5電子商務(wù)電子商務(wù)通常是指在不同地域進行的商業(yè)貿(mào)易活動中,在因特網(wǎng)開放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器/服務(wù)器應(yīng)用方式, 買賣雙方無需面對面地進行各種商貿(mào)活動,而是實現(xiàn)消費者的網(wǎng)上購物、商戶之間的網(wǎng)上交易和在線電子支付以及 各種商務(wù)活動、交易活動、金融活動和相關(guān)的綜合服務(wù)活動的一種新型的商業(yè)運營模式。也可以理解為就是通過
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國文具市場需求量趨勢與發(fā)展銷售分析研究報告(2024-2030版)
- 中國家用冰淇淋機行業(yè)競爭策略與需求動態(tài)分析研究報告(2024-2030版)
- 中國辦公椅行業(yè)供需分析及發(fā)展前景研究報告(2024-2030版)
- 中國兒童涼鞋市場深度調(diào)查研究報告(2024-2030版)
- 中國三羥甲基氨基甲烷行業(yè)現(xiàn)狀動態(tài)及產(chǎn)銷趨勢預(yù)測研究報告(2024-2030版)
- 2024-2030年黃銅管行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2024-2030年魚干行業(yè)市場發(fā)展分析及發(fā)展趨勢與企業(yè)管理研究報告
- 廣東省揭陽市第三中學(xué)2025屆物理高一第一學(xué)期期末達標(biāo)測試試題含解析
- 2025屆上海市第二工業(yè)大學(xué)附屬龔路中學(xué)物理高二第一學(xué)期期末調(diào)研試題含解析
- 2025屆江西省宜春巿高安中學(xué)高一物理第一學(xué)期期末達標(biāo)檢測模擬試題含解析
- 《杰出的科學(xué)家》課件
- 胃竇惡性腫瘤相關(guān)知識講座
- 倉庫降本增效方案培訓(xùn)課件
- 運動前后的熱身與放松活動
- 氫能與燃料電池-課件-第五章-制氫技術(shù)
- 2024年四川農(nóng)信招聘筆試參考題庫含答案解析
- 大學(xué)食堂原料物資豬肉采購 投標(biāo)方案
- 光纖電纜安裝指南
- 河南省鄭州市中原區(qū)2023-2024學(xué)年九年級上學(xué)期期中數(shù)學(xué)試卷(含解析)
- 高標(biāo)準農(nóng)田蓄水池施工方案
- 鐵塔認證考試題庫大全-3動環(huán)專業(yè)部分
評論
0/150
提交評論