[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷9及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷9及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 9及答案与解析 1 在 C+语言中,若类 C中定义了一个方法 int (int a, int b),那么方法 (1)不能与该方法同时存在于类 C中。 ( A) int f(int x, int y) ( B) int f(float a, int b) ( C) float f( int x, float y) ( D) int f(int x, float y) 2 下列关于一个类的静态成员的描述中,不正确的是 (5)。 ( A)该类的对象共享其静态成员变量的值 ( B)静态成员变量可被该类的所有方法访问 ( C)该类的静态方法
2、只能访问该类的静态成员变量 ( D)该类的静态数据成员变量的值不可修改 3 若对象 A可以给对象 B发送消息,那么 (6)。 ( A)对象 B可以看见对象 A ( B)对象 A可看见对象 B ( C)对象 A, B相互不可见 ( D)对象 A, B相互可见 4 类描述了一组对象共同的特性,下列叙述中正确的是 (7)。 ( A)类本身不能具有变量 ( B)对象具有类定义的所有变量的一份拷贝 ( C)对象间不能共享类定义的变量 ( D)可通过类名访问静态变量 (类变 量 ) 5 (12)表示了对象间 “is a”的关系。 ( A)组合 ( B)引用 ( C)聚合 ( D)继承 6 面向对象的测试可
3、分为四个层次,按照由低到高的顺序,这四个层次是 (13)。 ( A)类层 模板层 系统层 算法层 ( B)算法层 类层 模板层 系统层 ( C)算法层 模板层 类层 系统层 ( D)类层 系统层 模板层 算法层 7 下面关于面向对象方法中消息的叙述,不正确的是 (14)。 ( A)键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 ( B)操作系 统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 ( C)应用程序之间可以相互发送消息 ( D)发送与接收消息的通信机制与传统的子程序调用机制不同 8 面向对象技术中,对象是类的实例。对象有三种成分: (15)、属性和方法 (或操作 )
4、。 ( A)标识 ( B)规则 ( C)封装 ( D)消息 9 下列叙述中正确的是 (19)。 ( A)面向对象程序设计语言都不支持过程化的程序设计 ( B)面向对象系统只可采用面向对象程序设计语言实现 ( C)某些过程化程序设计语言也可实现面向对象系统 ( D)面 向对象程序设计语言不支持对成员变量的直接访问 10 在关于类的实例化的描述中,正确的是 (20)。 ( A)同一个类的对象具有不同的静态数据成员值 ( B)不同的类的对象具有相同的静态数据成员值 ( C)同一个类的对象具有不同的对象自身引用 (this)值 ( D)不同的类的对象具有不同的对象自身引用 (this)值 11 类的实
5、例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的是 (23)。 ( A)类层次结构 ( B)实例的个数 ( C)多态的种 类 ( D)每个实例的初始状态 12 重置的基本思想是通过 (24)机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。 ( A)静态绑定 ( B)对象引用 ( C)类型匹配 ( D)动态绑定 13 对于如图 10-2所示的 UML类图,正确的描述是 (28)。 ( A)类 B的实例中包含了对类 C的实例的引用 ( B)类 A的实例中包含了对类 B的实例的引用 ( C)类
6、A的实例中包含了对类 C的实例的引用 ( D)类 B的实例中包含了对类 A的实例的引用 14 UML中关联 的多重度是指 (29)。 ( A)一个类有多少个方法被另一个类调用 ( B)一个类的实例能够与另一个类的多少个实例相关联 ( C)一个类的某个方法被另一个类调用的次数 ( D)两个类所具有的相同的方法和属性 15 已知 3个类 A, B和 C,其中类 A由类 B的一个实例和类 C的 1个或多个实例构成。能够正确表示类 A, B和 C之间关系的 UML类图是 (30)。 ( A) ( B) ( C) ( D) 16 在面向对象软件开发过程中,采用设计模式 (44)。 ( A)允许在非面向对
7、象程序设计语言中使用面向对象的概念 ( B)以复用成功的设计和体系结构 ( C)以减少设计过程创建的类的个数 ( D)以保证程序的运行速度达到最优值 17 以下关于单身模式 (Singleton)的描述中,正确的是 (45)。 ( A)它描述了只有一个方法的类的集合 ( B)它能够保证一个类只产生一个惟一的实例 ( C)它描述了只有一个属性的类的集合 ( D)它能够保证一个类的方法只能被一个惟一的类调用 18 在 MVC(模型 /视图腔制器 )模式中,视图部分描述的是 (46)。 ( A)将应用问题域中包含的抽象领域知识呈现给用户的方式 ( B)应用问题域中所包含的抽象类 ( C)用户界面对用
8、户输入的响应方式 ( D)应用问题域中包含的抽象领域知识 19 简单无向图的邻接矩阵是对称的,可以对其进行压缩存储。若无向图 G有 n个节点,其邻接矩阵为 A1n, 1n,且压缩存储在 B1k中,则 k的值至少为(30)。若按行压缩存储对称矩阵的上三角元素,则当 n等于 10时,边 (V6, V3)的信息存储在 B(31)中。 ( A) n(n+1)/2 ( B) n2/2 ( C) (n-1)(n+1)/2 ( D) n(n-1)/2 ( A) 18 ( B) 19 ( C) 20 ( D) 21 21 为在状态空间树中 (34),可以利用 LC-检索 (Least Cost Search)
9、快速找到一个答案节点。在进行 LC-检索时,为避免算法过分偏向于作纵深检查,应该 (35)。 ( A)找出任一个答案节点 ( B)找出所有的答案节点 ( C)找出最优的答案节点 ( D)进行遍历 ( A)使用精确的成本函数 c(.)来作 LC-检索 ( B)使用广度优先检索 ( C)使用深度优先检索 ( D)进行遍历 23 己知 AOE网中顶点 v1 v7分别表示 7个事件,弧 a1 a10分别 表示 10个活动,弧上的数值表示每个活动花费的时间,如图 8-9所示。那么,该网的关键路径的长度为 (40),活动 a6的松弛时间 (活动的最迟开始时间 活动的最早开始时间 )为 (41)。 ( A)
10、 7 ( B) 9 ( C) 10 ( D) 11 ( A) 3 ( B) 2 ( C) 1 ( D) 0 25 类比二分搜索算法,设计 k分搜索算法 (k为大于 2的整数 )如下:首先检查 n/k处 (n为被搜索集合的元素个数 )的元素是否等于要搜索的值,然后检查 2n/k处的元素 这样,或者找到要搜索的元素,或者把集合缩小到原来的 1/k;如果 未找到要搜索的元素,则继续在得到的集合上进行 k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此 k分搜索算法在最坏情况下搜索成功的时间复杂度为 (53),在最好情况下搜索失败的时间复杂度为 (54)。 ( A) O(logn) ( B) O(
11、nlogn) ( C) O(logkn) ( D) O(nlogkn) ( A) O(logn) ( B) O(nlogn) ( C) O(logkn) ( D) O(nlogkn) 一、主观题 27 阅读下列说明及 UML类图,回答问题 1、问题 2和问题 3。 【说明】 某客户信息管理系 统中保存着两类客户的信息: (1)个人客户。对于这类客户,系统保存了其客户标识 (由系统生成 )和基本信息 (包括姓名、住宅电话和 E-mail)。 (2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识 (由系统生成 )之外,也保存了其联系人的信息。联系人的信息包
12、括姓名、住宅电话、 E-mail、办公电话及职位。 该系统除了可以保存客户信息之外,还具有以下功能: 向系统中添加客户 (addCustomer)。 根据给定的客户标识,在系统中查找该客户 (getCustomer)。 根据给定的客户标识,从系统中删除该客户(removeCustomer)。 创建新的联系人 (addContact)。 在系统中查找指定的联系人 (getComact)。 从系统中删除指定的联系人 (removeContact)。 该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表 3-1所示的类。描述该客户信息管理系统的 UML类图如图 3-1所示。27
13、 请使用说明中的术语,给出图 3-1中类 Customer和类 Person的属性。 28 识别关联的多重度是面向对象建模过程中 的一个重要步骤。根据说明中给出的描述,完成图中的 (1) (6)。 29 根据说明中的叙述,抽象出如表 3-2所示的方法,请指出图 3-1中的类 CustomerInformafionSystem和 InstitutionalCustomer应分别具有其中的哪些方法。30 阅读下列说明和图,回答问题 1至问题 3。 【说明】 某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司 A开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息
14、、用户租借信息等。 A公司决定采用面向对象的分析 和设计方法开发此系统。如图 3-2所示为某类图书或唱碟被借阅时应记录的信息,如图 3-3所示描述了系统定义的两个类 Book和 CD,分别表示图书和唱碟的信息。30 经过进一步分析,设计人员决定定义一个类 Items_on_loan,以表示类 Book和ED的共有属性和方法。请采用图 3-3中属性和方法的名称给出类 Items_on_loan应该具有的属性和方法 (注意:不同名称的属性和方法表示不同的含义,如 CD中的composer与 Book中的 author无任何关系 )。 31 为了记录每种图书或唱碟的历史记录, 引入类 Circula
15、tionHistory,类中存储的信息是如图 3-2所示的内容。请采用 UML表示法将下列 4个类间的关系表示出来。32 现需了解十大最畅销 (借出次数最多 )图书或唱碟。为此引入 TenPopulate类以存储所有十大畅销图书或唱碟的名称及其被借出的次数。下列顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有 (1)个 TenPopulate实例对象最合适,一个 TenPopulate类实例对象最多需要和 (2)个 Items_on_loan实例对 象交互。33 阅读下列说明和数据流图,回答问题 1和问题 3。 【说明】 某指纹门禁系统结构
16、如图 3-5所示,其主要部件有:主机 (MainFrname)、锁控器 (LockController)、指纹采集器 (FingerReader)和电控锁 (Lock)。 (1)系统中的每个电控锁都有一个唯一的编号。锁的状态有两种: “已锁住 ”和 “未锁住 ”。 (2)在主机上可以设置每把锁的安全级别及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于 “已锁住 ”状态时,才能将锁打开。 (3)用户的指纹信息、开 锁权限及锁的安全级别都保存在主机上的数据库中。 (4)用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将
17、指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于 “已锁住 ”状态,则将锁打开:否则系统报警。 该系统采用面向对象方法开发,系统中的类及类之间的关系用 UML类图表示,图 3-6是该系统类图的一部分;系统的动态行为采用 UML序列图表示,图 3-7是用户成功开锁的序列图。 33 图 3-6是该系统类图的一部分,依据 上述说明中给出的术语,给出类 Lock的主要属性。 34 依据上述说明中给出的词语,将图 3-7中的 (1) (5)处补充完整。 35 组合 (Composition)和聚集 (Aggregation)是 UML中两种非常重要的关系。请说明
18、组合和聚集分别表示什么含义 ?两者的区别是什么 ? 36 阅读下列说明及图 3-8和图 3-9,回答问题 1、问题 2和问题 3。 【说明】 某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下。 (1)浏览客户信息:任何使用 Internet的网络用户都可以浏览电话公司 所有的客户信息(包括姓名、住址、电话号码等 )。 (2)登录:电话公司授予每个客户一个账号。拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。 (3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。 (4)删除客户信息:只有公司
19、的管理人员才能删除不再接受公司服务的客户的信息。 系统采用面向对象方法进行开发,在开发过程中认定出的类如表 3-3所示。36 在需求分析阶段,采用 UML的用例图 (Use Case Diagram)描述 系统功能需求,如图 3-8所示。请指出图中的 A、 B、 C和 D分别是哪个用例 ? 37 在 UML中,重复度 (Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图 3-9所示中的类 InternetClient和 CustomerList, InternetClient端的 “0*”表示:一个 C
20、ustomerList的实例可以与 0个或多个 InternetClient的实例相关联;CustomerList端的 “1”表示:一个 InternetClient的实例只能与一个 CustomerList的实例相关。 请指出图 3-9中 (1)到 (4)处的重复度分别为多少 ? 38 类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了 4种关系:依赖 (Dependency)、概括 (Generalization)、关联 (Association)和聚集 (Aggregation)。请分别说明这 4种关系的含义,并说明关联和聚集之
21、间的主要区别。 软件水平考试(中级)软件设计师上午(基础知识)试题 章节练习试卷 9答案与解析 1 【正确答案】 A 【试题解析】 A选项中定义的方法与题中所定义的方法实质上是一样的。字母只是作为形参参与计算,用什么字母都无所谓。 已知 3个类 O, P和 Q,类 O中定义了一个私有方法 F1、一个公有方法 F2 和一个受保护的方法 F3,类 P和类 Q是类 O的派生类,其继承方式如下所示: class P: protected O) ; class Q: public O ; 2 【正确答案】 D 【试题解析】 静态成员的提出是为了解决数据共事的问题。实现共享 有许多方法,如设置全局性的变量
22、或对象。但是,全局变量或对象是有局限性的。 在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象共享的成员,而不是某个对象的成员。 使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储于一处,供所有对象共用。静态数据成员的值对每个对象都是一样的,但它的值是可以更新的。只要对静态数据成员的值更新一次,保证所有对象存取更新后的相同的值,这样可以提 高时间效率。 静态数据成员的使用方法和注意事项如下。 1静态数据成员在定义或说明时前面加关键字 static。 2静态成员初始化
23、与一般数据成员初始化不同。静态数据成员初始化的格式如下: 数据类型类名 :静态数据成员名 =值 3静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。 4引用静态数据成员时,采用如下格式: 类名 :静态成员名 静态成员函数和静态数据成员一样,它们都属于类的静态成员,它们都不是对象成员。因此,对静态 成员的引用不需要用对象名。 在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员,可通过对象来引用。 3 【正确答案】 B 【试题解析】 消息的对象间通信中指一个对象通过向另一对象发送消息来请求其服务。一个消息通常包括接收对
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 上午 基础知识 试题 章节 练习 答案 解析 DOC
