[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷54及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷54及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷54及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 54及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明、图 1和图 2,回答问题 1、问题 2和问题 3。 【说明】 下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。 车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借 3辆车。每辆车借期 7天;若有一辆车超期,则不可再借其他车。一辆车超期 一天罚款 250元。若一辆车超期 3周不归还,则发布通告。若用户借的车
2、丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价 (包括折旧 )的 1.2倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。1 分析车辆的状态和事件,指出图 1中的 (1)、 (2)、 (3)、 (4)分别是什么 ? 2 分析用户的状态和事件,指出图 2中的 (5)、 (6)、 (7)、 (8)分别是什么 ?(注意,用户与车辆在状态图中的关系 )。 3 指出 UML中活动图的含义,并说明活动图和状态图的区别与联系。 4 【说明】 下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供
3、用户借用,也可将报废的旧车注销以停止租用。 车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借 3辆车。每辆车借期 7天:若有一辆车超期,则不可再借其他车。一辆车超期一天罚款 250元。若一辆车超期 3周不归还,则发布通告。若用户借的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价 (包括折旧 )的 1.2倍。注册新用户不受限制;而注销 用户之前,该用户必须归还所有借的车,或者报失并接受罚款。 4 分析车辆的状态和事件,指出图 2-1中的 (1)、 (2)、 (3)、 (4)分别是什么 ? 5 分析用户的状态和事件,指出图 2-2中的 (5)、
4、 (6)、 (7)、 (8)分别是什么 ?(注意,用户与车辆在状态图中的关系 )。 6 指出 UML中活动图的含义,并说明活动图和状态图的区别与联系。 7 阅读以下说明和流程图,回答问题 1至问题 3,将解答写在对应栏内。【说明】 (1)流程图描述某大型商店商品销售的数据处理流程。 (2)商店设有若干柜台,同一 种商品可能在几个柜台上销售,各柜台每天提供一组日销售数据,其格式如下: 日期、柜台号、商品代码、销售数量、商品代码、销售数量 (3) 数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的 “日销售金额报告 ”,必要时还产生一份 “商品请购报告 ”,给出那些低于最低库存量的商
5、品代码、商品名称、最低库存量和实际库存量。处理过程中产生存档的 “日销售文件 ”和临时工作文件“日销售量文件 ”和 “旧销售金额文件 ”。 (4)系统中所用到的数据均来自数据文件。 (5)流程图中的商品库存文件的记录已按关键字 “商品代码 ”排序 。 7 指出商品库存文件的记录中必须包括哪些数据项 ? 分别指出在日销售文件,日销售量文件和日销售金额文件的记录中至少应包括哪些数据项,同时不产生数据冗余 ? 错误清单可能指出哪些错误 ? 8 简要叙述处理 6的主要内容。 9 如果删除流程图中的虚框部分,日销售文件的记录中应增加什么数据项 ? 10 阅读下列说明和相关的类图,回答问题。 【说明】 在
6、一栋 m层楼的大厦里,用电梯内和每个楼层的按钮来控制 n部电梯的运作。当按下电梯内按钮请求电梯在指定楼层停下时,按钮指示灯亮,当电梯到达指定楼层时,指示灯 熄灭。除了大厦的最底层和最高层之外,每层楼都有两个按钮分别指示电梯上行和下行,当这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。当电梯无升降运动时,关门并停止在当前楼层。 软件设计师火云龙采用面向对象分析的方法,经过三次逐步求精设计之后,得到如图 13-19所示的类图。 【问题1】 按钮类有一个重要的属性,请将该属性填入图 13-19中的 (a)处。 【问题 2】 识别关联的多重性是面向对象建模重要的一
7、步,请根据题目说明填空 (1) (6)。 【问题 3】 软件设计师火云龙在初 步设计类时,将门 (的状态 )作为电梯的属性,后经思考,将电梯门设计成一个独立的类,这么做的好处是什么 ? 软件设计师火云龙在初步设计类时,并没有设计 “请求 ”类,后来又加入了该类,这么做的原因是什么 ? 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 11 从下列的 3道式题 (试题五至试题七 )中任选 1道解答。 如果解答的试题数超过 1道,则题号小的 1道解答有效。 阅读以下说明和 C+码,将应填入 (n)处的字名写在
8、的对应栏 内。 说明 利用 c+的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数: Leap ()用于判定指定的年份是闰年, Week ()用于计算 year年份的 1月 1日是星期几,其判定规则为: (1) 如果 year 年份为 1994年,则为星期六。 (2) 如果 year 年份大于 1994年,则星期值 weekno 按下列公式计算: differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date
9、=6+differ%7 weekno=(date6)? date-7: date (3) 如果 year 年份小于 1994年,则星期值 weekno 按下列公式计算: 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(int n) if( (1) ) return 0 else return 1; int week( int year ) int a1,
10、differ, date, weekno; if (year = = 1994) a1 =0; else if (year 1994) a1=1; else a1= -1; switch(a1) case 0: return 6; break; case 1: (2) date = 6 + differ% 7; weekno = ( date 6) ? date - 7 date; return weekno; break; case - 1: differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (
11、2000 - year)/400; weekno =6-differ%7; return weekno; break; void main( ) int i,year,m2,n,j; cout “Please input 某年数 :”; cin year; if ( ! leap(year) ) (3); else m2 =28; int month 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31 ; (4) for ( i=0; i 12; i+ + ) cout end1 setw(4*n) “; for(j=1 ;j =month i ;j+ +) co
12、ut setw(4) j; n+ +; if(n =7) (5) cout end1; 12 阅读下列 Java程序和程序说明,将应填入 (n)处的字句写在对应栏内。 【说明】本程序 ExceptionTester实现功能:读入两个整数,第 1个数除以第 2个数,之后输出。若第 2个数为 0,则自动进行异常处理。 程序如下: (1); public class ExceptionTester public static void main(String args) int result; int number new int2; boolean valid; for(int i 0; i 2;
13、 i+) valid (2); while(!valid) try System out println(“Enter number“+(i+1); numberi=Integer valueOf(Keyboard getString() intValue(); valid true; catch(NumberFormatExceptione) System out println(“Invalid integer entered Please try again “); by result number0/number1; System out print(number0+“/“+numbe
14、r1+“ “+result); catch(3) System out println(“Second number is 0, cannot do division!“); 其中, Keyboard类的声明为: impon java io *; public class Keyboard static BufferedReader inputStream new (4) (new InputStreamReader(System in); public static int getInteger() try return(Integer,valueOf(inputStream readLln
15、e() trim() intValue(); catch(Exceptione) e printStackTrace(); return 0; public (5) by return(inputStream readLine(); catch(IOExceptione) return “0“; 12 阅读以下说明和 Java代码,将应填入 (n)处的字句写在对应栏内。 说明 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果 在启动的时候,所有功能 (连不用的功能 )都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化
16、该功能。 以下示例展示了 Proxy(代理 )模式, PrinterProxy类执行一些比较 “轻 ”的方法 设置名称和取得名称,需要真正执行 “重 ”的方法 真正打印 时才初始 Print类。图 6-1显示了各个类间的关系。 图 6-1 Java代码 /Printable.Java publiC (1) Printable public abstract void setPrinterName(String name); public abstract String getprinterName(); public abstract void print(String string); /P
17、rinter.Java public class Printer implements Printable private String name; public Printer() System.out.println(“正在产生 Printer的对象实例 “); public Printer(String name) this.name=name; heavyJob(“正在产生 Printer的对象实例 (“+name+“)“); public void setPrinterName(String name) this.name=name; public String getPrinter
18、Name() return name; public void print(String string) System.out.println(“=“ +name+“ =“); System.out.println(string); /PrinterProxy.Java public class PrinterProxy (2) Printable private String name; private Printer real; public PrinterProxy() public PrinterProxy(String name) this.name=name; public gyn
19、chronized void setPrinterName(String name) if( (3) ) real.setPrinterName(name); this.name=name; public String getprinterName() return name; public void print(String string) (4); real.print(string); private synchronized void realize()/产生真正的 Printer对象 if(real=null) real=(5); 13 (1) 14 (2) 15 (3) 16 (4
20、) 17 (5) 软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 54答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【正确答案】 (1)cancel register(注销旧车的注册 )(2)register(车辆注册 ) (3)return(归还 )(4)lost report(遗失报告 ) 2 【正确答案】 (5)cancel register(注销用户的注册 )(6)borrow/n+1(借车 /拥有车的数量 +1)(7)penalty and n=0(罚款并且拥有车的数量为 0)(8)3 3 【正确答案】 活动图 (activity diagram)显示动作
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 54 答案 解析 DOC
