【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编5及答案解析.doc
《【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编5及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编5及答案解析.doc(4页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编 5 及答案解析(总分:14.00,做题时间:90 分钟)一、必答题(总题数:7,分数:14.00)1.必答题(共 4 道大题,每道大题)(分数:2.00)_2.阅读下列说明和 c+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。现采用原型模式(Prototype)来实现上述要求,得到如图 161 所示的类图。 (分数:2.00)_3.阅读以下说明和 C+代码,将
2、应填入(n)处的字句写在对应栏内。【说明】欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 162 所示。该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图 162 所示的类图。 (分数:2.00)_4.阅读下列说明和 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以 SQL Server 和Access 两种数据库以及系统中的数据库表 Departm
3、ent 为例,其类图如图 163 所示。 (分数:2.00)_5.阅读下列说明 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表 163 所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图 165 所示的类图。 (分数:2.00)_6.阅读下列说明 SDC+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机
4、的状态如图 166 所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图 167 所示的类图。其中类State 为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState 和 HasQuarterState 分别对应图 164 中纸巾售卖机的 4 中状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:2.00)_7.阅读下列说明和 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图 1610 所示,现采用组合(Composition)设计模式来构造该公司的组织结构, 得到如图
5、 16 一11 所示的类图。 (分数:2.00)_软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编 5 答案解析(总分:14.00,做题时间:90 分钟)一、必答题(总题数:7,分数:14.00)1.必答题(共 4 道大题,每道大题)(分数:2.00)_解析:2.阅读下列说明和 c+代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。现采用原型模式(Prototype)来实现上述要求,得到如图 161 所示的类图。
6、 (分数:2.00)_正确答案:(正确答案:(I)virtual Cloneable*Clone()=0 (2)WorkExperience*obj (3)Work (4)Resume*obj (5)a 一Clone()解析:解析:本题考查原型模式的概念及应用,原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可订制的对象,无需知道任何创建的细节。Prototype 模式其实就是常说的”虚拟构造函数”一个实现,C+的实现机制中并没有支持这个特性,但是通过不同派生类实现的 Clone 接口函数可以完成与”虚拟构造函数”同样
7、的效果。题中声明一个虚拟基类,所有的原型都从这个基类继承, (1)所代表的就是这个基类中的纯虚函数,需要供继承者自行实现,即为 virtual Cloneable*Clone()=0,首先声明一个抽象基类,并定义 clone()函数为纯虚函数。然后根据基类实例化各个子类,并且实现复制构造函数,并实现 clone()函数,由此可知(2)处为 WorkExperience*obj,(3)处 Work,(4)处为 Resume*obj。在 main 函数中实现 Resume*b 对*am 复制,故根据 C+语法(5)中为 a 一Clone()。3.阅读以下说明和 C+代码,将应填入(n)处的字句写在
8、对应栏内。【说明】欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 162 所示。该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图 162 所示的类图。 (分数:2.00)_正确答案:(正确答案:(1)virtual void drawLine(double xl,double y1,double x2,double y2); (2)virtual void drawCircle(double X,double Y,double r); (3)DPIdra
9、w-a-ircle(x,y,r);(4)DP2drawCircle(x,y,r); (5)virtual void draw();(6)Shape(dp)。)解析:解析:本题考查 Bridge 桥接模式的概念及应用,将抽象与其实现解耦,使它们都可以独立地变化。大致意思是说:将一组实现与另一组使用他们的对象分离。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)Drawing 是一个虚拟基类,里面包含了希望不同策略实现的算法,派生类 V1Drawing,V2Drawing 都派生自 Drawing,对基类中的希望实现的算法都作了具体实现,且它们都含
10、有 drawLine 和 drawCircle 函数,所以 Draw 类中缺失的应该是这两个算法,于是 (1)virtual void drawLine(double x1,double y1,double x2,double y2); (2)virtual void drawCircle(double x,double y,double r);DPI 和 DP2 中包含了绘制 Line 和 Circle 的具体实现的Static 方法,因此在 V1Drawing,V2Drawing 类中可以直接进行调用它们。 (3)DPL drawacircle(x,y,r) (4)DP2drawCircl
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 软件 水平 考试 中级 设计师 下午 应用技术 历年 试卷 汇编 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-1340176.html