下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中級軟件設(shè)計(jì)師下午試題-2(總分:104.00,做題時(shí)間:90分鐘)、B試題一 /B(總題數(shù):3,分?jǐn)?shù):15.00)1.(分?jǐn)?shù):5.00)填空項(xiàng)1:(正確答案:問題1)問題1利用存在的依賴關(guān)系構(gòu)造一個(gè)圖書館的對象模型。試題一解答要點(diǎn)本題中的圖書館有一個(gè)書和讀者的聚合關(guān)系。即圖書館確實(shí)是由書和讀解析:者組成。書和副本之間的關(guān)系既不是集合關(guān)系也不是繼承關(guān)系。對象“書”表示書的抽象,而副本為借出 的實(shí)際書籍。讀者和副本之間的關(guān)系稱為“租借”。從副本的觀點(diǎn)來看,任務(wù)是“借岀被登記”,而從讀 者的角度來看,任務(wù)是“借岀登記”。多重性指岀一個(gè)副本可以不進(jìn)行借岀登記,也可以只借給一個(gè)讀者 (0.1)。另一多
2、重性(0.*)指出一個(gè)讀者每次可以具有 0個(gè)、1個(gè)或多個(gè)“借出登記”關(guān)系。存在依賴關(guān)系定義如下:如果該較低類(子女)只在較高(雙親)類存在時(shí)存在并且較低(子女)類只與較高(雙親)類的一 個(gè)實(shí)例相聯(lián)系的話,就說一個(gè)類 (雙親)可以與一個(gè)較低類(子女)相連關(guān)系。該關(guān)系和繼承關(guān)系可以用來表 示任何問題的領(lǐng)域。如題中的關(guān)系模式所示, 除“租借”外的所有關(guān)系以及圖書館 -書都滿足存在依賴的要 求。但不滿足“租借”關(guān)系,因?yàn)橐粋€(gè)副本對象可以存在于登記借閱它的湊者對象之前。不過,可以建立 一個(gè)確實(shí)滿足ED關(guān)系的租借對象。對象“書”不能是圖書館的子女,因?yàn)闀纱嬖谔囟ǖ膱D書館之前或之后??梢詫ⅰ叭藛T”增加到圖
3、中,以顯示在“圖書館”上不屬于存在-依賴的那部分讀者。時(shí)序圖中,垂直的線代表類的實(shí)例。每條垂直線在頂部用類名、后跟一個(gè)冒號(hào),最后為實(shí)例名來標(biāo)記。水平箭頭描述功 能調(diào)用。箭頭的尾部位于調(diào)用類的線上,箭頭的頭部位于被調(diào)用類的線上。功能名位于箭頭上。垂直線上 的寬方塊給出被調(diào)用功能的執(zhí)行時(shí)間。時(shí)序圖比對象模型更接近設(shè)計(jì)階段。這個(gè)圖中使用的有些功能在對 象模型中沒有使用,而且圖中調(diào)用的時(shí)序是由實(shí)際的設(shè)計(jì)所決定的。層次結(jié)構(gòu)圖給出系統(tǒng)的調(diào)用結(jié)構(gòu)。圖中的每個(gè)框代表一項(xiàng)功能。層次結(jié)構(gòu)圖通常在面向?qū)ο蟮拈_發(fā)中不使用,但它是用于理解系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu) 的一個(gè)非常有用的圖。2.問題2張三到圖書館借閱一本書,兩個(gè)月后,他
4、把這本逾期的書返還給圖書館。畫岀這個(gè)場景的時(shí)序 圖。(分?jǐn)?shù):5.00 )(正確答案:問題2)填空項(xiàng)1: 解析:3.問題3畫出上一問中使用的圖書館程序的層次結(jié)構(gòu)圖。(分?jǐn)?shù):5.00)(正確答案:問題3)填空項(xiàng)1: 解析:二、B試題二/B( 總題數(shù):2,分?jǐn)?shù):14.00)4. 問題1試畫出ER圖,并在圖上注明屬性、聯(lián)系類型、實(shí)體標(biāo)識(shí)符; (分?jǐn)?shù):7.00)正確答案:()解析:ER圖如下圖所示: 5. 問題2將ER圖轉(zhuǎn)換成關(guān)系模型,并說明主鍵和外鍵 (分?jǐn)?shù):7.00 )正確答案:()解析:根據(jù)轉(zhuǎn)換規(guī)則,上面的ER圖可以轉(zhuǎn)換成6個(gè)關(guān)系模式:倉庫(U 倉庫號(hào)/U,倉庫名,地址)商品(U 商品號(hào)/U,商品
5、名,單價(jià))商店(U 商店號(hào)/U;商店名,地址)庫存(U 倉庫號(hào),商品號(hào),/U日期,庫存量)銷售(U 商店號(hào),商品號(hào),/U月份,月銷售量)供應(yīng) (U 倉庫號(hào),商店號(hào),商品號(hào), /U月份,月供應(yīng)量)三、B試題三/B(總題數(shù):1,分?jǐn)?shù):15.00)6. 說明編寫一個(gè)函數(shù)根據(jù)用戶輸入的偶對 (以輸入。表示結(jié)束)建立其有向圖的鄰接表。一個(gè)圖的鄰接表存儲(chǔ)結(jié)構(gòu)定義如下:# include < stdio. h > # define MAXVEXJO struct edgenode int adjvex; charinfo; struct edgenode * next; struct vexno
6、de char data; struct edgenode * link; typedefstruct vexnode adjlist MAXVEX;實(shí)現(xiàn)要求的函數(shù)如下:void creatadjlist ( adjlist g) int i, j,k; street vexnode * s; for( k=1; k< =n; k+ +) U(1) /U g k. link = NULL; printf(“輸一個(gè)對:”);scanf ("%d, %d", &i, &j); whileU/U U/U s- >adjvex =j; U/U g i.l
7、ink =s; U (5) /U (分?jǐn)?shù):15.00 )填空項(xiàng)1: (正確答案:gk.data=k; )解析: i! =0 &&j! =0(3) s = (struct vexnode * ) malloc ( sizeof ( vex-node);(4) s- >next = gi.link;(5) printf (“輸入一個(gè)偶對:”);scanf ("%d, %d", &i, &j);解答要點(diǎn)本題的算法思想是:先產(chǎn)生鄰接表的n個(gè)頭結(jié)點(diǎn)(其結(jié)點(diǎn)數(shù)值域從1到n),然后接收用戶輸入的(以其中之一為0結(jié)束標(biāo)志),對于每條這樣的邊,申請一個(gè)鄰
8、接結(jié)點(diǎn),并插入到vi的單鏈表中,如此反復(fù),直到將圖中所有邊處理完畢,則建立了該有向圖的鄰接表。四、B試題四/B(總題數(shù):1,分?jǐn)?shù):15.00)7. 說明請完成流程圖以描述在數(shù)據(jù)A(1)至A(10)中求最大數(shù)和次大數(shù)的程序的算法。并將此改成PAD圖。該算法的流程圖如下圖:(分?jǐn)?shù):15.00 )正確答案:()圖描述如下:解析:(1)max2 =A(1) mex1 =A(2) (2)i< =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1 PADI 解答要點(diǎn)本題的算法思想是:先輸入 A(1)到A(10)的值,然后判斷前兩個(gè)數(shù)的大小。用變量max1存儲(chǔ)最大數(shù),用變量
9、max2.存儲(chǔ)次大數(shù)。然后逐個(gè)讀入數(shù)據(jù),分別和max1,max2比較,保證最大的存入max1,次大的存入max2五、B試題五/B(總題數(shù):1,分?jǐn)?shù):15.00)8. 說明利用C+的各種控制語句編寫一個(gè)萬年歷程序,要求:顯示任何年份的日歷,日歷以月份順序排列,每月以星期順序排列,類似于一般掛歷上的格式。本程序包含如下兩個(gè)函數(shù):Leap ()用于判定指定的年份是閏年,Week()用于計(jì)算year年份的1月1日是星期幾,其判定規(guī)則為:(1)如果year年份為1994 年,則為星期六。(2)如果year年份大于1994年,則星期值 weekno按下列公式計(jì)算:differ=(year-1994)*(3
10、65%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7weekno=(date6)? date-7 : date (3) 如果year年份小于1994年,則星期值 weekno按下列公式計(jì)算: differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7 #include "iostream. h" # include "iomanip. h" int leap
11、(int n) if(U(1) /U) return 0 elsereturn 1; int week( int year ) int a1, differ, date, weekno; if (year = = 1994) a1 =0; elseif (year > 1994) a仁1; else a1 = -1; switch(a1) case 0: return 6; break; case 1: U (2)/U date = 6 + differ% 7; weekno = ( date> 6) ? date - 7 date; return weekno; break; c
12、ase- 1: differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100+ (2000weekno =6-differ%7; return weekno; break; void main( ) int i,year,m2,n,j; cout “Please input 某年數(shù):”; cin >>year; if ( ! leap(year) ) U (3) /U; else m2 =28; intmonth 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31 ; U
13、 (4) /U for ( i=0; i cout < < < < end1< < setw(4*n) < < " for(j=1 ;j< < j; n+ +; if(n > =7) U (5) /U cout<(分?jǐn)?shù): 15.00 )填空項(xiàng) 1: (正確答案: (n%100 = =0)< =month i ;j+ +) coutv end1; | | (n%400 = =0)- year)/400;<<< 12; i+ + )< < setw(4)解析: differ= (y
14、ear - 1994) * (365%6) + (year - 1993)/4 - (year-2001)/100 + (year-2001 )/400;m2 =29 n = week( year ); n=0;六、B 試題六 /B( 總題數(shù): 1,分?jǐn)?shù): 15.00)9. 說明 打印輸出 1 0行楊暉三角形。形式如下: 楊暉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 1010 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1c
15、lass yanghui public static void main (String args ) int i, j; U (1) /U int yanghui ; System. out. println(“楊暉三角形:” ); yanghui = new int yhleve1 ; for(i =0;i<yanghui, length; i + + ) yanghuii = new int i + 1; U(2) /U for(U (3) /U) yanghui i 0 = 1; for(j = 1 ;j< yanghuii, length - 1 ;j + + ) yan
16、ghuii j = yanghuii- 1 j - 1 + yanghuii - 1 j; yanghuii yanghuii. length - 1 = 1; for ( i=0; i<yanghui. length; i + + ) for(j =0;j< yanghuii. length; j + + ) U (4) /U System.out. println( ); (分?jǐn)?shù): 15.00 )填空項(xiàng) 1: (正確答案: int yhleve1 = 10;)解析: yanghui 0 0 = 1; i=1; i < yanghui, length; i + + System. out. print ( yanghui i j+" ");七、B 試題七 /B( 總題數(shù): 1,分?jǐn)?shù): 15.00)10. 說明 編寫一工資調(diào)整程序。 若基本工資大于等于 800元,工資增加 20%,若小于 800元大于 600元, 則工資增加 15%,若小于 600 元?jiǎng)t工資增加 10%。要求在文本框 Text1 中增加某職工的基本工資,單擊“計(jì) 算”按鈕,在標(biāo)簽框 Label1 中輸出增加后的工資。 Private Sub Command1_ Click( ) Dim x As Integer
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑工程質(zhì)量驗(yàn)收質(zhì)檢員聘用協(xié)議3篇
- 2025年度路演場地租賃及活動(dòng)場地租賃期限管理協(xié)議4篇
- 2025版事故車事故現(xiàn)場勘查與報(bào)告編制合同3篇
- 2025年度個(gè)人二手車置換合同范本4篇
- 2025年度餐廳總經(jīng)理年度綜合服務(wù)合同3篇
- 基于云計(jì)算2025年度智能辦公系統(tǒng)設(shè)計(jì)與實(shí)施合同3篇
- 2025年度特色小吃車轉(zhuǎn)讓合同范本二零二五年度3篇
- 2025年度個(gè)人借款第三方擔(dān)保協(xié)議書(互聯(lián)網(wǎng)金融版)3篇
- 2025版環(huán)保產(chǎn)業(yè)項(xiàng)目投資合作協(xié)議范本4篇
- 2025年醫(yī)院與保險(xiǎn)公司醫(yī)療責(zé)任險(xiǎn)合作協(xié)議4篇
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓(xùn)
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開工儀式方案
評論
0/150
提交評論