软件设计师(中级)软件设计应用技术模拟题2020年(1)
c语言搜题软件推荐(总分75,考试时间150分钟)
必答题
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
现准备为某银行开发一个信用卡系统CCMS,该系统的基本功能如下。
(1)信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。
(2)信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。
(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用
卡客户可以在线查询和修改个人信息。
(4)交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。
图1和图2分别给出了该系统的顶层数据流图和0层数据流图的初稿。
1. 1.根据说明,将图1中的E1~E3填充完整。
2. 2.图1中缺少3条数据流,根据说明分别指出这3条数据流的起点和终点。(注:数据流的起点和终点均采用图中的符号和描述)
3. 3.图2中有两条数据流是错误的,请指出这两条数据流的名称并改正。(注:数据流的起点和终点均采用图中的符号和描述)
4. 4.根据说明,将图2中P1~P4的处理名称填充完整。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运作活动。
【需求分析结果】
(1)商场需要记录的信息包括商场编号(编号唯一)、商场名称、地址和。某商场信息见表1。
(2)每个商场包含不同的部门,部门需要记录的信息包括部门编号(集团公司分配)、部门名称、
位置分布和。某商场的部门信息见表2。
(3)每个部门雇佣多名员工处理日常事务,每名员工只能隶属一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号(集团公司分配)、姓名、岗位、电话号码和工资。员工信息见表3。
(4)每个部门的员工中有一名是经理,每个经理只能管理一个部门,系统需要记录每个经理的任职时间。
【概念模型设计】
根据需求阶段搜集的信息,设计实体联系图(如图3)和关系模式(不完整)。
【关系模式设计】
商场(商场编号,商场名称,地址,)
部门[部门编号,部门名称,位置分布,,(a)]
员工[员工编号,员工姓名,岗位,电话号码,工资,(b)]
经理[(c),任职时间]
5. 5.根据问题描述,补充4个联系,完善图3所示的实体联系图。联系名可用联系1、联系2、联系3和联系4代替,联系的类型分为1:1、1:n和m:n。
6. 6.根据实体联系图,将关系模式中的空(a)~(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。
7. 7.为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和,不同的员工可以登记相同的紧急联系人。则在图3中还需添加的实体是______(1),该实体和图3中的员工存在______(2)联系(填写联系类型)。给出该实
体的关系模式。
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图4所示为某类图书或唱碟被借阅时应记录的信息,图5描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。
8. 8.经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类Book和CD的共有属性和方法。请采用图5中属性和方法的名称给出类Items-0n.10an应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如CD中的composer与Book中的author无任何关系)
9. 9.为了记录每种图书或唱碟租借的历史记录,引入类CirculationHistory,类中存储的信息是图4中所表示的内容。请采用UML表示法将下列四个类之间的关系表示出来。
10. 10.现需了解十大最畅销(借出次数最多)图书或唱碟。为此,引入TenPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数。图6的顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,有_______(1)个TenPopulate实例对象最合适,一个TenPopulate类实例对象最多需要和______(2)个Items_on_loan实例对象交互。
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
设有n个货物要装入若干个容量为C的集装箱以便运输,这n个货物的体积分别为{S1,S2,…,Sn},且有si≤C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱来装运这n个货物。
下面分别采用最先适宜策略和最优适宜策略来求解该问题。
最先适宜策略(firstfit)首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中。
最优适宜策略(bestfit)与最先适宜策略类似,不同的是,总是把货物装到能容纳它且目前剩余容量最小的集装箱,使得该箱子装入货物后闲置空间最小。
【C代码】
下面是这两个算法的C语言核心代码。
1.变量说明
n:货物数
C:集装箱容量
s:数组,长度为n,其中每个元素表示货物的体积,下标从0开始
6:数组,长度为n,b[i]表示第i+1个集装箱当前已经装入货物的体积,下标从0开始
i,j:循环变量
k:所需的集装箱数
min:当前所用的各集装箱装入了第i个货物后的最小剩余容量
m:当前所需要的集装箱数
temp:临时变量
2.函数firstfit
int firstfit()
{
int i,j;
k=0;
for(i=0;i<n;i++)
{
b[i]=0;
}
for(i=0;i<n;i++)
{
______(1);
while(C-b[j]<s[i]){
j++;
}
______(2);
k=k>(=i+1)?k;(j+1);
}
return k;
}
3.函数bestfit
int bestfit()
{
int i,j,min,m,temp;
k=0:
for(i=0;i<n;i++)
{
b[i]=0;
}
for(i=0;i<n;i++)
{
min=C;
m=k+1;
for(j=0;j<k+1;j++)
{
temp=C-b[j]s[i];
if(temp>0 && temp<min)
{
______(3);
m=j;
}
}
______(4);
k=k>(m+1)?k:(m+1);
}
return k;
}
11. 11.根据说明和C代码,填充C代码中的空(1)~(4)。
12. 12.根据说明和C代码,该问题在最先适宜和最优适宜策略下分别采用了______(5)和______(6)算法设计策略,时间复杂度分别为______(7)和______(8)(用O符号表示)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论