2015年下半年软件设计师考试下午真题

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

试题一(共15分)

阅读下列说明和图,回答问题l至问题4,将解答填入答题纸的对应栏内。 【说明】

某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。系统的主要功能如下: (1)提交作业。验证学生标识后,学生将电子作业通过在线的方式提交,并进行存储。系统给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。

(2)下载未批改作业。验证讲师标识后,讲师从系统中下载学生提交的作业。下载的作业将显示在屏幕上。

(3)批改作业。讲师按格式为每个题目进行批改打分,并进行整体评价。

(4)上传批改后的作业。将批改后的作业(包括分数和评价)返回给系统,进行存储。 (5)记录分数和评价。将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已批改口

(6)获取已批改作业。根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和评价。

(7)作业抽检。根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。

现采用结构化方法对在线作业批改系统进行分析与设计,获得如图1-1所示的上下文数据流图和囹1-2所示的0层数据流图。

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

2015年下半年软件设计师考试下午真题

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【问题1】(3分)

使用说明中的词语,给出图1-1中的实体E1~E3的名称。 【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。 【问题3】(6分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。 【问题4】(2分)

若发送给学生和讲师的通知是通过第三方Email系统进行的,则需要对图1-1和图1-2进行哪些修改?用100字以内文字加以说明。

试题二(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。工程师 小李主要承担该系统的公告管理和消息管理模块的研发工作。公告管理模块的主要功能包 括添加、修改、删除和查看公告。消息管理模块的主要功能是消息群发。

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 部门 ( (a) ,部门经理,电话)

员工(员工号,姓名,岗位号,部门号,电话,密码) 岗位(岗位号,名称,权限)

消息 ( (b) , 消息类型,接收时间,发送时间,发送人) 公告( (c) ,名称,内容,发布部门,发布时间) 阅读公告( (d) , 阅读时间 ) 【问题1】(5分)

根据问题描述,补充四个联系,完善图2-1所示的实体联系图。联系名可用联系1、联 系2、联系3和联系4代替,联系的类型分为 1:1、1:n和m:n(或1:1、1:*和*:*)。 【词题2】(8分)

(1)根据实体联系图,将关系模式中的空(a)~(d)补充完整。 (2)给出“消息”和“阅读公告”关系模式的主键与外键。 【问题3】(2分) 、

消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?用1 00字以内文字

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

小李根据前期调研和需求分析进行了概念模型设计,具体情况分述如下: 【需求分析结果】

(1)该企业设有研发部、财务部、销售部等多个部门,每个部门只有一名部门经理, 有多名员工,每名员工只属于一个部门,部门信息包括:部门号、名称、部门经理和电话, 其中部门号唯一确定部门关系的每一个元组。

(2)员工信息包括:员工号、姓名、岗位、电话和密码。员工号唯一确定员工关系的 每一个元组;岗位主要有经理、部门经理、管理员等,不同岗位具有不同的权限。一名员 工只对应一个岗位,但一个岗位可对应多名员工。

(3)消息信息包括:编号、内容、消息类型、接收人、接收时间、发送时间和发送人。 其中(编号,接收入)唯一标识消息关系中的每一个元组。一条消息可以发送给多个接收 人,一个接收人可以接收多条消息。

(4)公告信息包括:编号、标题、名称、内容、发布部门、发布时间。其中编号唯一 确定公告关系的每二个元组。一份公告对应一个发布部门,但一个部门可以发布多份公告;一份公告可以被多名员工阅读,一名员工可以阅读多份公告。 【概念模型设计】

根据需求分析阶段收集的信息,设计的实体联系图(不完整)如图2-1所示:

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

说明原因。

试题三(共15分)

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】一

某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能 需求描述如下:

(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。 (2)ACShop的客户分为两种:未注册客户和注册客户。

(3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客户进行 注册操作之后,成为ACShop注册客户。

(4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。结 账操作的具体流程描述如下:

①从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信 息,则可以添加新地址。

②选择付款方式。ACShop支持信用卡付款和银行转账两种方式。注册客户可以 从预先填写的信用卡或银行账号中选择一个付款。若没有付款方式信息,则可 以添加新付款方式。

③确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对应的订单。 (5)管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售出版物 信息等操作。

现采用面向对象方法分析并设计该网上商店ACShop,得到如图3-1所示的用例图和 图3-2所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【问题1】(4分)

据说明中 描述,给出图3-1中(1)~(4)所对应的用例名。 【问题2】(4分)

根据说明中韵描述,分别说明用例“添加新地址”和“添加新付款方式”会在何种情 况下由图3-1中的用例(3)和(4)扩展而来? 【问题3】(7分)

根据说明中的描述,给出图3-2中(1)~(7)所对应的类名。

试题四(共15分)

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】

计算两个字符串x和y的最长公共子串(Longest Common Substring)。

假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j]记录x中前i 个字符和y中前j个字符的最长公共子串的长度。 c[i][j]满足最优子结构,其递归定义为:

计算所有c[i][j](0 ≤i ≤ m,0 ≤j ≤ n)的值,值最大的c[i][j]即为字符串x和y的最长公共子串的长度。根据该长度即i和j,+确定一个最长公共子串。 【C代码】

(1)常量和变量说明

x,y:长度分别为m和n的字符串

c[i][j]:记录x中前i个字符和y中前j个字符的最长公共子串的长度

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

max:x和y的最长公共子串的长度 maxi, maXj:分别表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号)

(2)C程序

#include #include int c[50][50]; int maxi; int maxj;

int lcs(char *x, int m, char *y, int n) { int i, j; int max= 0; maxi= 0; maxj = 0; for ( i=0; i<=m ; i++) c[i][0] = 0; for (i =1; i

for (j=1; j

else (3) ; } }

retum max; }

void printLCS(int max, char *x) { int i= 0; if (max = 0) retum; For ( (4) ; i

void main(){

Char* x=

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【C++代码】

#include Using namespace std;

enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN}; class CashSup er{ public:

(1) };

class CashNormal : public CashSuper { //正常收费子类 public:

double acceptCash(double money) { retum money; } };

class CashDiscount : public CashSuper {

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

printLCS(max,x) }

【问题1】(8分)

根据以上说明和C代码,填充C代码中的空(1)~(4). 【问题2】(4分)

根据题干说明和以上C代码,算法采用了(5)设计策略。 分析时间复杂度为(6) (用0符号表示)。 【问题3】(3分)

根据题干说明和以上C代码,输入字符串x=

从下列的2道试题(试题五至试题六)中任选1道解答。 请在答题纸上的指定位置处将所选择试题的题号框涂黑。若多涂或者未涂题号框,则对题号最小的一道试题进行评分。

试题五(共15分)

阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满3 00返1 00)等等。现采用策略( Strategy)模式实现该要求,得到如图5-1所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

private:

double moneyDiscount; // 折扣率 public:

CashDiscount(double discount) { moneyDiscount= discount; } double acceptCash(double money) { retum money * moneyDiscount; } };

class CashRetum : public CashSuper { // 满额返利 private: double moneyCondition; // 满额数额 double moneyReturn; // 返利数额 public:

CashRetnm(double;m otieyCondition, double moneyReturn) { this=>moneyCondition - moneyCondition; this=>m oneyRetumF ;moneyRetum;

} . double acceptCash(double money) { double result = money;

if(money>=moneyCondition)

result = money - (int)(mon ey l mon eyCondition ) * moneyRetum; Return result ; } };

class CashContext { private:

CashSuper *cs; public:

CashContext(inttype) { switch(type) { case NORMAL: //正常收费 (2) case CASH;:RETURN //满30返100 (3) Break; case CASH DISCOUNT: //打八折 (4) break; } }

double GetResult(double money) { (5) } };

//此处略去main()函数

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【Java代码】 import java util*;

enum TYPE { NORMAL, CASH_DISCOUNT, CASH_RETURN}; interface CashSuper { Public (1) ; }

class CashNormal imp lements CashSuper{ //正常收费子类 Public double accptCash(double money){

return money; } }

class CashDiscount implements CashSuper { private double moneyDiscoMt; //折扣率 public CashDiscount(double moneyDiscount) { This moneyDiscount = moneyDiscount; }

public double acceptCash(double money) { Return money* moneyDiscount; } } class CashReturn im plements CashSuper { //满额返利 private double moneyCondition; private double moneyRetum;

public CashReturn(double moneyCondition, double moneyRetum) { thismoneyCondition =moneyCondition; // 满额数额

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

试题六(共15分)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满300返1 00)等等。现采用策略( Strategy)模式实 现该要求,得到如图6-1所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

thismoneyReturn =moneyReturn; //返利数额 public double acceptCash(double money) { double result = money;

if(money >= moneyCondition )

result =money -Math.floor(nioney/moneyCondition ) * moneyReturn; return result; } }

class CashContext_{ private CashSuper cs; private TYPE t; public CashContext(TYPE t) { switch(t){

case NORMAL: // 正常收费 (2) ; break; case CASH_DISCOUNT: // 满 300返 100 (3) ; break; case CASH_DISCOUNT: // 打八折 (4) break; } }

public double GetResult(double money) { (5) ; }

∥此处略去main()函数 }

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

试题一(共15分)

阅读下列说明和图,回答问题l至问题4,将解答填入答题纸的对应栏内。 【说明】

某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。系统的主要功能如下: (1)提交作业。验证学生标识后,学生将电子作业通过在线的方式提交,并进行存储。系统给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。

(2)下载未批改作业。验证讲师标识后,讲师从系统中下载学生提交的作业。下载的作业将显示在屏幕上。

(3)批改作业。讲师按格式为每个题目进行批改打分,并进行整体评价。

(4)上传批改后的作业。将批改后的作业(包括分数和评价)返回给系统,进行存储。 (5)记录分数和评价。将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已批改口

(6)获取已批改作业。根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和评价。

(7)作业抽检。根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。

现采用结构化方法对在线作业批改系统进行分析与设计,获得如图1-1所示的上下文数据流图和囹1-2所示的0层数据流图。

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

2015年下半年软件设计师考试下午真题

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【问题1】(3分)

使用说明中的词语,给出图1-1中的实体E1~E3的名称。 【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。 【问题3】(6分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。 【问题4】(2分)

若发送给学生和讲师的通知是通过第三方Email系统进行的,则需要对图1-1和图1-2进行哪些修改?用100字以内文字加以说明。

试题二(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。工程师 小李主要承担该系统的公告管理和消息管理模块的研发工作。公告管理模块的主要功能包 括添加、修改、删除和查看公告。消息管理模块的主要功能是消息群发。

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 部门 ( (a) ,部门经理,电话)

员工(员工号,姓名,岗位号,部门号,电话,密码) 岗位(岗位号,名称,权限)

消息 ( (b) , 消息类型,接收时间,发送时间,发送人) 公告( (c) ,名称,内容,发布部门,发布时间) 阅读公告( (d) , 阅读时间 ) 【问题1】(5分)

根据问题描述,补充四个联系,完善图2-1所示的实体联系图。联系名可用联系1、联 系2、联系3和联系4代替,联系的类型分为 1:1、1:n和m:n(或1:1、1:*和*:*)。 【词题2】(8分)

(1)根据实体联系图,将关系模式中的空(a)~(d)补充完整。 (2)给出“消息”和“阅读公告”关系模式的主键与外键。 【问题3】(2分) 、

消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?用1 00字以内文字

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

小李根据前期调研和需求分析进行了概念模型设计,具体情况分述如下: 【需求分析结果】

(1)该企业设有研发部、财务部、销售部等多个部门,每个部门只有一名部门经理, 有多名员工,每名员工只属于一个部门,部门信息包括:部门号、名称、部门经理和电话, 其中部门号唯一确定部门关系的每一个元组。

(2)员工信息包括:员工号、姓名、岗位、电话和密码。员工号唯一确定员工关系的 每一个元组;岗位主要有经理、部门经理、管理员等,不同岗位具有不同的权限。一名员 工只对应一个岗位,但一个岗位可对应多名员工。

(3)消息信息包括:编号、内容、消息类型、接收人、接收时间、发送时间和发送人。 其中(编号,接收入)唯一标识消息关系中的每一个元组。一条消息可以发送给多个接收 人,一个接收人可以接收多条消息。

(4)公告信息包括:编号、标题、名称、内容、发布部门、发布时间。其中编号唯一 确定公告关系的每二个元组。一份公告对应一个发布部门,但一个部门可以发布多份公告;一份公告可以被多名员工阅读,一名员工可以阅读多份公告。 【概念模型设计】

根据需求分析阶段收集的信息,设计的实体联系图(不完整)如图2-1所示:

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

说明原因。

试题三(共15分)

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】一

某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能 需求描述如下:

(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。 (2)ACShop的客户分为两种:未注册客户和注册客户。

(3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客户进行 注册操作之后,成为ACShop注册客户。

(4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。结 账操作的具体流程描述如下:

①从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信 息,则可以添加新地址。

②选择付款方式。ACShop支持信用卡付款和银行转账两种方式。注册客户可以 从预先填写的信用卡或银行账号中选择一个付款。若没有付款方式信息,则可 以添加新付款方式。

③确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对应的订单。 (5)管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售出版物 信息等操作。

现采用面向对象方法分析并设计该网上商店ACShop,得到如图3-1所示的用例图和 图3-2所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【问题1】(4分)

据说明中 描述,给出图3-1中(1)~(4)所对应的用例名。 【问题2】(4分)

根据说明中韵描述,分别说明用例“添加新地址”和“添加新付款方式”会在何种情 况下由图3-1中的用例(3)和(4)扩展而来? 【问题3】(7分)

根据说明中的描述,给出图3-2中(1)~(7)所对应的类名。

试题四(共15分)

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】

计算两个字符串x和y的最长公共子串(Longest Common Substring)。

假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j]记录x中前i 个字符和y中前j个字符的最长公共子串的长度。 c[i][j]满足最优子结构,其递归定义为:

计算所有c[i][j](0 ≤i ≤ m,0 ≤j ≤ n)的值,值最大的c[i][j]即为字符串x和y的最长公共子串的长度。根据该长度即i和j,+确定一个最长公共子串。 【C代码】

(1)常量和变量说明

x,y:长度分别为m和n的字符串

c[i][j]:记录x中前i个字符和y中前j个字符的最长公共子串的长度

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

max:x和y的最长公共子串的长度 maxi, maXj:分别表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号)

(2)C程序

#include #include int c[50][50]; int maxi; int maxj;

int lcs(char *x, int m, char *y, int n) { int i, j; int max= 0; maxi= 0; maxj = 0; for ( i=0; i<=m ; i++) c[i][0] = 0; for (i =1; i

for (j=1; j

else (3) ; } }

retum max; }

void printLCS(int max, char *x) { int i= 0; if (max = 0) retum; For ( (4) ; i

void main(){

Char* x=

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【C++代码】

#include Using namespace std;

enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN}; class CashSup er{ public:

(1) };

class CashNormal : public CashSuper { //正常收费子类 public:

double acceptCash(double money) { retum money; } };

class CashDiscount : public CashSuper {

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

printLCS(max,x) }

【问题1】(8分)

根据以上说明和C代码,填充C代码中的空(1)~(4). 【问题2】(4分)

根据题干说明和以上C代码,算法采用了(5)设计策略。 分析时间复杂度为(6) (用0符号表示)。 【问题3】(3分)

根据题干说明和以上C代码,输入字符串x=

从下列的2道试题(试题五至试题六)中任选1道解答。 请在答题纸上的指定位置处将所选择试题的题号框涂黑。若多涂或者未涂题号框,则对题号最小的一道试题进行评分。

试题五(共15分)

阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满3 00返1 00)等等。现采用策略( Strategy)模式实现该要求,得到如图5-1所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

private:

double moneyDiscount; // 折扣率 public:

CashDiscount(double discount) { moneyDiscount= discount; } double acceptCash(double money) { retum money * moneyDiscount; } };

class CashRetum : public CashSuper { // 满额返利 private: double moneyCondition; // 满额数额 double moneyReturn; // 返利数额 public:

CashRetnm(double;m otieyCondition, double moneyReturn) { this=>moneyCondition - moneyCondition; this=>m oneyRetumF ;moneyRetum;

} . double acceptCash(double money) { double result = money;

if(money>=moneyCondition)

result = money - (int)(mon ey l mon eyCondition ) * moneyRetum; Return result ; } };

class CashContext { private:

CashSuper *cs; public:

CashContext(inttype) { switch(type) { case NORMAL: //正常收费 (2) case CASH;:RETURN //满30返100 (3) Break; case CASH DISCOUNT: //打八折 (4) break; } }

double GetResult(double money) { (5) } };

//此处略去main()函数

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

【Java代码】 import java util*;

enum TYPE { NORMAL, CASH_DISCOUNT, CASH_RETURN}; interface CashSuper { Public (1) ; }

class CashNormal imp lements CashSuper{ //正常收费子类 Public double accptCash(double money){

return money; } }

class CashDiscount implements CashSuper { private double moneyDiscoMt; //折扣率 public CashDiscount(double moneyDiscount) { This moneyDiscount = moneyDiscount; }

public double acceptCash(double money) { Return money* moneyDiscount; } } class CashReturn im plements CashSuper { //满额返利 private double moneyCondition; private double moneyRetum;

public CashReturn(double moneyCondition, double moneyRetum) { thismoneyCondition =moneyCondition; // 满额数额

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

试题六(共15分)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满300返1 00)等等。现采用策略( Strategy)模式实 现该要求,得到如图6-1所示的类图。

希w赛ww软 希考.ew赛d学wuci院w软 希

t考. eyw赛d.学cwun软ci院w

ty .e考du学.cnci院ty .cn

2015下半年软件设计师网络课堂:

2015下半年软件设计师考试真题(希赛专家权威解析+答案):

thismoneyReturn =moneyReturn; //返利数额 public double acceptCash(double money) { double result = money;

if(money >= moneyCondition )

result =money -Math.floor(nioney/moneyCondition ) * moneyReturn; return result; } }

class CashContext_{ private CashSuper cs; private TYPE t; public CashContext(TYPE t) { switch(t){

case NORMAL: // 正常收费 (2) ; break; case CASH_DISCOUNT: // 满 300返 100 (3) ; break; case CASH_DISCOUNT: // 打八折 (4) break; } }

public double GetResult(double money) { (5) ; }

∥此处略去main()函数 }


相关文章

  • 2015年下半年软件设计师(下午)真题和答案
  • 参考答案 第一题: 问题1(3分): 学生 讲师 教务人员 问题2(4分): 为批改作业表 学生表 讲师表 已批改作业表 问题3(6分): 通知 5 抽查意见 7 E1 E2 问题4(2分): 略 第二题: 问题1(5分): 问题2(8分) ...查看


  • 软考 软件工程师--下午试题
  • 软件工程师--下午试题 2012年上半年全国计算机技术与软件专业技术资格(水平)考试将于2012年5月26日开考.下面我对2006年5月至2011年11月[6年,12次]的软件设计师级别下午试题进行一个简单的汇总统计,希望对准备参加软考的朋 ...查看


  • 2015执业兽医师全科类考试题下午试卷|15年执业兽医考试真题
  • 微 信 题 库 搜 索 执业兽医 资讯 报名时间 考试动态 成绩查询 考试大纲 历年真题 模拟试题 各省动态 北京 天津 河北 上海 湖北 江苏 浙江 安徽 更多省份 医学全在线 > 执业兽医 > 历年真题 > 正文 20 ...查看


  • 2015年汕头国家公务员考试行测资料分析必考概念真题讲解
  • 2015汕头国家公务员考试行测资料分析 必考概念真题讲解 2011年6月份我国软件产业软件业务收入占上半年总值的比重约为 ( ). A. 22.7% B. 24.6% C. 26.5% D. 29.1% [答案]A [中公解析]2011年6 ...查看


  • 系统分析师考试历年真题二(下午试题)
  • 系统分析师考试历年真题二(下午试题) 系统分析师考试是软考中一项高级资格考试科目,考试一共分为三门:基础知识.案例分析及论文.下面是小编整理的系统分析师历年考试下午真题,供大家学习参考. 试题四 阅读以下关于信息系统网络分析与改造方面的叙述 ...查看


  • 2015年上半年系统集成项目管理工程师考试真题上午题
  • 2015年5月系统集成项目管理工程师上午真题和答案 1.信息化是人类社会发展的一个高级进程,它的目标是(). A.建设基于现代信息技术的先进社会生产工具 B.创建信息时代的社会生产力 C.推动社会生产关系及社会上层建筑的改革 D.使国家综合 ...查看


  • 2016上半年广西教师资格证考试准考证打印时间
  • 广西教师考试资讯.真题下载请点击广西教师招聘考试网 2016上半年广西教师资格证考试准考证打印时间 2016下半年广西教师资格证考试公告还未发布,如有需要查看2015年下半年广西教师资格考试公告.2015下半年广西教师资格考试报名时间:20 ...查看


  • 2016上半年海淀事业单位准考证打印时间
  • www.zgsydwks.com/beijing/ 2016上半年海淀事业单位准考证打印时间 2016上半年海淀事业单位招聘公告尚未发布请参考2015上半年海淀事业单位招聘公告,2015年5月6日上午9:00至5月8日下午18:00,现场确 ...查看


  • 2014下半年教师资格全国统考高中信息技术学科知识真题
  • 2014年下半年教师资格全国统考 信息技术学科知识与教学能力真题(高级中学) 考试时间:120分钟 考试总分150分 一.单项选择题(共15题,每题3分,共45分) 1. 采用WIFI 技术上网的通信技术是( ) A.WAP 技术 B. 红 ...查看


热门内容