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年上半年软件设计师考试上午真题(标准参考答案)参考答案:不保证正确。
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月下午题(附答案)

(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年上半年 软件设计师 详细答案

在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 年上半年软件设计师上午试卷(考试时间 9 : 00~11 : 30 共 150 分钟)请按下述要求正确填写答题卡1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B 铅笔在你写入的准考证号下填涂准考证号。
2. 本试卷的试题中共有 75 个空格,需要全部解答,每个空格 1 分,满分75 分。
3. 每个空格对应一个序号,有A、B、C、D 四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。
4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。
解答时用正规 2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。
例题● 2014 年上半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。
(88)A. 3 B. 4 C. 5 D. 6 (89)A. 20 B. 21 C. 22 D. 23 因为考试日期是“5 月 20 日”,故(88)选 C,(89)选 A,应在答题卡序号 88 下对 C 填涂,在序号 89 下对 A 填涂(参看答题卡)。
●在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是(1)。
(1)A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器●某机器字长为n,最高位是符号位,其定点整数的最大值为(2)。
(2)A.2n-1 B.2n-1-1 C.2n D.2n-1●海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个校验位,扩大数据编码的码距。
若n=48,则k应为(3)。
(3)A.4 B.5 C.6 D.7●通常可以将计算机系统中执行一条指令的过程分为取指令,分析和执行指令3步。
若取指令时间为4△t,分析时间为2△t,执行时间为3△t,按顺序方式从头到尾执行完600条指令所需时间为(4)△t;若按照执行第 i 条,分析第 i+1条,读取第 i+2条重叠的流水线方式执行指令,则从头到尾执行完600条指令所需时间为(5)△t 。
2014年软件评测师考试下午真题加答案解析(三)
2014年软件评测师考试下午真题加答案解析(三)2016年下半年软件评测师考试即将于11月12日进行,准备参加2017上半年软件评测师考试的同学们,历年软考真题是否是你特别想要的学习资料?下面希赛软考学院为您提供2014软件评测师下午真题,希望对大家有所帮助。
试题三(共20分)阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内。
【说明】某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。
其主要功能为销售、生产控制、采购、运送、存储和财务管理等。
系统采用Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。
【问题1】(6分)设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。
系统设计时可以采用哪些技术手段防止此类攻击。
【问题2】(3分)简述图形测试的主要检查点。
【问题3】(5分)简述页面测试的主要方面。
【问题4】(6分)系统实现时,对销售订单的更新所用的SQL语句如下:然后通过setString(...);的方式设置参数值后加以执行。
设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入。
参考答案:【问题1】:防御XSS攻击方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
防御规则:1.不要在允许位置插入不可信数据2.在向HTML元素内容插入不可信数据前对HTML解码3.在向HTML常见属性插入不可信数据前进行属性解码4.在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript 解码5.在像HTML样式属性插入不可信数据前,进行CSS解码6.在向HTML URL属性插入不可信数据前,进行URL解码【问题2】:图形测试主要检查点:颜色饱和度和对比度是否合适需要突出的链接的颜色是否容易识别是否正确加载所有的图像【问题3】:页面的一致性如何在每个页面上是否设计友好的用户界面和直观的导航系统是否考虑多种浏览器的需要是否建立了页面文件的命名体系是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等【问题4】:能防止SQL注入Pstmt.setString('1'or'1'='1',status)Pstmt.setString('2'or'1'='1',orderID)试题分析:【问题1】XSS攻击:跨站脚本攻击(Cross Site Scripting)是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
2014年软件评测师考试下午真题加答案解析(二)
2014年软件评测师考试下午真题加答案解析(二)2016年下半年软件评测师考试即将于11月12日进行,准备参加2017上半年软件评测师考试的同学们,历年软考真题是否是你特别想要的学习资料?下面希赛软考学院为您提供2014软件评测师下午真题,希望对大家有所帮助。
试题二(共15分)阅读希埃尔说明,回答问题1至问题3,将解答填入答题纸的对应栏内.【说明】某商店为购买不同数量商品的顾客报出不同的价格,其报价规则如表2-1所示.如买11件需要支付10*30+1*27=327元,买35件需要支付10*30+10*27+10*25+5*22=930元现在该商家开发一个软件,输入为商品数C(1<=C<=100),输出为因付的价钱P【问题一】(6分)请采用等价类划分法为该软件设计测试用例(不考虑C为非整数的情况).【问题二】(6分)请采用边界值分析法为该软件设计测试用例(不考虑健壮性测试,既不考虑C 不在1到100之间或者是非整数的情况).【问题三】(3分)列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例测试反法.参考答案:【问题1】:测试用例1:31~100中任意一个数测试用例2:101测试用例3:0测试用例4:1~10中任意一个数测试用例5:11~20中任意一个数测试用例6:21~30中任意一个数【问题2】:0、1、10、11、20、21、30、31、100、101【问题3】:错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法试题分析:【问题1】划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类(2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类本题中主要范围限制为1<=C<=100,即可以划分为两个无效和一个有效等价,但由于每一个小的等价类是单独处理的,因此需要再进一步的划分:测试用例1:31~100中任意一个数测试用例2:101测试用例3:0测试用例4:1~10中任意一个数测试用例5:11~20中任意一个数测试用例6:21~30中任意一个数【问题2】边界值设计测试用例,应遵循的原则:1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据3)根据规格说明的每个输出条件,使用前面的原则14)根据规格说明的每个输出条件,应用前面的原则25)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例7)分析规格说明,找出其他可能的边界条件依据边界值设计测试用例的原则,本题测试用例应选择:0、1、10、11、20、21、30、31、100、101【问题3】黑盒测试的方法有等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法、场景法、错误推测法等因此本题可选:错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法中的3种。
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 。
2014年5月软考网工真题及参考答案(上午、下午)
●若用 256K X 8bit 的存储器芯片,构成地址 40000000H 到 400FFFFFH 且按字节编址的内存 区域,则需(5)片芯片 。
(5)A.4 B.8 C.16 D.32 ●以下关于进度管理工具 Gantt 图的叙述中,不正确的是(6) 。
D(6)A.能清晰的表达每个任务的开始时间、结束时间和持续时间 B.能清晰的表达任务之间的并行关系 C.不能清晰的确定任务之间的依赖关系 D.能清晰的确定影响进度的关键任务 ●若某文件系统的目录结构如下图所示,假设用户要访问文件 fault.Swf,且当前工作目录 为 swshare,则该文件的全文件名为(7) ,相对路径和绝对根路径分别为(8)(7)A.fault.swf B.flash\fault.swf C.swshare\flash\fault.swf D.\swshare\flash\fault.swf (8)A.swshare\flash\和\flash\ B.flash\和\swshare\flash\ C.\swshare\flash\和 flash\ D.\flash\和\swshare\flash\ ●在引用调用方式下进行函数调用,是将(9) 。
(9)A.实参的值传递给形参 B.实参的地址传递给形参 C.形参的值传递给实参 D.形参的地址传递给实参 ●王某买了一件美术作品原件,则他享有该美术作品的(10) (10)A.著作权 B.所有权 C.展览权 D.所有权和展览权 ●路由器连接帧中继网络的接口是(11) ,连接双绞线以太网的接口是(12) 。
(11)A.AUI 接口 B.RJ-45 接口 C.Console 接口 D.Serial 接口 (12)A.AUI 接口 B.RJ-45 接口 C.Console 接口 D.Serial 接口 ●在地面上相距 2000 公里的两地之间通过电缆传输 4000 比特长的数据包,数据速率为 64Kb/s,从开始发送到接收完成需要的时间为(13) 。