20xx上半年软件设计师模拟试题二上午答案word版(编辑修改稿)内容摘要:

属于自下而上分析法,而递归下降法属于自上而下分析法。 LR 分析法主要有SLR(1)、 LR(0)、 LR(1)和 LALR(1)等 4 种,其中 LR(1)的分析能力最 强, LR(0)的分析能力最弱。 ●在面向对象技术中,类是关于一组对象的共同特性的抽象,其泛化关系是指 (34) ,聚合关系是指 (35) , (36) 是对象的特性的表现。 (34),(35) A.组合关系 B.一般与特列的关系 C.等价关系 D.以上都不对 (36) A.信息隐蔽性 B.操作和属性相分离 C.信息开发性 D.只能有限地抽象出现实世界 【解析】在面向对象技术中,类是一组相同特性的对象抽象,能对现实世界中的事物进行抽象,实现了操作和 属性的封装,信息的隐蔽性是其一个特征,其他的还有断承性和采用了发送消息的机制来实现对象间的信息交换等特性。 类属类仅描述了适用于一组类型的通用样板,是关于一组类型的通用样板,是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与具体类型无关的那些部分,而用变元来表示与具体类型相关的那些部分。 ●实体联系模型 (简称 ER 模型 )中的基本语义单位是实体和联系。 ER 模型的图形表示称为ER 图。 联系可以同 (37) 实体有关。 实体与实体之间的联系可以是 (38)。 利用 ER 模型进行数据库的概念设计,可以分 成 3 步:首先设计局部 ER,然后把各个局部ER 模型综合成一个全局的模型,最后对全局 ER模型进行 (39) ,得到最终的 ER模型。 ER 模型向关系模式的转换规则是把一个实体类型转换成一个关系模式,实体的属性是关系的属性,实体的键是关系的键。 把一个联系类型转换成一个 (40) ,参与该联系类型的各实体的键以及联系的属性转换 (41) ,其中的键由实体与实体之间的联系决定。 (37) A. 0 个 B. 1 个或多个 C. 1 个 D.多个 (38) A.一对一和一对多 B.一对一和 多对多 C.一对多和多对多 D.一对一、一对多和多对多 (39) A.简化 B.结构化 C.最小化 D.优化 (40) A.联系模式 B.数据模式 C.关系模式 D.逻辑模式 (41) A.联系属性 B.关系的属性 C.数据属性 D.关系的候选键 ●设散列函数为 h(key)=key%101,解决冲突的方法为线性探查,表中用 1表示空单元。 若删去散列表 HT 中的 304(即令 HT[1]=1)之后,在表 HT 中查找 707 将会 发生 (42) 若将删去的表项标记为 2,查找时探查到 2 继续向前搜索,探查到 1 时终止搜索。 用这种方法删去 304 后 (43) 正确地查找到 707。 (42) A. 707 不在表中的结论 B. 707 在表中的结论 C. 707 的位置不确定 D.以上都不对 (43) A.能 B.不能 C.不确定 D.随机 【解析】①若令 HT[1]=1=1,因为 h(707)=0,那么从 HT[0]开始查找,当搜索到 HT[1]时,因 HT[1]=1 将得到 707 不在表中的错误 结论。 ②用第 2 种方法可正确探查到 707。 ●已知一个线性表 (38, 25, 74, 63, 52, 48),假定采用 h(k)=k%6 计算散列地址进行散列存储,若用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为 (44)。 (44) A. B. C. 2 D. 【解析】用散列函数 n(k)=k%6 计算得到散列地址见表 2。 用线性探测的开放定址法处理冲突所构造得到的散列表见表 3。 该散查找次数列表的平均查找长度为 (1 3+2 3)/ 6=。 ●对含有 n 个互不相同元素的集合,同时找最大元和最小元至少需要 (45) 次比较。 (45) A. 2n B. 2(n1) C. n1 D. n+1 【解析】按照下面的顺序查找算法,如果初始序列递增有序,则只需比较, n1 次;如果初始序列递减有序,则需比较 2(n1)次。 因此,对含有 n个互不相同元素的集合,同时找最大元和最小元至少需要比较 n1 次,最多需要比较 2(n1)次。 max=min=r[ 0] .key; for(i=1; in; i++) if(r[ i] .keymax) max=r[ i] .key; else if(r[ i] .keymin) min=r[ i] .key; ●直接选择排序的平均时间复杂度为 (46)。 (46) A. O(n) B. O(nlogn) C. O(n2) D. O(logn) 【解析】本题主要考查排序算法的时间复杂度。 排序算法的时间复杂度是用元素的平均比较次数和元素的平均移动次数来衡量的,它是评价排序算法的主要标准。 ●设计高质量的软件是软件设计追求的一个重要目标。 可移植性、可维护性、可靠性、 效率、可理解性和可使用性等都是评价软件质量的重要方面。 可移植性反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程度。 为了提高软件的可移植性,应注意提高软件的 (47)。 可维护性通常包括 (48)。 通常认为,软件维护工作包括改正性维护、 (49) 维护和 (50) 维护。 其中 (49) 维护则是为了扩充软件的功能或提高原有软件的性能而进行的维护活动。 (51) 是指当系统万一遇到未预料的情况时,能够按照预定的方式做合适的 处理。 (47) A.使用方便性 B.简洁性 C.可靠性 D.设备不依赖性 (48) A.可用性和可理解性 B.可修改性、数据独立性和数据一致性 C.可测试性和稳定性 D.可理解性、可修改性和可测试性 (49) A.功能性 B.扩展性 C.合理性 D.完善性 (50) A.合理性 B.完善性 C.合法性 D.适应性 (51) A.可用性 B.正确性 C.稳定性 D.健壮性 【解析】软件的 可移植性是指把程序从一种硬件配置或软件系统环境转移到另一种配置和环境时,需要的工作量的多少。 提高软件可移植性的关键在于提高软件的设备无关性,即设备不依赖性。 软件的可维护性通常包括可理解性、可修改性和可测试性。 按照每次维护的具体目标,软件维护工作可分为 3 类:改正性维护、完善性维护和适应性维护。 改正性维护的目的在于纠正开发期间未能发现的错误。 由于软件测试的不彻底性,任何大型软件在交付使用后都会发现一些潜藏的错误,对它们进行的诊断和改正就称为改正性维护,改正性维护约占总维护量的 20%。 完善性维护指的是任何软件,无 论是应用软件还是系统软件,在使用期间都要不断改善,加强产品的功能和性能,以满足用户日益增长的需求,提高自己产品的市场竞争力。 刚投入使用的是第 1版,以后就可能不断升级为第 2版、第 3版等,在整个维护工作量中,完善性维护所占比重最大,约占 50%~ 60%。 适应性维护是指软件为适应运行环境的变化而进行的一种维护,如硬件或支撑软件 (如操作系统升级 )改变引起的变化,将软件移植到其他的运行平台上等,这类维护大约占总维护量的 25%。 软件的健壮性是指在硬件发生故障、输入的数据无效或操作错误等意外环境下,即系统遇到未预料的情况时 ,系统。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。