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

上传人:住在山****ck 文档编号:103701427 上传时间:2022-06-09 格式:DOCX 页数:5 大小:22.19KB
收藏 版权申诉 举报 下载
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷6(附带答案详解)_第1页
第1页 / 共5页
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷6(附带答案详解)_第2页
第2页 / 共5页
职业考证-软考-软件设计师考试易错、难点名师剖析押密卷6(附带答案详解)_第3页
第3页 / 共5页
资源描述:

《职业考证-软考-软件设计师考试易错、难点名师剖析押密卷6(附带答案详解)》由会员分享,可在线阅读,更多相关《职业考证-软考-软件设计师考试易错、难点名师剖析押密卷6(附带答案详解)(5页珍藏版)》请在装配图网上搜索。

1、书山有路勤为径,学海无涯苦作舟! 住在富人区的她职业考证-软考-软件设计师考试易错、难点名师剖析押密卷(附带答案详解)一.综合题(共10题)1.案例题生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明A,B:两

2、个字符数组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符号表示,

3、两个字符串的长度分别用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.单选题设用线性探查法解决冲突构造哈希表,且哈希函数为H(key)=key%m,若在该哈希表中查找某关键字e是成功的且与多个关键字进行了比较,则( )。问题1选项A.这些关键字形成一个有序序列B.这些关键字都不是e的同义词C.这些关键字都是e的同义词D.这

4、些关键字的第一个可以不是e的同义词【答案】D【解析】本题是对哈希查找表的考查。关键字e的同义词,指的是其他关键字利用哈希函数进行求值时,得到的函数结果与e是一致的,此时这些关键字就是e的同义词。在哈希表查找关键字e时成功且经过多次比较,可以知道经过计算e的位置,此时该位置存放的并不是关键字e,并且这些关键字的顺序与原序列顺序相关,与大小无关,A选项有序序列说法不正确。由于本题采用的线性探测法解决哈希冲突,此时该位置对同义词开放,对非同义词也是开放的,也就是说,其他非同义关键字在使用线性探测法解决冲突时,也有可能直接占据该位置。所以对该位置进行比较的关键字,可能是e的同义词,也可能不是e的同义词

5、,B和C的说法太过绝对,相比而言D的说法更合适,本题选择D选项。3.单选题进行面向对象系统设计时,在包的依赖关系图中不允许存在环,这属于( )原则。问题1选项A.单一责任B.无环依赖C.依赖倒置D.里氏替换【答案】B【解析】本题考查的是面向对象设计原则相关内容。单一责任原则:设计目的单一的类。无环依赖原则:在包的依赖关系图中不允许存在环,即包之间的结构必须是一个直接的无环图形。本题描述的是B选项。依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。里氏替换原则:子类可以替换父类。4.案例题阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】凸多边

6、形是指多边形的任意两点的连线均落在多边形的边界或内部。相邻的点连线落在多边形边界上,称为边;不相邻的点连线落在多边形内部,称为弦。假设任意两点连线上均有权重,凸多边形最优三角剖分问题定义为:求将凸多边形划分为不相交的三角形集合,且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。假设N个点的凸多边形点编号为V1,V2,VN,若在VK处将原凸多边形划分为一个三角形V1VkVN,两个子多边形V1,V2,Vk和Vk,Vk+1,VN,得到一个最优的剖分方案,则该最优剖分方案应该包含这两个子凸边形的最优剖分方案。用mij表示带你Vi-1,Vi,Vj构成的凸多边形的最优剖分方案的权重,Si

7、j记录剖分该凸多边形的k值。则其中:W(Vi-1VkVj)=Wi-1,kWk,jWj,i-1为三角形Vi-1VkVj的权重,Wi-1,k,Wk,j,Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖分的权重及对应的三角形集。C代码includestdio.hdefine N 6 /凸多边形规模int mN1 N1; /mij表示多边形Vi-1到Vj最优三角剖分的权值int SN1 N1; /Sij记录多边形Vi-1到Vj最优三角剖分的k值int WN1 N1; /凸多边形的权重矩阵,在main函数中输入/*三角形的权重a,b,c,三角形的顶点下标*/int get

8、_ triangle_weight(int a,int b,int c) return WabWbcWca;/*求解最优值*/void triangle_partition()int i,r,k,j;int temp;/*初始化*/for(i=1;i /*r为子问题规模*/ for(i=1;k (2); mij= mij+mi+1j+get_triangle_weight(i-1,i,j); /*k=j*/ Sij=i; for(k=j+1;k /*计算 ij的最小代价*/ temp=mik+mk+1j+ge_triangle_ weight(i-1,k,j); if(3) /*判断是否最小值

9、*/ mij=temp; Sij=k; /*输出剖分的三角形i,j:凸多边形的起始点下标*/void print_triangle(int i,int j)if(i=j) return;print_triangle(i,Sij);print_ triangle(4);print(“V%d- -V%d- -V%dn“,i-1,Sij,j);【问题1】(8分)根据题干说明,填充C代码中的空(1)(4)。【问题2】(7分)根据题干说明和C代码,该算法采用的设计策略为(5)。算法的时间复杂度为(6),空间复杂度为(7)(用O表示)【答案】【问题1】(8分)(1)i3)(7)O(n2)【解析】本题考查的

10、是凸多边形最优三角剖分动态规划设计过程。本题算法难度较大,在没有理解算法过程的前提下,首先可以根据相关信息进行部分填空。首先根据题干描述出现的将问题规模从k开始截断,此时其实就是“最优子结构”的说法,并且本题出现了递归式的应用,是典型的动态规划法的应用。又根据题目中的代码,出现了三层嵌套for循环,此时代码的时间复杂度为O(n3)。本题用到的辅助空间记录中间解有2个数组mij和Sij,都是二维数组,空间复杂度的量级为O(n2)。最后分析代码填空部分。第(1)空,r表示的是子问题规模,规模划分已知从r=2开始,子问题最大应该能够取到N,因此本空填写r=N或其等价表示形式。第(2)空缺失的是j的初

11、始化赋值,本空较难。代码计算前边界为i,链长为r的链的后边界取值,结果为i+r-1,即本题填写j=i+r-1或其等价表示形式。第(3)空缺失判断条件,此时注释明确说明此处判断最小值,判断后,mij值进行修改并修改为temp,也就是意味着mij此时记录的不是最优解(最小值),需要进行修正改为最小,即填写tempmij 或其等价表示形式(某一个数值比最小值还小,则修改最小值)。第(4)空缺失的是打印参数,结合代码上下文进行分析,上文打印print_triangle(i,Sij);即截断的前一部分编号,下面print_ triangle(4);打印的应该是截断的后一部分,即填写sij+1,j。5.单

12、选题Python 语言的特点不包括()。问题1选项A.跨平台、开源B.编译型C.支持面向对象程序设计D.动态编程【答案】B【解析】本题考查python相关问题。python语义的特点:跨平台、开源、简单易学、面向对象、可移植性、解释性、开源、高级语言、可扩展性、丰富的库、动态编程等等综上所述B选项错误,python不是编译型语言,而是解释型语言。6.单选题在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用()模式。问题1选项A.策略(Strategy)B.访问者(Visitor)C.观察者(Observer)D.中介者(Mediator)【答

13、案】A【解析】在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,收银软件系统的计入规则有:打折、返利、满减三种不同的策略,每种策略之间封装起来,可以相互替换,使它们可以独立的变换,属于典型的策略模式。7.单选题 IPv6地址长度为( )bit。 问题1选项A.16B.32C.64D.128【答案】D【解析】本题考查IPv6的基本概念。IPv6地址由128位二进制表示。8.案例题阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可

14、能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,得到如图6-2所示的类图层叠菜单(如图6-1示例)暂缺 图6-2 类图import java.util.*;abstract class MenuComponent / 构成层叠菜单的元素(1) String name; / 菜单项或子菜单名称public viod printName() System.out.println(name); public (2) ;public abstract boolean removeMenuElement(MenuComponent elem

15、ent);public (3) ;class MenuItem extends MenuComponent public MenuItem(String name) this.name=name; public boolean addMenuElement(MemuComponent element) return false; public boolean removeMenuElement(MenuComponent element) return false; public List getElement() return null; class Menu extends MemuCom

16、ponent private (4);public Menu(String name)this.name = name;this.elementList = new ArrayList;public boolean addMenuElement(MenuComponent element)return elementList.add(element);public boolean removeMenuElement(MenuComponent element)return elementList.remove(element);public List getElement() return e

17、lementList;class CompositeTest public static void main(String args) MenuComponent mainMenu = new Menu(“AB”); /此处字符不清晰,以“AB”代替原文MenuComponent subMenu = new Menu(“Chart”);MenuComponent element = new MenuItem(“On This Sheet”);(5);subMenu.addMenuElement(element);printMenus(mainMenu);private static void

18、printMenus(MenuComponent ifile)ifile.printName();List children = ifile.getElement();if(children = null) return; /打印for(MenuComponent element; children)printMenus(element);【答案】(1)protected(2)abstract boolean addMenuElement(MemuComponent element)(3)abstract List getElement()(4)ArrayList elementList(5)

19、mainMenu.addMenuElement(subMenu)【解析】本题是典型的组合模式应用。首先根据类图中name标注的为#(+表示public,-表示private,#表示protected),第(1)空对name的修饰应该是protected。然后根据抽象类和实现类的对应关系,可以补充第(2)(3)空,这两处缺失的方法根据下文代码进行补充,注意方法名必须用abstract修饰,并且注意抽象方法的写法没有具体方法体。其中第(2)空填写abstract boolean addMenuElement(MemuComponent element) ,第(3)空填写abstract List

20、getElement()。第(4)空缺失了一个属性,此时根据下文的同名构造函数会发现,此处传参给了this.name以及this.elementList,name可以根据父类继承使用,而elementList需要定义,因此此处缺失的参数是elementList,类型根据后面的赋值类型进行定义,即第(4)空填写ArrayList elementList。第(5)空是对组合模式的应用拼装,根据下文可知打印需要调用mainMenu对象,而此时该对象是独立的,需要与其他菜单进行拼装,下文中subMenu拼装了element,此处需要将subMenu拼装到mainMenu,即第(5)空填写mainMen

21、u.addMenuElement(subMenu)。9.单选题中断向量提供( )。问题1选项A.被选中设备的地址B.待传送数据的起始地址C.中断服务程序入口地址D.主程序的断点地址【答案】C【解析】属于输入输出技术的中断方式:中断向量表:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号以后,由中断控制器确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。10.单选题下列关于风险的叙述中,不正确的是( )。问题1选项A.风险是可能发生的事件B.如果能预测到风险,则可以避免其发生C.风险是可能会带来损失的事件D.对于风险进行干预,以期减少损失【答案】B【解析】风险是可能发生的事件,并且可能会带来损失,预测到风险后,可以进行干预以期减少损失,但是无法避免。B选项的描述是错误的。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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