2014上半年软件设计师考试下午真题加答案(二)

合集下载

2014年上半年软件设计师考试下午真题(标准参考答案)

2014年上半年软件设计师考试下午真题(标准参考答案)

//归并排序#include<stdio.h>#include<stdlib.h>#define MAX 65536void merge(int arr[],int p,int q,int r)//合并[p~q]与[q+1~r]{ int *left,*right; //左右各一个临时数组int n1,n2,i,j,k;n1=q-p+1; //两个子数组长度n2=r-q;if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL)//分配空间{ perror("malloc error");exit(1);}for(i=0;i<n1;i++) //左半边临时数组初始化{ left[i]=arr[p+i];}left[i]=MAX; //最后一个元素为最大值for(i=0;i<n2;i++) //右半边临时数组初始化{ right[i]=arr[q+i+1];}right[i]=MAX; //最后一个元素为最大值i=0;j=0;for(k=p;(1);k++){ if(left[i]>right[j] //递增排序{ (2); //装小数j++;}else{ arr[k]=left[i];i++;}}}void mergeSort(int arr[], int begin, int end)//排序[begin~end]{ int mid;if(3) //[begin~end]{ mid=(begin+end)/2; //分两部分mergeSort(arr,begin,mid);//两部分分别进行归并排序(4);merge(arr,begin,mid,end);//两部分合并}}#include<iostream>#include<vector>using namespace std;class Observer{ //观察者,抽象类public: virtual void update(float temp,float humidity, float cleanness)=0;//更新,纯虚函数};class Subject{ //目标,抽象类public: virtual void registerObserver(Observer *o)=0; //注册,纯虚函数virtual void removeObserver(Observer *o)=0; //删除,纯虚函数virtual void notifyObserver()=0; //通知,纯虚函数};class EnvironentData: public(1){ //子类private: vector<Observer*> observers; //多名观察者float temperature,humidity,cleanness; //温度,湿度,清洁度public: void registerObserver(Observer*o){observer.push_back(o);}//注册,重定义void removeObserver(Observer*o){/*...*/} //删除,重定义void notifyObserver(){ //通知,重定义for(vector<Observer*>::const_iterator it=observer.begin());//迭代器it!=observers.end();it++){(2);}} //更新全部观察者void measurementsChanged(){(3);} //测量有变化,必须通知void setMeasurements(float temperature, float humidity,float cleanness){//设置参数this->temperature=temperature; //设置温度this->humidity=humidity; //设置湿度this->cleaness=cleaness; //设置清洁度(4);} //设置完,说明测量有变化};class CurrentConditionsDisplay:public (5){ //子类private: float temperature,humidity,cleanness; //私有数据Subject * envData; //目标对象,环境数据public: CurrentConditionsDisplay(Subject *envData){ //构造函数,单参数this->envData=envData; //环境数据获取(6);} //加入环境数据void update(float temperature, float humidity,float cleanness){//更新,重定义this->temperature=temperature; //更新温度this->humidity=humidity; //更新湿度this->cleanness=cleanness; //更新清洁度display();} //调用显示函数void display(){/*...*/} //显示函数定义};int main(){ //主函数EnvironmentData * envData=new EnvironmentData(); //构造函数,新目标CurrentConditionsDisplay*currentDisplay=new CurrentConditionsDisplay (envData);//构造函数,新观察者envdata->setmeasurements(80,65,30.4f); //获取环境数据return 0; //返回,调用析构函数}。

2014软件水平考试(中级) 软件设计师真题及答案综合

2014软件水平考试(中级) 软件设计师真题及答案综合

2014软件水平考试(中级) 软件设计师真题及答案综合说明:答案和解析在试卷最后第1部分:单项选择题,共69题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]下图所示为(46)设计模式,适用于(47)。

A)一个系统要由多个产品系列中的一个来配置时B)当一个类希望由它的子类来指定它所创建的对象时C)当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D)当一个系统应该独立于它的产品创建、构成和表示时2.[单选题]在如下所示的进程资源图中,(27);该进程资源图是(28)。

A)P1、P2、P3都是阻塞节点B)P1是阻塞节点,P2、P3是非阻塞节点C)P1、P2是阻塞节点,P3是非阻塞节点D)P1、P2是非阻塞节点,P3是阻塞节点3.[单选题]A)π1,2,7(σ2=‘信息’,∧3=5∧4=6∧7’北京’(R×S))B)π1,2,7(σ3==5∧4=6(σ2=‘信息’(R)×σ5=‘北京’(S)))C)π1,2,7(σ3==5∧4=6∧2=‘’(R×σ7=’’(S)))D)π1,2,7(σ3==5∧4=6∧7=‘北京’(σ2=‘信息’(R)×(S)))4.[单选题]DHCP客户端可以从DHCP服务器获得(69)。

A)DHCP服务器的地址和Web服务器的地址B)DNS服务器的地址和DHCP服务器的地址C)客户端地址和邮件服务器地址D)默认网关的地址和邮件服务器地址5.[单选题]Flynn分类法基于信息流特征将计算机分成4类,其中(6)只有理论意义而无实例。

A)SISDB)MISDC)SIMDD)MIMD6.[单选题]ICMP协议属于因特网中的(67)协议,ICMP协议数据单元封装在(68)中传送。

A)以太帧B)TCP段C)UDP数据报D)IP数据报7.[单选题]PPP中的安全认证协议是(66),它使用三次握手的会话过程传送密文。

A.MDSB.PA)PB)CHC)PD)NCP8.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)activityB)jobC)processD)application9.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)multiple objectivesB)different objectivesC)a single objectiveD)independent objectives10.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)sizeB)qualityC)scaleD)complexity11.[单选题]UML图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息。

2014上半年软考【标准答案及解析】

2014上半年软考【标准答案及解析】

2014年上半年软件设计师考试上午真题(标准参考答案)参考答案:不保证正确。

1.D 2、3、C2^(k-1)≥n+k4、D5、B6、A解析:内存按字节编址,单位为byte,存储器容量按位编址,单位为bit,注意相关的单位换算根据公式:(最高地址-最低地址+1)/单片存储器容量可得注意16进制的换算(400FFFFFH-40000000H+1)*8bit/256K*8bit = (FFFFFH+1)/256K =(100000H)/(256*1024) =(1*16^5)/(256*2^10)=2^20/2^18 =2^2=47.Sniffer,中文可以翻译为嗅探器,是一种基于被动侦听原理的网络分析方式。

使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。

木马是病毒的一种,同时木马程序又有许多种不同的种类,那是受不同的人、不同时期开发来区别的,如BackOrifice(BO)、BackOrifice2000、Netspy、Picture、Netbus、Asylum、冰河等等这些都属于木马病毒种类.木马程序就是一个网络上的Client/Server的概念。

以下简单介绍一些木马程序的功能:1)远程监控: 可以控制对方的鼠标、键盘和监视对方屏幕。

2)记录密码3)取得电脑主机的信息资料: 如果你在电脑用户账户填上真名的话,对方就可能知道你的姓名了。

4)远程控制5)发送信息8、D 9、B 10、D 11、C12、B表示媒体就是信息的表示方法。

国际电话电报咨询委员会CCITT(Consultative Committee on International Telephone and Telegraph,国际电信联盟ITU的一个分会)把媒体分成5类。

表示媒体(representation Medium)是其中之一,它指传输感觉媒体的中介媒体,即用于数据交换的编码。

如图像编码(JPEG、MPEG等)、文本编码(ASCII码、GB2312等)和声音编码等。

软件设计师2014年11月下午题(附答案)

软件设计师2014年11月下午题(附答案)
[需求分析结果]
(1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。每个超市只有一名经理。
(2)超市设有计划部、账务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。
Light* light;
Public:
LightOffCommand(Light* light){this->light = light;}
Void execute(){(3);}
};
Class RemoteControl(//遥控器
Priavte:
Command* onCommands[7];
Command* offCommands[7];
(2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为(d),超市关系应修改为(e)。
试题三
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下;
(1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligible)。
}
(1);
For(I= 1;I< n; i++){
For(j = 0; len = 0;(2); j++){
If((3)&& len < b[j])
Len = b[j];
}
(4);
}
Printf(“len: %d\n”, maxL(b,n) );

2014年上半年 软件设计师 详细答案

2014年上半年 软件设计师 详细答案

在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是(1)。

(1)A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器【答案】D【解析】本题考查计算机系统基础知识。

CPU 中有一些重要的寄存器,程序计数器( PC )用于存放指令的地址。

当程序顺序执行时,每取出一条指令, PC 内容自动增加一个值,指向下一条要取的指令,当程序出现转移时,则将转移地址送入PC,然后由PC给出新的指令地址。

状态寄行器用于记录运算中产生的标志信息。

状态寄存器中的每一位单独使用,成为标志位。

标志位的取值反映了ALU当前的工作状态,可以作为条件转移指令的转移条件。

典型的标志位有以下几种:进位标志位(C)、零标志位(Z)、符号标志位(S)、溢出标志位(V)、奇偶标志位(P)。

通用寄存器组是CPU中的一组工作寄存器,运算时用于暂存操作数或地址。

在程序中使用通用寄存器可以减少访问内存的次数,提高运算速度。

累加器(accumulator)是一个数据寄存器,在运算过程中暂时存放操作数和中间运算结果,不能用于长时间地保存一个数据。

某机器字长为n,最高位是符号位,其定点整数的最大值为(2)。

(2)A.2n-1 B.2n-1-1 C.2n D.2n-1 【答案】B【解析】本题考查计算机系统中的数据表示基础知识。

机器字长为n,最高位为符号位,则剩余的n-1位用来表示数值,其最大值是这n-1位都为1,也就是2n-1-1。

海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个校验位,扩大数据编码的码距。

若n=48,则k应为(3)。

(3)A.4 B.5 C.6 D.7【答案】C【解析】本题考查数据校验基础知识。

设数据位是n位,校验位是k位,则n和k必须满足以下关系:2k-1 ≥ n + k。

若n=48,则k 为6时可满足26-1 ≥ 48+6 。

海明码的编码规则如下。

设k个校验位为Pk,Pk-1,…,P1, n个数据位为Dn-1,Dn-2,…,D1,D0 。

上半年软件设计师下午真题及答案

上半年软件设计师下午真题及答案

2019上半年软件设计师下午真题及答案试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】某学校欲开发一学生跟踪系统,以便更自动化、更全面地对学生在校情况(到课情况和健康状态等)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。

该系统的主要功能是:(1)采集学生状态。

通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。

每张学生卡有唯一的标识(ID)与一个学生对应。

(2)健康状态告警。

在学生健康状态出问题时,系统向班主任、家长和医护机构健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。

(3)到课检查。

综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。

对旷课学生,向其家长和班主任发送旷课警告。

(4)汇总在校情况。

定期汇总在校情况,并将报告发送给家长和班主任。

(5)家长注册。

家长注册使用该系统,指定自己子女,存入家长信息,待审核。

(6)基础信息管理。

学校管理人员对学生及其所用学生卡和班主任、课表(班级、上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理;对家长注册申请进行审核,更新家长状态,将家长ID加入学生信息记录中使家长与其子女进行关联,向家长发送注册结果。

一个学生至少有一个家长,可以有多个家长。

课表信息包括班级、班主任、时间和位置等。

现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】(5分)使用说明中的词语,给出图1-1中的实体E1?E5的名称。

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

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

【问题4】(3分)根据说明中的术语,说明图1-1中数据流“学生状态”和“学生信息”的组成。

2014年计算机软件水平考试真题及答案

2014年计算机软件水平考试试题答案+Q[836196494]2014年软考考试试题答案 +Q[836196494]1.下列内容不是项目选择办法的是:A、逻辑框架分析B、分析层次过程C、专家判断D、决策目录结构C2.能够提供每项工作开始早晚和完成日期的进度开发技术是A、SPC分析B、GERTC、CPMD、MONTE CARLO分析C3.快速跟踪的意思的A、缩短关键路径工作周期,目的是缩短项目周期B、通过对各种逻辑关系再行确定来缩短项目周期C、使用最好的资源尽快完成工作D、同其他项目协调好关系以减少行政管理的磨擦B4.下面哪个公式是计算工作周期最精确的公式?A、AD=工作数量/生产效率B、AD=工作数量/资源数量C、AD=生产效率/工作数量D、AD=(生产效率)(工作数量)/资源数量A5.在评估一个项目是否赶工时,项目经理首先计算A、每项关键工作投入的成本和时间的比率B、项目关键路径新增资源的成本C、当关键路径的工作速度加快时,项目整体进度可以节约时间D、每个关键路径PERT三个可能的时间估算A6.项目进度执行的评估和报告的依据是A、进度的基线B、项目进度修改建议的数量C、事件和工作计划与事实的区别D、技术基线A7.项目进度执行指数小于1的意思是A、项目实现的货币价值小于计划完成工作的货币价值B、项目实际完成的有形物品的价值100%按计划完成C、项目实际永久损失了时间D、项目可能不会按时完成,但项目经理也不必为此过于担心A8.里程碑最好被描述成A、相关工作和事件的联合B、通常使用的表示工作或事件的两条或多条线或箭头的交叉C、项目中表示报告要求或重要工作完成的可以辨别的点D、需要资源和时间投入才得以完成的具体的项目任务C9、以下不被用来描述质量审查的是:A、内部的(审查)B、系统的(审查)C、基线(审查)D、预期(审查)D10、如果成本变更与工期变更相同,则A、成本变更因工期变更而起B、变更将对项目有利C、项目变更易纠正D、从项目实施起,劳动效率已提高A11.在从下至上的成本估算中,在什么情况下准确度可以提高?A、如果以前的项目不仅在表面上,而且在实质上与这项项目相似B、如果应用准确的历史信息C、在更小的工作项目上D、如果准备估计工作的个人或集体有完备的素质的话C12.下列哪项不是直接成本?A、项目经理的薪水B、分承包商的费用C、项目使用的材料D、电力D13.以下都属于在质量管理中应用的根本原因分析技术,除了:A、Fishbone图表B、Ishikawa图表C、系统或流程图D、项目审核表D14、在质量规划中,应把质量策略告知关系人,履行告知义务的是:A、组织的最高层B、项目经理C、项目组成员D、职能经理C15、六个∑指的是为平均值的六个标准偏离值设定的公差限度,但是通常可预计的一个流程的偏差是:A、一个标准偏差B、二个标准偏差C、三个标准偏差D、由于各流程的特殊性而无法确定C16、在项目的收尾阶段,最多的矛盾来自于以下哪方面:A、进度问题B、费用超支C、技术问题D、工作界面A17、以下各因素对小组建设影响最小的是:A、对项目概念的错误认识B、高层管理层不支持C、遇到困难的项目D、对项目小组成员的补偿D18、加强小组人员建设的一种方式是项目经理运用针对成员个人的人性化的工作方式。

2014年上半年软件设计师考试下午真题(标准参考答案)

推导递归式: 假设 n 个元素进行归并排序需要 T(n),可以将其分割成两个分别有 n/2 个元素的数组分别进行归并,也 就是 2T(n/2),在将这两个合并,需要 O(n)的时间复杂度。 则推导公式为 T(n) = 2T(n/2)+o(n). 谢谢 请问,有哪些时间复杂度是 logN 的呀? 如果对 N 个数字的序列,进行二分查找,时间复杂度就是 LogN。 5. 参考答案: (1)Subject (2)(*it)‐>update(temperature,humidity,cleanness) (3)notifyObservers() (4)measurementsChanged() (5)Observer() (6)this‐>envData‐>registerObserver(this) 试题分析: EnvironmentData 是环境数据,也就是我们要监测的对象,即主题(Subject),因此(1)处为 Subject。 (2)处为通知观察者,因此遍历观察者容器,遍历到一个观察者对象,则更新该观察者的数据,即调 用观察者的 update()方法。 当环境数据变化时,需要通知观察者,因此(4)处是调用环境变化方法 measurementsChanged(),通过此 方法通知观察者更新数据,因此(3)处为 notifyObservers()。 根据 CurrentConditionsDisplay 类中的 update()方法可知:CurrentConditionsDisplay 是个观察者,因此(5) 处为 Observer (6)是将观察者添加到主题中去。 类图中的 update 和 register interest 怎么反应到具体的程序中呢? 你好 当主题中的环境发生变化,也就是调用 measurementsChanged(),会通知观察者,即调用 notifyObservers() 在 notifyObservers()方法中,观察 者会调用自身的 update(float temperature, float humidity, float cleanness) 。 在主题的 registerObserver(Observer* o)中会注册对主题感兴趣的观察者。 6. 参考答案: (1)Subject (2)observer.update(temperature,humidity,cleanness) (3)notifyObservers() (4)measurementsChanged() (5)Observer() (6)envData.registerObserver(this) 试题分析: EnvironmentData 是环境数据,也就是我们要监测的对象,即主题(Subject),因此(1)处为 Subject。 (2)处为通知观察者,因此遍历观察者容器,遍历到一个观察者对象,则更新该观察者的数据,即调 用观察者的 update()方法。

2014年上半年信息系统管理工程师软考上午试题+下午试题真题及答案详解

上午综合试卷第1题:并行性是指计算机系统具有可以同时进行运算或操作的特性,它包含()。

A. 同时性和并发性B. 同步性和异步性C. 同时性和同步性D. 并发性和异步性第2题:某计算机系统的机构如下图所示,其中,Pu i(i=1,……,n)为处理单元,CU为控制部件,MM j(j=1,……,n)为存储部件。

该计算机( )A. 通过时间重叠实现并行性B. 通过资源重复实现并行性C. 通过资源共享实现并行性D. 通过精简指令系统实现并行性第3题:在高速缓冲存储器(Cache)-主存层次结构中,地址映像以及和主存数据的交换由( )完成。

A. 硬件B. 中断机构C. 软件D. 程序计数器第4题:计算机系统的内存储器主要由( )构成。

A. Flash存储器B. 只读存储器C. 辅助存储器D. 半导体存储器第5题:(5)是指CPU一次可以处理的二进制数的位数,它直接关系到计算机的计算精度、速度等指标;运算速度是指计算机每秒能执行的指令条数,通常以(6)为单位来描述。

A. 带宽B. 主频C. 字长D. 存储容量第6题:(5)是指CPU一次可以处理的二进制数的位数,它直接关系到计算机的计算精度、速度等指标;运算速度是指计算机每秒能执行的指令条数,通常以(6)为单位来描述。

A. MBB. HZC. MIPSD. BPS第7题:与高级程序语言相比,用机器语言精心编写的程序的特点是( )。

A. 程序的执行效率低,编写效率低,可读性强B. 程序的执行效率低,编写效率高,可读性差C. 程序的执行效率高,编写效率低,可读性强D. 程序的执行效率高,编写效率低,可读性差第8题:更适合于开发互联网络应用的程序设计语言是()。

A. SQLB. JavaC. PrologD. Fortran第9题:编写源程序时在其中增加注释,是为了( )。

A. 降低存储空间的需求量B. 提高执行效率C. 推行程序设计的标准化D. 提高程序的可读性第10题:( )不属于线性的数据结构。

2014年上半年软考网络工程师试卷真题及参考答案(完整版)

2014 年上半年网络工程师上午试题●在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是(1)。

(1)A.程序计数器 B.累加寄存器 C.程序状态寄存器 D.地址寄存器● 某机器字长为n,最高位是符号位,其定点整数的最大值为(2)。

(2)A.2n-1 B.2n-1-1 C.2n D.2n-1● 通常可以将计算机系统中执行每一条指令的过程分为取指令、分析和执行指令3步。

若取指令时间为4△t,分析时间为2△t,执行时间为3△t。

按顺序方式从头到尾执行完 600 条指令所需时产为(3)△t。

如果按照执行第i条、分析第i+1条、读取第i+2条重叠的流水线方式执行指令,则从头到尾执行完 600 条指令所需时间为(4)△t。

(3)A.2400 B.3000 C.3600 D.5400(4)A.2400 B.2405 C.3000 D.3009●若用256K * 8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需(5)片芯片。

(5)A.4 B.8 C.16 D.32●以下关于进度管理工具Gantt图的叙述中,不正确的是(6)(6)A.能清晰的表达每个任务的开始时间、结束时间和持续时间B.能清晰的表达任务之间的并行关系C.不能清晰的确定任务之间的依赖关系D.能清晰的确定影响进度的关键任务●若某文件系统的目录结构如下图所示,假设用户要访问文件fault.Swf,且当前工作目录为swshare,则该文件的全文件名为(7),相对路径和绝对路径分别为(8)。

(7)A.fault.swf B.flash\fault.swfC.swshare\flash\fault.swfD.\swshare\flash\fault.swf(8)A.swshare\flash\和\flash\ B.flash\和\swshare\flash\C.\swshare\flash\和flash\D.\flash\和\swshare\flash\●在引用调用方式下进行函数调用,是将(9)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014上半年软件设计师考试下午真题加答案(二)下午试题,是软件设计师考试的一大难点,除了掌握对应的知识点外,还要多做历年软考真题来巩固学过的知识点,希赛小编为大家整理了2014上半年软件设计师考试下午真题,希望对大家有所帮助。

试题三(共15分)
阅读下列说明和图,回答问题l至问题3,将解答填入答题纸的对应栏内。

【说明】
某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作。

功能需求均使用用例进行描述,其中用例“借书(CheckOutBooks)”的详细描述如下。

参与者:读者(Patron)。

典型事件流:
1.输入读者ID;
2.确认该读者能够借阅图书,并记录读者ID;
3.输入所要借阅的图书ID;
4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录;
5.通知读者图书归还时间。

重复步骤3-5,直到读者结束借阅图书。

备选事件流:
2a.若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)
①告知读者不能借阅,并说明拒绝借阅的原因;
②本用例结束。

4a.读者要借阅的书无法外借
①告知读者本书无法借阅;
②回到步骤3。

说明:图书的归还时间与读者的身份有关。

如果读者是教师,图书可以借阅一年;如果是学生,则只能借阅3个月。

读者ID中包含读者身份信息。

现采用面向对象方法开发该系统,得到如图3-1所示的系统类模型(部分);以及如图3-2所示的系统操作“checkOut(bookID)(借书)”的通信图(或协作图)。

问题3.1
说明中的描述,以及图3-1和图3-2,给出图3-1中C1~C4处所对应的类名(类名使用图3-1和图3-2中给出的英文词汇)。

答案:
C1:Patron
C2:Book
C3:Catalog
C4:Check out Session controller
问题3.2
根据说明中的描述,以及图3-1和图3-2,给出图3-2中M1~M4处所对应的方法名(方法名使用图3-1和图3-2中给出的英文词汇)。

答案:
M1():getforcheck(bookID)
M2():isFaculty()
M3():circulates()
M4():recordBookLoan
问题3.3
用例“借书”的备选事件流4a中,根据借书制度来判定读者能否借阅图书。

若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度。

为满足这一要求,在原有类设计的基础上,可以采用何种设计模式?简要说明原因。

答案:
应采用策略模式,策略模式的优势在于,可以灵活的添加对同一问题的不同处理方案,这与题目要求非常吻合。

试题四
采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排好序的子数组得到排序结果。

下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下:
arr:待排序数组
p,q,r:一个子数组的位置为从p到q,另一个子数组的位置为从q+l到r
begin,end:待排序数组的起止位置
left,right:临时存放待合并的两个子数组
n1,n2:两个子数组的长度
i,j,k:循环变量
mid:临时变量
问题4.1
根据以上说明和C代码,填充C代码中的空(1)~(4)。

答案:
1)k≤r
2)arr[k]=right[j]
3)begin&lt;end
4)mergeSort(arr,mid+1,end)
问题4.2
根据题干说明和以上c代码,算法采用了(5)算法设计策略。

分析时间复杂度时,列出其递归式为(6),解得渐进时间复杂度为(7)(用O 符号表示)。

空间复杂度为
(8)(用O符号表示)。

答案:
5)分治
6)T(n)=2T(N/2)+O(n)
7)O(nlogn)
8)O(n)
问题4.3
两个长度分别为nl和n2的已排好序的子数组进行归并,根据上述C代码,
则元素之间比较次数为(9)。

答案:
n1+n2。

相关文档
最新文档