软件设计师基础知识(选择题)模拟试卷38 (题后含答案及解析)
题型有:1.
1. (1)是操作系统中可以并发工作的基本单位,也是核心调度及资源分配的最小单位,它由(2)组成,它与程序的重要区别之一是(3)。 在SMP系统中,操作系统还提供了(4)机制,它是(5)的最小单位。
A.作业 B.过程 C.函数 D.进程
正确答案:D
2.
A.程序、数据和标识符 B.程序、数据和PCB C.程序、标识符和PCB D.数据、标识符和PCB
正确答案:B
3.
A.程序可占用资源,而它不可 B.程序有状态,而它没有 C.它有状态,而程序没有
D.它能占有资源,而程序不能
正确答案:C
4. A.约束 B.线程 C.共享 D.分时
正确答案:B
5.
A.存储器分配 B.资源分配 C.处理器分配
D.网络节点分配
正确答案:B
解析:进程是一个程序关于某个数据集的一次运行。也就是说,进程是运行中的程序,是程序的一次运行活动。相对于程序,进程是一个动态的概念,而程序是静态的概念,是指令的集合,因而进程具有动态性和并发性。进程是一个动态的概念,在操作系统中,引入数据结构PCB(进程控制块)来标记进程。PCB是进程存在的唯一标志,它描述了进程的基本情况。从进程的结构来看,进程由程序、数据和进程控制块组成。对称多处理器系统SMP是由若干同构甚至相同的处理器构成的一个系统,其操作系统提供了线程(Thread)机制以发挥多个处理器的作用。在多线程系统中,一个进程可以由一个或多个线程构成。在这种引入了线程的系统中,进程是资源分配的基本单位,而线程是处理器分配的最小单位。
6. 关于计算机体系结构及其分类,有下述说法: ①Flynn分类法根据指令流和数据流的多倍性对计算机体系结构进行分类。 ②除了Flynn分类法之外,冯泽云还提出用最大并行度对计算机体系结构进行分类。 ③计算机系统结构所解决的问题是计算机系统总体上、功能上需要解决的问题,而计算机组成要解决的是逻辑上如何具体实现的问题。 ④所有计算机系统都基于冯.诺依曼结构。 其中,正确的说法有______。
A.①②③ B.②③④ C.①②③④ D.①②④
正确答案:A 解析:计算机系统结构所解决的问题是计算机系统总体上、功能上需要解决的问题,而计算机组成要解决的是逻辑上如何具体实现的问题。例如,指令系统的确定属于计算机体系结构范畴,而指令的具体实现则属于计算机组成范畴,主存容量及编址方式的确定属于计算机体系结构范畴,而如何构成主存则属于计算机组成范畴。有许多方法对计算机系统结构进行了分类,除了Flynn分类法之外,还有其它的分类方法,例如,冯泽云提出用最大并行度对计算机体系结构进行分类。另外,可按照程序流程机制将计算机体系结构分为以下三类:(1)控制流计算机。这是通常见到的计算机,使用程序计数器(PC)来确定下一条指令的地址。指令程序流由程序员直接控制,其主存是共享的,存储区可以被多指令修改,容易产生数据相关性,对并行性不利。 (2)数据流计算机。在冯.诺依曼体系中是指令流驱动的,而数据流则是处于被动地位的,这看起来合理,但在某些时候也不尽然。相对的是数据流驱动,即一旦数据准备好,则立即开始执行相关的指令,非冯.诺依曼体系仍然在探索中,但对冯.诺依曼体系的改良也有相当好的成果,即流水线技术和并行计算机。在数据流计算机中,数据不在共享的存储器中,而是在指令间传送,成为令牌。当需要使用该数据的指令收到令牌,开始执行之后,该令牌即消失,执行的指令将执行的结果数据当做新的令牌发送。这种方式不再需要程序计数器、共享的存储器,但是需要甩于检测数据可用性的专门部件,建立、识别、处理数据令牌标记,需要时间和空间开销。在其他一些方面,数据流计算机还有一些困难需要克服。在数据流计算机中由于没有程序计数器,使得程
序的调试和诊断变得困难;没有共享的存储器,也就无法控制其分配,无法支持数组、递归等操作。 (3)归约机(Reductions Machine)。归约机又称为需求驱动,是由对一个操作结果的需求而启动的。归约机采用一种“惰性计算”的方式,操作只在另一条指令需要这个操作的结果时才执行。比如在计算5+(6×2-10)时,归约机并非先去计算6×2,而是先计算整个算式,碰到(6×2-10)再启动一个过程去计算它,最后需要计算6×2,计算后一层层退回,得到整个算术的值。由于需求驱动可减少那些不必要的求值操作,因而可以提高系统效率。归约机是一种面向函数式的语言,或以函数式语言为机器语言的机器,要有函数定义存储器和表达式存储;操作和数据合并存储。需要大容量物理存储器并采用大虚拟存储容量的虚拟存储器,来满足对动态存储分配和大容量的存储空问的需求。综上所述,可知④是错误的,其它的都正确。
7. 表达式a*(b+c)-d的后缀表达形式为(10)。 A.abcd*+- B.abc+*d- C.abc*+d- D.-+*abcd
正确答案:B
解析:一个表达式可用一棵二叉树表示,其中的叶子节点表示操作数,内部节点表示操作符或中间结果,根节点表示整个表达式的值,对此二叉树分别进行前序、中序和后序遍历,恰好为表达式的前缀表示、中缀表示和后缀表示(逆波兰式)。其中表达式的前缀和后缀表示均可以将表达式中的括号省去而不影响次序和结果。
8. 设节点x和y是二叉树中任意的两个节点,在该二叉树的先根遍历序列中x在y之前,而在其后根遍历序列中x在y之后,则x和y的关系是(17)。
A.x是y的左兄弟 B.x是y的右兄弟 C.x是y的祖先 D.x是y的后裔
正确答案:C
解析:先序遍历的递归算法定义为若二叉树非空,则依次执行如下操作:访问根节点,遍历左子树,遍历右子树。后序遍历的递归算法定义为若二叉树非空,则依次执行如下操作:遍历左子树,遍历右子树,访问根节点。
9. 给定一个有n个元素的有序线性表。若采用顺序存储结构,则在等概率前提下,删除其中的一个元素平均需要移动(47)个元素。
A.(n+1)/2 B.n/2 C.(n-1)/2 D.1
正确答案:C 解析:基于顺序存储结构的运算,插入元素前要移动元素以挪出空的存储单元,然后再插入元素;删除元素时同样需要移动元素,以填充删除而空出来的存储单元。在等概率下平均移动元素的次数分别是:
10. 软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定______ 。
A.模块间的操作细节 B.模块间的相似性 C.模块间的组成关系 D.模块的具体功能
正确答案:C 解析:软件设计通常分为概要设计和详细设计。概要设计的任务是确定软件系统的结构,进行模块划分,确定每个模块的功能、接口及模块间的调用关系。设计软件系统的结构的主要目的是确定模块间的组成关系。
11. 使用软件开发工具有助于提高软件的开发、维护和管理的效率。集成型软件开发环境通常由工具集和环境集成机制组成。这种环境应具有______。环境集成机制主要有数据集成机制、控制集成机制和界面集成机制。
A.开放性和可剪裁性 B.开放性和不可剪裁性 C.封闭性和可剪裁性 D.封闭性和不可剪裁性
正确答案:A 解析:软件开发环境是指支持软件产品开发的软件系统。集成型软件开发环境是一种把支持多种软件开发方法和开发模型、支持软件开发全过程的软件工具集成在一起的软件开发环境。这种环境通常具有开放性和可剪裁性。
12. ______不是RISC的特点。 A.指令的操作种类比较少
B.指令长度固定且指令格式较少 C.寻址方式比较少
D.访问内存需要的机器周期比较少
正确答案:D
解析:随着硬件成本的下降,人们倾向于向CPU中加入越来越多、越来越复杂的指令,于是出现了复杂指令集计算机(CISC)。但不久人们就发现,这并不是明智之举,于是出现了精简指令集计算机(RISC),这种计算机的指令结构不追求全面和复杂,而是只实现那些常用的指令。两者的比较如表1-4,所示。
13. 操作系统的主要作用是( )。 A.管理设备
B.提供操作命令 C.管理文件
D.为用户提供使用计算机的接口,管理计算机的资源
正确答案:D
解析:操作系统是计算机系统中最重要、最基本的系统软件,位于硬件和用户之间,一方面,它能向用户提供接口,方便用户使用计算机;另一方面,它能管理计算机软硬件资源,以便合理充分地利用它们。操作系统应具有以下几个主要功能。 (1)处理机管理:对处理器的管理可以归结为对进程和线程的管理,包括:进程控制和管理;进程同步和互斥;进程通信;进程死锁;处理器调度,又分高级调度,中级调度,低级调度等;线程控制和管理。 (2)存储管理:存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑。存储管理的主要功能包括:存储分配;存储共享;存储保护;存储扩充。 (3)设备管理:设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率;设备管理应该具有以下功能:提供外围设备的控制与处理;提供缓冲区的管理;提供外围设备的分配;提供共享型外围设备的驱动;实现虚拟设备。 (4)文件管理:上述三种管理是针对计算机硬件资源的管理。文件管理则是对系统的信息资源的管理。文件管理要完成以下任务:提供文件逻辑组织方法;提供文件物理组织方法;提供文件的存取方法;提供文件的使用方法;实现文件的目录管理;实现文件的存取控制;实现文件的存储空间管理。 (5)网络与通信管理:联网操作系统至少应具有以下管理功能:网上资源管理功能;数据通信管理功能;网络管理功能。 (6)用户接口:为了使用户能灵活、方便地使用计算机和操作系统,操作系统还提供了一组友好的用户接口,包括程序接口,命令接口,图形接口等。
14. 虚拟内存是(21)。
A.可提高计算机运算速度的设备 B.容量扩大了的主存实际空间 C.通过SPOOLING技术实现的
D.可以容纳总和超过主存容量的多个作业同时运行的一个地址空间
正确答案:D
解析:虚拟内存是利用操作系统本身的一个其容量比主存大得多的存储器,实际上是一个地址空间。 基于局部性原理,应用程序在运行之前并不必全部装入内存,仅需要将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。当要执行的指令或访问的数据不在内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。如果此时内存已满,则还需通过置换功能,将内存中暂时不用的程序或数据调至盘上,腾出足够的内存空间后,再将要访问的程序或数据调入内存,使程序继续执行。 这样便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入更多的进程使它们并发执行。从用户的角度看,该系统具有的内存容量比实际的内存容量大得多,将这种具有请求调入功能和置换功能,并能从逻辑上对内存容量加以扩充的存储器系统称为虚拟内存。 总而言之,虚拟内存实际上就是将
内存和外存统一管理,虚拟内容的容量取决于计算机的地址结构和外存容量。 知识模块:操作系统
15. 下列选项中,不属于可用性子特性的是(7)。 A.可理解性 B.易学性 C.依从性 D.可操作性
正确答案:C
解析:本题主要考查ISO/IEC9 126的软件质量模型。其6个质量特性和21个质量子特性是我们要理解的内容。 (1)功能性。 功能性是指与软件所具有的各项功能及其规定性质有关的一组属性,包括: ①适合性:与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。适合程度的例子是面向任务系统中由子功能构成的功能是否合适、表容量是否合适等。 ②准确性:与能否得到正确或相符的结果或效果有关的软件属性。此属性包括计算值所需的准确程度。 ③互操作性(互用性):与同其他指定系统进行交互的能力有关的软件属性。为避免可能与易替换性的含义相混淆,此处用互操作性(互用性)而不用兼容性。 ④依从性:使软件遵循有关的标准、约定、法规及类似规定的软件属性。 ⑤安全性:与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。 (2)可靠性。可靠性是指在规定运行条件下和规定时间周期内,与软件维护其性能级别的能力有关的一组属性。可靠性反映的是软件中存在的需求错误、设计错误和实现错误而造成的失效情况,包括: ①成熟性:与由软件故障引起失效的频度有关的软件属性。 ②容错性:与在软件故障或违反指定接口的情况下,维持规定的性能水平的能力有关的软件属性。指定的性能水平包括失效防护能力。 ③可恢复性:与在失效发生后,重建其性能水平并恢复直接受影响数据的能力以及为达此目的所需的时间和努力有关的软件属性。 (3)可用性。 可用性是指根据规定用户或隐含用户的评估所作出的与使用软件所需要的努力程度有关的一组属性,包括: ①可理解性:与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。 ②易学性:与用户为学习软件应用(如运行控制、输入、输出)的努力有关的软件属性。 ③可操作性:与用户为操作和运行控制的努力有关的软件属性。 (4)效率。 效率是指在规定条件下,与软件性能级别和所用资源总量之间的关系有关的一组属性。包括: ①时间特性:与软件执行其功能时响应和处理时间以及吞吐量有关的软件属性。 ②资源特性:与在软件执行其功能时所使用的资源数量及其使用时间有关的软件属性。 (5)可维护性。 可维护性是指与对软件进行修改的难易程度有关的一组属性,包括: ①可分析性:与为诊断缺陷或失效原因及为判定待修改的部分所需努力有关的软件属性。 ②可改变性:与进行修改、排除错误或适应环境变化所需努力有关的软件属性。 ③稳定性:与修改所造成的未预料结果的风险有关的软件属性。 ④可测试性:与确认已修改软件所需的努力有关的软件属性。此子特性的含义可能会被研究中的修改加以改变。 (6)可移植性。 可移植性是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。包括: ①适应性:与软件无须采用为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。 ②可安
装性:与在指定环境下安装软件所需努力有关的软件属性。 ③遵循性(一致性):使软件遵循与可移植性有关的标准或约定的软件属性。 ④可替换性:与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。为避免可能与互操作性(互用性)的含义相混淆,此处用可替换性而不用兼容性。特定软件的可替换性并不隐含此软件可由所考虑的软件所替代。可替换性可能包含可安装性和适应性这两个属性。由于此概念的重要性,它已被采用作为一个的子特性。 知识模块:软件工程
16. 下列选项中,不属于可用性子特性的是( )。 A.可理解性 B.易学性 C.依从性 D.可操作性
正确答案:C
解析:本题主要考查:ISO/IEC9126的软件质量模型。其6个质量特性和21个质量子特性是我们要理解的内容。(1)功能性。功能性是指与软件所具有的各项功能及其规定性质有关的一组属性,包括:适合性:与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。适合程度的例子是面向任务系统中由子功能构成的功能是否合适、表容量是否合适等。准确性:与能否得到正确或相符的结果或效果有关的软件属性。此属性包括计算值所需的准确程度。互操作性(互用性):与同其他指定系统进行交互的能力有关的软件属性。为避免可能与易替换性的含义相混淆,此处用互操作性(互用性)而不用兼容性。依从性:使软件遵循有关的标准、约定、法规及类似规定的软件属性。安全性:与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。(2)可靠性。可靠性是指在规定运行条件下和规定时间周期内,与软件维护其性能级别的能力有关的一组属性。可靠性反映的是软件中存在的需求错误、设计错误和实现错误而造成的失效情况,包括:成熟性:与由软件故障引起失效的频度有关的软件属性。容错性:与在软件故障或违反指定接口的情况下,维持规定的性能水平的能力有关的软件属性。指定的性能水平包括失效防护能力。可恢复性:与在失效发生后,重建其性能水平并恢复直接受影响数据的能力以及为达此目的所需的时间和努力有关的软件属性。(3)可用性。可用性是指根据规定用户或隐含用户的评估所作出的与使用软件所需要的努力程度有关的一组属性,包括:可理解性:与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。易学性:与用户为学习软件应用(如运行控制、输入、输出)的努力有关的软件属性。可操作性:与用户为操作和运行控制的努力有关的软件属性。(4)效率。效率是指在规定条件下,与软件性能级别和所用资源总量之间的关系有关的一组属性。包括:时间特性:与软件执行其功能时响应和处理时间以及吞吐量有关的软件属性。资源特性:与在软件执行其功能时所使用的资源数量及其使用时间有关的软件属性。(5)可维护性。可维护性是指与对软件进行修改的难易程度有关的一组属性,包括:可分析性:与为诊断缺陷或失效原因及为判定待修改的部分所需努力有关的软件属性。可改变性:与进行修改、排除错误或适应环境变化所需努力有关的软件属性。稳定性:与修改所造成的未预料结果的风险有关的软件属性。可测试性:与确认已修改软件所需的努力有关的软件属性。此子特性的含义可能会被研究中的修改
加以改变。(6)可移植性。可移植性是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。包括:适应性:与软件无须采用为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。可安装性:与在指定环境下安装软件所需努力有关的软件属性。遵循性(一致性):使软件遵循与可移植性有关的标准或约定的软件属性。可替换性:与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。为避免可能与互操作性(互用性)的含义相混淆,此处用可替换性而不用兼容性。特定软件的可替换性并不隐含此软件可由所考虑的软件所替代。可替换性可能包含可安装性和适应性这两个属性。由于此概念的重要性,它已被采用作为一个的子特性。
17. 在新旧系统转换的过程中,在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为(12)。
A.位置转换 B.直接转换 C.并行转换 D.分段转换
正确答案:D 解析:本题主要考查系统转换的概念。 新老系统之间的转换有三种方式:直接转换、并行转换和分段转换。下面详细介绍这三种转换各自的特点。 直接转换就是在确定新系统运行无误时,立刻启用新系统,终止老系统运行。这种方式对人员、设备费用很节省,一般适用于处理过程不太复杂、数据不很重要的场合。 并行转换是让新老系统并行一段时间,经过一段时间的考验以后,新系统正式替代老系统。对于较复杂的大型系统,它提供了一个与老系统运行结果进行比较的机会,可以对新老两个系统并行工作,消除了尚未认识新系统时的紧张和不安。在银行、财务和一些企业的核心系统中,这是一种经常使用的转换方式。它的主要特点是安全、可靠,但费用和工作量都很大,因为在相当的长时间内系统要两套班子并行工作。 分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是以上两种转换方式的结合。在新系统全部正式运行前,一部分一部分地代替老系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。这种方式既保证了可靠性,又不至于费用太大。但是这种分段转换要求子系统之间有一定的性,对系统的设计和实现都有一定的要求,否则就无法实现分段转换的设想。 由此可以看出题目所说的“在新系统全部正式运行前,一部分一部分地代替旧系统的策略”是分段转换。 知识模块:软件工程
18. 下列模式中,属于行为模式的是(25)。 A.原型模式 B.访问者模式 C.桥接模式 D.以上都不是
正确答案:B
解析:设计模式可以分为创建型、结构型和行为型模式。其中,创建型模式
对类的实例化过程进行了抽象,能够使软件模块做到与对象的创建和组织无关;结构型模式描述类和对象之间如何进行有效的组织,以形成良好的软件体系结构,主要的方法是使用继承关系来组织各个类,一个最容易的例子就是如何用多个继承组织两个以上的类,结果产生的类结合了父类所有的属性,结构型模式特别适用于和的类库一起工作;行为型设计模式描述类和对象之间如何交互以及如何分配职责,实际上它所牵涉的不仅仅是类或对象的设计模式,还有它们之间的通信模式。 常见的创建型模式主要有工厂方法(Factory Method)、抽象工厂(Abstract Factory)、单例(Singleton)、构建(Builder)、原型(Prototype)模式;结构型模式有适配器(Adapter)、合成(Composite)、装饰(Decorator)、代理(Proxy)、享元(Flyweight)、门面(Facade)、桥接(Bridge)模式;行为型模式有策略(Strategy)、模板方法(Template Method)、迭代器(Iterator)、责任链(Chain of Responsibility)、命令(Command)、备忘录(Memento)、状态(State)、访问者(Visitor)、解释器((Interpreter)、调停者(Mediator)、观察者(Observer) 模式。 知识模块:面向对象方法
19. ( )除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。
A.框架 B.标准库 C.函数库 D.类库
正确答案:A 解析:本题考查面向对象方法学的类库及框架知识。大量的程序员都尽可能多地利用现有的代码。程序员经常购买那些包装成库的代码。当C语言流行时,代码库就是函数库。例如,可以购买一个数学库,该库含有完成微积分和代数运算的函数。通常,可以在程序代码中使用一个包含文件来指定一个函数库,可以静态或动态地链接这个函数库。静态链接意味着库代码直接集成到程序中。在这种情况下,程序不依赖于其他文件,但文件的大小可能很大。动态链接意味着程序有库的版本信息,其代码存放于一个单独的文件中,这个文件称为动态链接库(DLL)。只有程序运行期间调用DLL中的函数时,才加载DLL到内存。DLL作为一个的实体存在于内存中,可以同时被多个程序访问。 出现C++后,函数库转变为类库。两者的区别在于函数库只包含一系列函数,而类库是用面向对象编程的原理设计的。例如,可以为数据结构做一个类库,该库包括一个链接列表的类。如果使用一个函数库代替,那么链接列表会于操作它的函数。另一方面,使用类库时,链接列表和操作它的函数存在于同一个文件的同一个类中。然而,正如使用函数库一样,使用类库涉及包含文件和链接一个静态库。最近,已经从类库发展到模板库。其原因是C++编译器现在已经能够处理C++模板。模板库提供了一系列优于类库的优点。要使用模板库,只要在程序中加入包含文件即可,不用链接到库,因为所有的库代码已经包含在该包含文件中了。Visual C有三个供开发者使用的库:一个类库(MFC),两个模板库(ATL和STL)。 框架是对于那些试图在所关心的领域构造一个复杂软件系统的用户而言的。因为它是处于特定领域中,所以应用系统的体系结构在许多不同的方面具有一定的相似性。框架利用一系列的对象和它们之间的接口来对应静态和恒定结构的端口,并
保留友好界面使用户能够很容易完成变化的、不稳定的剩余部分而得到一个新应用程序。任何框架都是特定领域的框架,一个框架可以包含一个或多个模式。 框架是一种软件重用技术,是一个应用软件系统的部分或整体的可重用设计。框架的具体表现为一组抽象类以及其实例(对象)之间的相互作用方式。它是对于一个软件系统的全部或部分的可复用设计。 在一个专用领域内构造框架时,把握框架的共同点是关键因素。框架一旦被建立,其适应性和可扩展性就被提到了首要地位。框架的直接目的是被复用,以减少建立一个新应用系统的工作量。只有当理解一个框架的代价少于建立一个新系统的代价时,框架的复用才成为可能。构造框架是一个逐渐积累的过程,就是说不断有新发现的共同点和新的构件被加入,同时那些老的、不必要的部件被删除,以此来保证整个应用系统的性能,这样新旧构件之间的接口直接影响框架的适应性和可扩展性。任何框架都不能被直接复用,除非要建立的应用系统非常简单或与框架极为相似,除此之外,都要对框架进行或多或少的修改和扩展才能被复用。 框架和类库的一些主要区别与联系如下: ①在类库中是由用户实例化抽象类,类库构件被单独使用;而在框架中要有抽象类的一些具体子类,应用软件开发者通过修改现存的类或定义新的子类以扩展现存的类来使用框架。 ②在类库中是用户在需要的时候调用函数,不预定义控制流;而框架使用了与用户之间的反向控制流,使用框架时,通常只是实现一些回调函数或使一些类适用于上下文,然后调用一个单一的方法或过程,框架将完成其余的工作,在适当的时候和地点调用必要的函数或方法。这就是框架的Hollywood法则(“Don’t call us,w’ll call you”)。 ③使用类库只需要了解类的外部接口,但必须要定义应用软件的整体结构;而框架的使用者要了解框架的抽象设计和类的内部结构来进行修改和扩展,因此学习框架要比类库更加困难,同时有被错误使用的危险,但框架被复用的潜力大大超过了类库。 ④在类库中没有定义缺省行为,而在框架中提供缺省行为。
20. ( )用于将显卡、声卡、网卡和硬盘控制器等高速外围设备直接挂在CPU总线上。
A.STD总线 B.交叉开关 C.PCI总线
D.Centronic总线
正确答案:C
解析:STD总线是一种规模最小、面向工业控制的8位系统总线,支持多处理器系统。1978年Pro-Log公司将STD总线作为工业标准推出,随后被批准为国际标准IEEE 961,是一种很老的总线。按STD总线标准设计的模块式工控机,采用小板结构,每种模板功能单一,有CPU模板、内储模板、键盘显示模板、串行接口模板、A/D转换模板、D/A转换模板等,按扩展要求可选用其中几块模板,并支持多个CPU模板,非常灵活、方便、可靠。交叉开关将各个CPU连接成动态互连网络,组成多处理机系统。PCI(Peripheral Component Interconnect,外部组件互连)总线用于将显卡、声卡、网卡和硬盘控制器等高速外围设备直接挂在CPU总线上,其负责CPU和外围设备的通信。 集群系统是一种多处理机系统。集群系统一般使用局域网将一组高性能工作站或者高档PC按一定结构连接起来,并在并行程序设计及可视化人机交互集成开发环境支
持下,统一调度、协同处理,实现高效并行处理。 我们知道,通过插在PCI插槽上的网卡可以组建局域网,所以,通过PCI总线是可以组建多处理机系统。 Centronie总线属于外部总线,它的接口是一种打印机并行接口标准,用于将计算机与打印机等外设相连接。
21. 下列描述中,正确的是( )。
A.采用原码表示法,可以保证运算过程与手工运算方法保持一致 B.采用补码表示法,其目的是为了简化计算机运算部件的设计 C.正数的原码与补码是不一样的
D.采用补码表示法,可以提高数据的运算精度
正确答案:B 解析:本题主要考查对数据不同编码方式的理解,最为常见数据编码方式有原码、反码、补码、移码。其中一个正数的原码、补码、反码是相同的,负数则不同。补码和移码的正负零是同一种编码,原码和反码则不是。 另外,各类运算都等可以采用补码进行,特别是对于有符号数的运算。在计算机中设计补码的目的一是为了使符号位能与有效值部分一起参加运算,从而简化运算规则,使运算部件的设计更简单;二是为了使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。因此在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。
22. 设计一个地图导航系统,使其能根据用户需求缩放地图并自动搜索路径,最适合的地图数据应该是( )。
A.真彩色图像 B.航拍图像 C.矢量化图形
D.高清晰灰度图像
正确答案:C 解析:本题考查矢量化图形和位图的基本知识。矢量化图形保存最少的信息,文件大小比位图要小,并且文件大小与物体的大小无关。可以无限地放大这个图,它仍然保持平滑,所表达物体的运动、缩放、旋转和填充等都不会降低绘制的精度。在本题中,题目要求是要制作一个地图导航系统,那么肯定就会涉及图的放缩等操作,所以矢量化图形是最适合电子地图的基本信息格式。
23. 某软件公司研发的教学管理系统在行业中处于技术领先,具有很强的市场竞争优势。为确保其软件产品的技术领先及市场竞争优势,公司采取相应的保密措施,以防止软件技术秘密的外泄。并且,还为该软件产品冠以“好用”商标,但未进行商标注册。在此情况下,公司仅享有该软件产品的( )。
A.软件著作权和专利权 B.商业秘密权和专利权 C.软件著作权和商业秘密权 D.软件著作权和商标权
正确答案:C 解析:软件著作权是指软件的开发者或其他权利人依据有关著作权法律的规定,对于软件作品所享有的各项专有权利。它不需要申请即可拥有。 软件专利权是指通过申请专利对软件的设计思想进行保护的一种方式,而非对软件本身进行的保护,我国在专利保护上,实行先申请制度,即谁申请在先,谁就享有该专利权,本题中由于公司没有申请专利,因此不具有专利权。 软件商标权是指商标主管机关依法授予商标所有人对其注册商标受国家法律保护的专有权,在我国,商标权的获得必须履行商标注册程序,而且实行申请在先原则,即谁先申请,谁拥有该商标权。 商业秘密一般是指不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息和经营信息。 综上所述,我们可知公司仅享有该软件产品的软件著作权和商业秘密权。
24. 某算法的时间复杂度可用递归式表示,若由Θ表示,则正确的是______。 A.Θ(nlog56) B.Θ(n2) C.Θ(n)
D. Θ(nlog65)
正确答案:A 解析:a=6,b=5,f(n)=n,logba=1.113,存在ε=0.113,使得f(n)=O(nlogba-ε),因此T(n)=Θ(nlogba)=Θ(nlog56)。 知识模块:算法设计和分析
25. 在面向对象软件开发中,封装是一种_______技术,其目的是使对象的使用者和生产者分离。
A.接口管理 B.信息隐藏 C.多态 D.聚合
正确答案:B
解析:封装是面向对象的三大要素之一。面向对象软件开发中,通过类将数据(属性)和函数(行为)封装在一起,在类中通过设定访问权限,实现对信息的隐藏或公开,隐藏类的内部实现,留下一些接口与外界进行信息交换。 知识模块:面向对象技术
26. _______指可以不经著作权人许可,不需要支付报酬,使用其作品。 A.合理使用 B.许可使用
C.强制许可使用 D.法定许可使用
正确答案:A
解析:著作权的合理使用属于著作权的一种,它是指自然人、法人或者其他组织为了个人欣赏、评论、新闻报道、教学与学术研究以及公益事业等目的,
根据著作权法的规定,可以不经过作者同意而使用其已经发表的作品,不需要向其支付报酬。合理使用的对象是已经发表的作品。合理使用应尊重作者的人身权利,应当指明作者姓名、作品名称,并且不得影响作品的正常使用,也不得不合理损害著作权人的合法利益。合理使用成立的条件都是由法律予以规定的,因此可以说合理使用也是一种特别的法定许可使用。 许可使用是指软件著作权人或权利合法受让者,通过合同方式许可他人使用其软件,并获得报酬的一种软件贸易形式。法定许可使用和强制许可使用都属于许可使用。法定许可,是指由法律规定使用他人作品时,不需要征得著作权人的同意,但需要向著作权人支付报酬。强制许可,是指在著作权人无正当理由而拒绝与使用人达成使用作品的协议时,被拒绝人可以向法定部门申请并获得授权使用作品,但是应当尊重著作权人的人身权利,并且支付报酬。 知识模块:标准化和软件知识产权基础知识
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务