职业考证-软考-软件设计师考试易错、难点名师剖析押密卷46(附带答案详解)

上传人:住在山****ck 文档编号:104036313 上传时间:2022-06-09 格式:DOCX 页数:6 大小:24.09KB
返回 下载 相关 举报
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷46(附带答案详解)_第1页
第1页 / 共6页
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷46(附带答案详解)_第2页
第2页 / 共6页
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷46(附带答案详解)_第3页
第3页 / 共6页
点击查看更多>>
资源描述
书山有路勤为径,学海无涯苦作舟! 住在富人区的她职业考证-软考-软件设计师考试易错、难点名师剖析押密卷(附带答案详解)一.综合题(共10题)1.案例题生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明A,B:两个字符数组d:二维数组i,j:循环变量temp:临时变量(2)C程序#include#define N 100char AN=CTGA;char BN=ACGCTA;int dNN;int min(int a, int b)return a (1) ;for(i=1;i (2) )dij=di-1j-1; else temp=min(di-1j+1, dij-1+1);dij=min(temp, (3) ); return (4) ;【问题1】(8分)根据说明和C代码,填充C代码中的空(1)(4)。【问题2】(4分)根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示,两个字符串的长度分别用m和n表示)。【问题3】(3分)已知两个字符串A=CTGA和B=ACGCTA,根据说明和C代码,可得出这两个字符串的编辑距离为(7)。【答案】问题1:(1) d0j=j (2)str1i-1=str2j-1 (3)di-1j-1 +1 (4) dlen1len2问题2:(5)动态规划法 (6)O(mn)问题3:(7)42.案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某公司的人事部门拥有一个地址簿(AddressBook)管理系统(AddressBookSystem),用于管理公司所有员工的地址记录(PersonAddress)。员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息。管理员可以完成对地址簿中地址记录的管理操作,包括:(1)管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作。(2)排序。按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序。(3)打印地址记录。以邮件标签的格式打印一个地址单独的地址簿。系统会对地址记录进行管理,为便于管理,管理员在系统中为公司的不同部门建立员工的地址簿的操作,包括:(1)创建地址簿。新建一个地址簿并保存。(2)打开地址簿。打开一个已有的地址簿。(3)修改地址簿。对打开的地址簿进行修改并保存。系统将提供一个GUI(图形用户界面)实现对地址簿的各种操作。现采用面向对象方法分析并设计该地址簿管理系统,得到如图3-1所示的用例图和图3-2所示的类图。图3-2 类图问题1(6分)根据说明中的描述,给出图3-1中U1U6所对应的用例名。问题2(5分)根据说明中的描述,给出图3-2中类AddressBook的主要属性和方法以及类PersonAddress的主要属性(可以使用说明中的文字)。问题3(4分)根据说明中的描述以及图3-1所示的用例图,请简要说明extend和include关系的含义是什么?【答案】【问题1】U1:按姓氏字典顺序排序;U2:按邮政编码排序(其中U1和U2可互换)U3:修改地址簿 U4:创建地址簿 U5:打开地址簿 U6:保存地址簿【问题2】类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。综上,类AddressBook的方法包括:添加、修改、删除、创建、打开、打印、排序等。【问题3】extend属于用例图的三种关系之一,表示的是扩展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。如图所示,创建和打开就是一对扩展关系,创建成功之后可以直接保存关闭之后,如果想要进行后续修改工作,就需要打开地址簿,由扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。如图所示:创建、修改和保存就是一对包含关系,在创建和修改它们都有公共的行为保存,提取出来称之为抽象用例,用包含关系表示它们。【解析】【问题1】本题根据题干描述可以找到相应的用例名称有维护地址记录、排序、打印地址记录、创建地址簿、打开地址簿、修改地址簿,又根据图示可知,U1、U2与排序有泛化关系,此时根据排序的用例描述“按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序”,排序有两种方式,按姓氏字典顺序排序或按邮政编码排序,也就是对应用例U1和U2。剩余用例由于题目信息不全,无法确定具体位置。【问题2】类PersonAddress也就是员工地址记录,根据题干描述“员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息”,因此类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook也就是地址簿用于管理公司所有员工的地址记录,由于“管理员在系统中为公司的不同部门建立员工的地址簿”,因此类AddressBook的主要属性除了员工地址记录信息以外,还需要增加部门信息。此时类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。“管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作”,因此类AddressBook的需要包括添加、修改、删除等操作。又因为“管理员在系统中为公司的不同部门建立员工的地址簿的操作,包括:(1)创建地址簿。(2)打开地址簿。(3)修改地址簿。”,因此类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。综上,类AddressBook的方法包括:添加、修改、删除、创建、打开等。【问题3】extend属于用例图的三种关系之一,表示的是扩展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。还需结合用例图说明扩展用例、包含用例的应用。此处题干说明不全,暂未确定。3.单选题面向对象分析的第一项活动是( );面向对象程序设计语言为面向对象( )。问题1选项A.组织对象B.描述对象间的相互作用C.认定对象D.确定对象的操作问题2选项A.用例设计B.分析C.需求分析D.实现【答案】第1题:C第2题:D【解析】第1题:本题考查的是面向对象分析与设计相关内容。面向对象分析的活动有:认定对象(名词)、组织对象(抽象成类)、对象间的相互作用、基于对象的操作,第一项活动是认定对象,本题选择C选项。第2题:面向对象实现需要选择一种面向对象程序设计语言。第二空选择D选项。4.单选题ARP 报文分为ARP Request和ARP Response,其中ARP Request采用( )进行传送,ARP Response采用( )进行传送。问题1选项A.广播B.组播C.多播D.单播问题2选项A.组播B.广播C.多播D.单播【答案】第1题:A第2题:D【解析】本题考查计算机网络ARP协议。ARP协议:地址解析协议,作用是由IP地址转换成MAC地址RARP协议:反地址解析协议,作用是MAC地址转换成IP地址对于ARP而言,请求是广播发送,ARP响应是单播发送。故有ARP Request采用广播进行传送,ARP Response采用单播进行传送5.案例题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:1.信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。2.数据采集。获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。3.数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。4.远程控制。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控制。5.可视化。实时向农业人员展示监测信息:实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。现采用结构化方法对智慧农业平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。【问题1】(4分)使用说明中的词语,给出图1-1中的实体E1E4的名称。【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1D4的名称。【问题3】(4分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。【问题4】(3分)根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?【答案】【问题1】(4分)E1:传感器;E2:农业专家;E3:农业人员;E4:控制器【问题2】(4分)D1:监控处理规则文件 D2:监测信息文件 D3:分析结果文件 D4:预测信息文件【问题3】(4分)起点D1,终点P4,监控规则起点P5,终点E2,根据请求进行展示起点P3,终点P5,分析结果起点P3,终点P5,预测信息【问题4】(3分)数据处理加工分为数据分析,可视化与存储;黑洞、奇迹、灰洞【解析】问题1:补充实体名,找出题干给出的名词形式。可以通过下方0层图对比,根据“农业专家对农作物、环境等监测数据的监控处理规则进行维护。”描述,我们可知E2是农业专家;根据“获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据”得知E1是传感器;根据“平台也可以根据农业人员提供的控制信息对控制器进行远程控制”,得知E3是农业人员;根据“根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。”,得知E4是控制器。问题2:补充数据存储,给出题干关键信息,文件,数据、表、信息等名词。通过下文0层图信息得知,根据“农业专家对农作物、环境等监测数据的监控处理规则进行维护。”,可知D1是存储相关监控处理规则文件;根据“解析后将监测信息进行数据处理、可视化和存储等操作。”得知D2是监测信息文件;根据“对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储”,D3和D4分别是分析结果文件和预测信息文件。问题3:补充数据流,根据平衡原则和题干的提示。首先根据数据流图平衡原则可知,父子图不平衡,对于父图中的由加工指向实体E2的一条数据流的名称为”统计分析数据“与子图中加工P5指向实体的E2的一条数据流”统计分析结果“表示不同,根据题干说明要求从1-2子图补充,说明父图的统计分析数据=子图的分析结果+缺失的数据流构成,根据题干信息”实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。“得知由P5-E2的根据请求进行展示数据流。其余的三条需要根据题干描述,对于加工和数据存储或加工与加工之间的数据流。根据题干”根据监控处理规则对分析结果进行判定”得知存在一条有D1-P4监控规则;根据题干“实时给农业专家展示统计分析结果和预测信息”得知存在P3-P5的分析结果和P4-P5的预测结果。问题4:数据处理根据题干描述“对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。”可分为数据分析,可视化和存储三个步骤。需要注意哪三种常见的错误:黑洞、奇迹、灰洞。6.单选题某计算机系统构成如下图所示,假设每个软件的千小时可靠度R为0.95,则该系统的千小时可靠度约为( )。问题1选项A.0.95x(1-(1-0.95)2)0.95B.0.95(1-0.95)20.95C.0.952(1-0.95)0.95D.0.954(1-0.95)【答案】A【解析】本题考查的是混联模型可靠性计算。可以将图示分解为3个部分R1、R2、R3串联,整个系统可靠度为R1*R2*R3。其中R1、R3的可靠度都为R=0.95,R2的可靠度为1-(1-R)2=1-(1-0.95)2。代入表达式可得,系统最终的可靠度为0.95*(1-(1-0.95)2)*0.95,本题选择A选项。7.案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性能。现要开发-一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器 ,为节省内存空间,采用享元模式实现该程序,得到如图5-1所示的类图。图5-1 类图【C+代码】#include#includeusing namespace std;enum PieceColor BLACK, WHITE; /棋子颜色class PiecePos /棋子位置private: int x; int y;public:PiecePos(int a, int b): x(a), y(b)int getX() return x;int getY()( return y;);class Piece /棋子定义protected:PieceColor m_color; /颜色【答案】(1) virtual void Draw() =0(2) Piece*(3) Piece *(4) piece-Draw()(5) piece-Draw()8.单选题以下关于中断方式与DMA方式的叙述中,正确的是( )。问题1选项A.中断方式与DMA方式都可实现外设与CPU之间的并行在工作B.程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预C.采用DMA方式传输数据的速度比程序中断方式的速度慢D.程序中断方式和DMA方式都不需要CPU保护现场【答案】A【解析】输入/输出技术的三种方式:直接查询控制:有无条件传送和程序查询方式,都需要通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。在这种情况下CPU不做别的事情,只是不停地对外设的状态进行查询。中断方式:当I/O系统与外设交换数据时,CPU无须等待也不必查询I/O的状态,而可以抽身来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行的程序的现场,转入I/O中断服务程序的执行,完成于I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。DMA:直接寄存器存取方式,是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU正在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。9.单选题( )是对稀疏矩阵进行压缩存储的方式。问题1选项A.二维数组和双向链表B.三元组顺序表和十字链表C.邻接矩阵和十字链表D.索引顺序表和双向链表【答案】B【解析】存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够较容易地实现矩阵的各种运算。但对于稀疏矩阵而言,若用二维数组来表示,会重复存储了很多个0了,浪费空间,而且要花费时间来进行零元素的无效计算。所以必须考虑对稀疏矩阵进行压缩存储。稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,常用的三元组表的链式存储结构是十字链表。10.案例题阅读下列说明和Java代码,将应填入(n)处的字句写在题纸的对应栏内。【说明】享元(flyweight)模式主要用于减少创建对象的数量,以低内存占用,提高性能。现要开发一个网络围棋程序允许多个玩家联机下棋。由于只有一台服务器,为节内存空间,采用享元模式实现该程序,得到如图6-1所的类图。图6-1 类图【Java代码】import java.util.*:enum PieceColor BLACK,WHITE棋子颜色class PiecePos棋子位置private intx;private int y;pubic PiecePos(int a,int b)x=a;y=b;public int getX( )return x;public int getY( )return y; abstract class Piece棋子定义protected PieceColor mcolor;颜色protected Piecemopos mpos;位置public Piece(PieceColor,color PiecePos pos)m_color=color;mpos=pos;(1);class BlackPiece extends Piecepublic BlackPiece(PieceColor color,PiecePos pos)super(color,pos);public void draw ( ) System out println(draw a blackpiece); class WhitePiece extends Piecepublic WhitePiece(PieceColor color,PiecePos pos)super(color,pos);public void draw( ) System.out.println(draw a white piece); class PieceBoard棋盘上已有的棋子private static final ArrayListm_arrayPiece=new ArrayListprivate String mblackName;黑方名称private String mwhiteName;白方名称public PieceBoard(String black,String white)m_blackName=black;m_whiteName=white;一步棋,在棋盘上放一颗棋子public void SetePiece(PieceColor color,PiecePos pos)(3)piece=null;if(colorPieceColor.BLACK)放黑子piecenew BlackPiece(color,pos);获取一颗黑子Systemoutprintln(mblackName在位置(posgetX( )+,+pos.getY( )+);(4) ;else放白子piecenew WhitePiece(color,pos);获取一颗白子Systemoutprintln(m whiteName在位置(posgetX0),+pos.getYO+);(5) ;m_arrayPiece.add(piece);【答案】(1)public abstract void draw( )(2)Piece(3)Piece(4)piece.draw( )(5)piece.draw( )【解析】对于第一空,可知该空需要填写的是 Piece类里面的方法,对于其方法在图中都无法找出,可以根据其实现类(BlackPiece和WhitePiece类)来看,对应得是方法public void draw( ),又由于其在抽象类Piece里面,所以是抽象方法,需要加上关键词abstract,则为public abstract void draw( )对于第二空,可知该空填写的是动态数组Arraylist的泛型,里面填写得应该是对应的m_arrayPiece的类型,用类进行修饰,可知其属于Piece类,填写的应该是Piece对于第三空,可知该空填写的是对象创建的声明对象过程,格式应该为类名 对象名称=null,可知该对象piece对应的类是Piece(类名字母大写)对于第四空和第五空,根据注释来看,是放黑子和白子的过程,已知实例化该对象piece,具体的放黑子和白子过程,都需要调用draw()方法来指向,故 第4空和第5空填写的应该都是piece.draw( )
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!