下半年软件设计师下午试题以及标准答案Word格式.docx
- 文档编号:17374595
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:614.51KB
下半年软件设计师下午试题以及标准答案Word格式.docx
《下半年软件设计师下午试题以及标准答案Word格式.docx》由会员分享,可在线阅读,更多相关《下半年软件设计师下午试题以及标准答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
2
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市
信息管理系统。
【需求分析结果】
(1)超市信息包括:
超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。
每个超市只有一名经理。
(2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。
部门信息包括:
超市名称、部门名称、部门经理和联系电话。
超市名称、部门名称唯一确定部门关系的每一个元组。
(3)员工信息包括:
员工号、姓名、超市名称、部门名称、职位、联系方式和工资。
其中,职位信息包括:
经理、部门经理、业务员等。
员工号唯一确定员工关系的每一个元组。
(4)商品信息包括:
商品号、商品名称、型号、单价和数量。
商品号唯一确定商品关系的每一个元组。
一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。
【概念模型设计】
根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
图1-1实体联系图
【关系模式设计】
超市(超市名称,经理,地址,电话)
部门((a),部门经理,联系电话)
员工((b),姓名,联系方式,职位,工资)
商品(商品号,商品名称,型号,单价,数量)
配给((c),配给时间,配给数量,业务员)
根据问题描述,补充四个联系,完善图1-1的实体联系图。
联系名可用联系1、联系2、联系3和联系
4代替,联系的类型分为1:
1、1:
n和m:
n(或1:
*和*:
*)。
(7分)
(1)根据实体联系图,将关系模式中的空(a)〜(c)补充完整;
(2)给岀部门和配给关系模式的主键和外键。
(1)超市关系的地址可以进一步分为邮编、省、市、街道,那么该属性是属于简单属性还是复合属性?
请用100字以内文字说明。
(2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为(d),超市关
系应修改为(e)。
3
某公司欲开发一个管理选民信息的软件系统。
系统的基本需求描述如下:
(1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligible)。
(2)每个合法选民必须通过该系统对其投票所在区域(即选区,Riding)进行注册(Registration)。
每个合法选民仅能注册一个选区。
(3)选民所属选区由其居住地址(Address)决定。
假设每个人只有一个地址,地址可以是镇仃own)或
者城市(City)。
(4)某些选区可能包含多个镇;
而某些较大的城市也可能包含多个选区。
现采用面向对象方法对该系统进行分析与设计,得到如图1-1所示的初始类图。
(8分)
根据说明中的描述,给出图1-1中C1〜C4所对应的类名(类名使用说明中给出的英文词汇)<
(3分)
根据说明中的描述,给出图1-1中M1〜M6处的多重度。
现对该系统提岀了以下新需求:
(1)某些人拥有在多个选区投票的权利,因此需要注册多个选区;
(2)对手满足
(1)的选民,需要划定其“主要居住地”,以确定他们应该在哪个选区进行投票。
为了满足上述需求,需要对图1-1所示的类图进行哪些修改?
请用100字以内文字说明。
4
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内
计算一个整数数组a的最长递增子序列长度的方法描述如下:
假设数组a的长度为n,用数组b的元素b[i]记录以a[i](O<
i<
n)为结尾元素的最长递增予序列的长度,
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
a:
长度为n的整数数组,待求其最长递增子序列
b:
长度为n的数组,b[i]记录以a[i](O<
n)为结尾元素的最长递增子序列的长度,其中0<
n
len:
最长递增子序列的长度
i,j:
循环变量
temp:
临时变量
(2)C程序
#include<
stdio.h>
intmaxL(int*b,intn){
inti,temp=0;
for(i=0;
i<
n;
i++){
if(b[i]>
temp)
temp=b[i];
}
returntemp;
intmain(){
intn,a[100],b[100],i,j,len;
scanf("
%d"
&
n);
a[i]);
(1);
for(i=1;
for(j=0,len=0;
(2);
j++){
if((3)&
&
len<
b[j])
len=b[j];
Printf("
len:
%d\n"
maxL(b,n));
printf("
\n"
);
根据说明和C代码,填充C代码中的空
(1)〜(4)。
根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用0符号表示)
已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。
5
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应
(命
着一个不同的灯。
利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command
令)模式实现该遥控器的软件部分。
Command模式的类图如图1-1所示。
图1-1Command模式类图
【C++代码】classLight{public:
Light(stringname){/*代码省略*/}
voidon(){/*代码省略*/}//开灯
voidoff(){/*代码省略*/}//关灯};
classCommand{
public:
开灯命令
classLightOnCommand:
publicCommand{//private:
Light*light;
LightOnCommand(Light*light){this->
light=light;
}
voidexecute。
{
(2);
};
classLightOffCommand:
publicCommand{//关灯命令
private:
Light*light;
LightOffCommand(Light*light){this->
voidexecute(){(3);
classRemoteControl{//遥控器
Command*onCommands[7];
Command*offCommands[7];
RemoteControl(){/*代码省略*/}
voidsetCommand(intslot,Command*onCommand.Command*offCommand){
(4)=onCommand;
(5)=offCommand;
voidonButtonWasPushed(intslot){(6);
voidoffButtonWasPushed(intslot){(7);
intmain(){
RemoteControl*remoteControl=newRemoteControl();
Light*livingRoomLight=newLight("
LivingRoom"
Light*kitchenLight=newLight("
kitchen"
LightOnCommand*livingRoomLightOn=newLightOnCommand(livingRoomLight);
LightOffCommand*livingRoomLightOff=newLightOffCommand(livingRoomLight);
LightOnCommand*kitchenLightOn=newLightOnCommand(kitchenLight);
LightOffCommand*kitchenLightOff=newLightOffCommand(kitchenLight);
remoteControl->
setCommand(0,livingRoomLightOn,livingRoomLightOff);
setCommand(1,kitchenLightOn,kitchenLightOff);
remoteControl->
onButtonWasPushed(O);
offButtonWasPushed(O);
onButtonWasPushed
(1);
offButtonWasPushed
(1);
/*其余代码省略*/
return0;
6
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,
现采用Command(命令)模式实现该遥控器的软件部分。
【Java代码】
classLight{
publicLight(){}
publicLight(Stringname){/*
代码省略
*/}
publicvoidon()
{/*
*/}//
开灯
publicvoidoff()
关灯
//其余代码省略
(1){
publicvoidexecute。
;
classLightOnCommandimplementsCommand{//开灯命令
Lightlight;
publicLightOnCommand(Lightlight){this.light=light;
publicvoidexecute(){
(2);
classLightOffCommandimplementsCommand{//关灯命令
publicLightOffCommand(Lightlight){this.light=light;
publicvoidexecute(){(3);
classRemoteControl{//遥控器
Command[]onCommands=newCommand[7];
Command[]offCommands=newCommand[7];
publicRemoteControl(){/*代码省略*/}
publicvoidsetCommand(intslot,CommandonCommand,CommandoffCommand){
(4)=onCommand;
(5)=offCommand;
publicvoidonButtonWasPushed(intslot){
(6);
publicvoidofflButtonWasPushed(intslot){
(7);
classRemoteLoader{
publicstaticvoidmain(String[]args){
RemoteControlremoteControl=newRemoteControl();
LightlivingRoomLight=newLight("
LivingRoom"
LightkitchenLight=newLight("
kitchen"
LightOnCommandlivingRoomLightOn=newLightOnCommand(livingRoomLight);
LightOffCommandlivingRoomLightOff=newLightOffCommand(livingRoomLight);
LightOnCommandkitchenLightOn=newLightOnCommand(kitchenLight);
LightOffCommandkitchenLightOff=newLightOffCommand(kitchenLight);
remoteControl.setCommand(O,livingRoomLightOn,livingRoomLightOff);
remoteControl.setCommand(1,kitchenLightOn,kitchenLightOff);
remoteControl.onButtonWasPushed(O);
remoteControl.offButtonWasPushed(O);
remoteControl.onButtonWasPushed
(1);
remoteControl.offButtonWasPushed
(1);
答案:
试题一:
【问密】
E1:
客户:
E2;
供应商
【问題2】
D1:
鞘警if单表;
02:
库存表;
D3
主产计划表;
[)4;
配万表;
05;
买岡订单轰
【问題3】
CO麺擴流名称
(2)襯擴流名棘
C3)強揭就名務
C4)議据流容務
C5)麹据谥容爾⑹数据谨容称
支付细节:
起点:
财务管理;
摒点-C2.
销害订单;
销售订单表:
搭点:
5运送,生产计劃;
茁:
黒点:
3生产,
库存量;
起点;
02;
撬点;
4呆!
K1.
原材料做虽;
4栗购:
鬓点:
岸存轰.未完宜订单;
销害订单缶:
悄点:
?
存祐.
试题
U)
医击瞄和飙门*髀主編iiaFffiw.H-iH河霑ti底,环广埒庄
旧7st阳帀茗丙,sinflAi
怙〉齒启w主牡誉蛤&
业耒另,蛇蛉卄口丿孙乩业士是舀品芹
LirM)
ios=*T^-+r<
i*^.i于庁詩叠rt,产讽阿台罢杷*星ns民e中嚙伺之科1古白.可“ijt-ti甫、“就黑忙我ti.-可心(Sit由■-1-F早辰m轩"
fMfd)I:
ntelKrB^lSk.ftHt»
电话
特花.
试题三:
【问題1】
G4:
Eligibla
CI:
Addr«
»
02:
RidingC3iin»
li«
ibl*
【I可切
Ml:
1,M2:
*pM3:
**刑:
1*MS:
札W6:
1”
【I嗣】
将Ml与I弭由1I悔我为1+h
试题四:
[|E]HH
(Ob[0]-1
⑵j<
=i
⑶n[j]g[i]
⑷b[i]=l«
n+1
[问題2】
15)新理规划进(€)0(n^)
[问題3】
b^h.2,2.3,3,41
试题五:
试题六:
Cl)iaceCofTimand
(2)Iight.onO
(3)Iighto*HO
14)onComihands[slot]
C5)offConimands[slot]
(6)onComnbands[fIot]Gx«
cuteO
C7)offCoihmands[slot],execute0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 下半年 软件 设计师 下午 试题 以及 标准答案