收藏 分享(赏)

2008上半年软件设计师上、下午真题word版.doc

上传人:dreamzhangning 文档编号:2724113 上传时间:2018-09-26 格式:DOC 页数:13 大小:829KB
下载 相关 举报
2008上半年软件设计师上、下午真题word版.doc_第1页
第1页 / 共13页
2008上半年软件设计师上、下午真题word版.doc_第2页
第2页 / 共13页
2008上半年软件设计师上、下午真题word版.doc_第3页
第3页 / 共13页
2008上半年软件设计师上、下午真题word版.doc_第4页
第4页 / 共13页
2008上半年软件设计师上、下午真题word版.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、 1 / 132008 上半年软件设计师上午试题 在计算机体系结构中,CPU 内部包括程序计数器 PC、存储器数据寄存器 MDR、指令寄存器 IR 和存储器地址寄存器 MAR 等。若CPU 要执行的指令为: MOV R0, #100(即将数值 100 传送到寄存器 R0 中), 则 CPU 首先要完成的操作是(1)。(1)A.100R0 B. 100MDR C. PCMAR D. PCIR 现有四级指令流水线, 分别完成取指、取数、运算、传送结果四步操作。若完成上述操作的时间依次为 9ns、10ns、6ns、8ns,则流水线的操作周期应设计为(2)ns 。(2)A. 6 B. 8 C. 9 D

2、. 10 内存按字节编址, 地址从 90000H 到 CFFFFH,若用存储容量为 16K8bit 的存储器芯片构成该内存,至少需要 (3) 片。(3)A. 2 B. 4 C. 8 D. 16 CPU 中的数据总线宽度会影响 (4) 。(4)A. 内存容量的大小 B. 系统的运算速度 C. 指令系统的指令数量 D. 寄存器的宽度 利用高速通信网络将多台高性能工作站或微型机互连构成机群系统,其系统结构形式属于 (5) 计算机。(5)A. 单指令流单数据流(SISD) B. 多指令流单数据流(MISD) C. 单指令流多数据流(SIMD) D. 多指令流多数据流(MIMD) 内存采用段式存储 管理

3、有许多优点, 但“ (6) ”不是其优点。(6)A. 分段是信息的逻辑单位,用户不可见 B. 各段程序的修改互不影响C. 地址变换速度快、内存碎片少 D. 便于多道程序共享主存的某些段 如果希望别的计算机不能通过 ping 命令测试服务器的连通情况 ,可以(7) 。如果希望通过默认的 Telnet 端口连接服务器,则下面对防火墙配置正确的是(8)。(7)A. 删除服务器中的 ping.exe 文件 B. 删除服务器中的 cmd.exe 文件C. 关闭服务器中 ICMP 端口 D. 关闭服务器中的 Net Logon 服务(8)A. B. C. D.2 / 13某银行为用户提供网上服务, 允许用

4、户通过浏览器管理自己的银行账户信息。为保障通信的安全性, 该 Web 服务器可选的协议是(9)。(9)A. POP B. SNMP C. HTTP D. HTTPS 关于软件著作权产生的时间, 表述正确的是 (10) 。(10)A. 自软件首次公开发表时 B. 自开发者有开发意图时C. 自软件得到国家著作权行政管理部门认可时 D. 自软件完成创作之日起 李某大学毕业后在学赛网销售部门工作, 后由于该公司软件开发部门人手较紧, 李某被暂调到该公司软件开发部开发新产品,2 周后, 李某开发出一种新软件。该软件著作权应归 (11) 所有。(11)A. 李某 B. 学赛网 C. 李某和学赛网 D. 软

5、件开发部 一幅灰度图像,若每个像素有 8 位像素深度, 则最大灰度数目为 (12) 。(12)A. 128 B. 256 C. 512 D. 1024 当图像分辨率为 800600,屏幕分辨率为 640480 时,(13) 。(13)A. 屏幕上显示一幅图像的 64%左右 B. 图像正好占满屏幕 C. 屏幕上显示一幅完整的图像 D. 图像只占屏幕的一部分 若视频图像每帧的数据量为 6.4MB,帧速率为 30 帧/秒,则显示 10 秒的视频信息,其原始数据量为(14) MB。(14)A. 64 B. 192 C. 640 D. 1920(15)是一种面向数据流的开发方法,其基本思想是软件功能的分

6、解和抽象。(15)A. 结构化开发方法 B. Jackson 系统开发方法 C. Booch 方法 D. UML(统一建模语言) 采用 UML 进行软件设计时,可用(16) 关系表示两类事物之间存在的特殊 /一般关系,用聚集关系表示事物之间存在的整体/部分关系。(16)A. 依赖 B. 聚集 C. 泛化 D. 实现 某项目制定的开发计划中定义了三个任务, 其中任务 A 首先开始,且需要 3 周完成,任务 B 必须在任务 A 启动 1 周后开始,且需要2 周完成 ,任务 C 必须在任务 A 完成后才能开始,且需要 2 周完成。该项目的进度安排可用下面的甘特图(17)来描述。 风险 分析在软件项目

7、开发中具有重要作用,包括风险识别、风险预测、风险评估和风险控制等。 “建立风险条目检查表”是(18) 时的活动,“描述风险的结果”是(19)时的活动。(18)(19)A.风险识别 B.风险预测 C.风险评估 D.风险控制 编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中,(20) 并不是每种编译器都必需的。(20)A. 词法分析和语法分析 B. 语义分析和中间代码生成 C. 中间代码生成和代码优化 D. 代码优化和目标代码生成 已知某文法 GS:S0S0 S1, 从 S 推导出的符号串可用 (21) (n0) 描述。(

8、21)A.(010)n B. 0n10n C. 1n D. 01n0 下列叙述中错误的是 (22) 。(22)A. 面向对象程序设计语言可支持过程化的程序设计 B. 给定算法的时间复杂性与实现该算法所采用的程序设计语言无关C.与汇编语言相比, 采用脚本语言编程可获得更高的运行效率 D.面向对象程序设计语言不支持对一个对象的成员变量进行直接访问 某火车票销售系统有 n 个售票点, 该系统为每个售票点创建一个进程 Pi (i=1,2,n)。假设 Hj (j=1,2,m)单元存放某日某车次的剩余票数,Temp 为 Pi 进程的临时工作单元,x 为某用户的订票张数。初始化时系统应将信号量 S 赋值为(

9、23)。 Pi 进程的工作流程如下,若用 P 操作和 V 操作实现进程间的同步与互斥,则图中 a、b 和 c 应分别填入 (24) 。 3 / 13(23)A. 0 B. 1 C. 2 D. 3 (24)A. P(S)、V(S) 和 V(S) B. P(S)、P(S) 和 V(S) C. V(S)、 P(S) 和 P(S) D. V(S)、V(S) 和 P(S) 在下图所示的树型文件系统中,方框表示目录,圆圈表示文件,“/”表示路径中的分隔符,“/” 在路径之首时表示根目录。图中, (25) 。假设当前目录是 A2,若进程 A 以如下两种方式打开文件 f2:方式 fd1=open( (26)

10、/f2,o_RDONLY); 方式 fd1=open(/A2/C3/f2,o_RDONLY);那么,采用方式的工作效率比方式的工作效率高。(25)A. 根目录中文件 f1 与子目录 C1、C2 和 C3 中文件 f1 一定相同 B. 子目录 C1 中文件 f2 与子目录 C3 中文件 f2 一定相同C. 子目录 C1 中文件 f2 与子目录 C3 中文件 f2 一定不同 D. 子目录 C1 中文件 f2 与子目录 C3 中文件 f2 是可能相同也可能不相同(26)A. /A2/C3 B. A2/C3 C. C3 D. f2 在某计算机中,假设某程序的 6 个页面如下图所示, 其中某指令“COP

11、Y A TO B”跨两个页面, 且源地址 A 和目标地址 B 所涉及的区域也跨两个页面。若地址为 A 和 B 的操作数均不在内存,计算机执行该 COPY 指令时,系统将产生 (27) 次缺页中断;若系统产生三次缺页中断,那么该程序应有 (28) 个页面在内存。(27)A. 2 B. 3 C. 4 D. 5 (28)A. 2 B. 3 C. 4 D. 5 极限编程(eXtreme Programming)是一种轻量级软件开发方法, (29)不是它强调的准则。(29)A. 持续的交流和沟通 B. 用最简单的设计实现用户需求 C. 用测试驱动开发 D. 关注用户反馈 学赛网采用的软件开发过程通过了

12、CMM2 认证,表明该公司 (30) 。(30)A. 开发项目成效不稳定, 管理混乱 B. 对软件过程和产品质量建立了定量的质量目标C. 建立了基本的项目级管理制度和规程, 可对项目的成本、进度进行跟踪和控制 D. 可集中精力采用新技术新方法,优化软件过程 某数据处理软件包括 2 个完全相同的数据处理部件和 1 个数据存储部件,且采用下图给出的容错方案。当数据处理部件的可靠性为 0.6 时, 为使整个软件系统的可靠性不小于 0.66,则数据存储部件的可靠性至少应为 (31)。4 / 13(31)A. 0.6 B. 0.66 C. 0.79 D. 1.0 在软件设计和编码过程中, 采取 “ (3

13、2) ”的做法将使软件更加容易理解和维护。(32)A. 良好的程序结构, 有无文档均可 B. 使用标准或规定之外的语句C. 编写详细正确的文档, 采用良好的程序结构 D. 尽量减少程序中的注释 软件维护成本在软件成本中占较大比重。为降低维护的难度, 可采取的措施有 (33) 。(33)A. 设计并实现没有错误的软件 B. 限制可修改的范围C. 增加维护人员数量 D. 在开发过程中就采取有利于维护的措施 ,并加强维护管理 软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档。其中开发文档不包括(34)。(34)A. 软件需求说明 B. 可行性研究报告 C. 维护修改建议 D. 项目开

14、发计划 软件测试是软件开发中不可缺少的活动,通常 (35) 在代码编写阶段进行。检查软件的功能是否与用户要求一致是(36) 的任务。(35)(36)A. 验收测试 B. 系统测试 C. 单元测试 D. 集成测试(37)是指把数据以及操作数据的相关方法组合在同一个单元中,使我们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度。面向对象中的(38) 机制是对现实世界中遗传现象的模拟 ,通过该机制 ,基类的属性和方法被遗传给派生类。(37)(38)A. 封装 B. 多态 C. 继承 D. 变异 (39)以静态或动态的连接方式, 为应用程序提供一组可使用的类。(40)除了提供可被应用程序调

15、用的类以外, 还基本实现了一个可执行的架构。(39)(40)A. 函数库 B. 类库 C. 框架 D. 类属 已知某子系统为外界提供功能服务, 但该子系统中存在很多粒度十分小的类, 不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用; 当不能采用生成子类的方法进行扩充时 ,可采用(42)设计模式动态地给一个对象添加一些额外的职责。(41)(42)A. Facade(外观) B. Singleton(单件) C. Participant(参与者) D. Decorator(装饰) (43)设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地

16、变化。下图为该设计模式的类图,其中,(44) 用于定义实现部分的接口。(43)A. Singleton(单件) B. Bridge(桥接) C. Composite(组合 ) D. Facade(外观)(44)A. Abstraction B. ConcreteImplementorA C. ConcreteImplementorB D. Implementor 在 UML 类图中,类与类之间存在依赖(Dependency) 、关联(Association)、聚合(Aggregation)、组合(Composition)和继承(Inheritance)五种关系, 其中,(45)关系表明类之间的

17、相互联系最弱,(46)关系表明类之间的相互联系最强,聚合(Aggregation)的标准 UML图形表示是(47)。(45)(46)A. 依赖 B. 聚合 C. 组合 D. 继承 有限自动机(FA)可用于识别高级语言源程序中的记号( 单词),FA 可分为确定的有限自动机(DFA) 和不确定的有限自动机(NFA)。若某DFA D 与某 NFA M 等价,则(48) 。(48)A. DFA D 与 NFA M 的状态数一定相等 B. DFA D 与 NFA M 可识别的记号相同C. NFA M 能识别的正规集是 DFA D 所识别正规集的真子集 D. DFA D 能识别的正规集是 NFA M 所识

18、别正规集的真子集 某确定性有限自动机(DFA)的状态转换图如下图所示 ,令 d=0|1|2|.|9,则以下字符串中,能被该 DFA 接受的是 (49) 。(49)A. 3857 B. 1.2E+5 C. -123.67 D. 0.576E10 若有数组声明 a03,02,14,设编译时为 a 分配的存储空间首地址为 base_a,且每个数组元素占据一个存储单元。当元素以行为序存放(即按 a0,0,1,a0,0,2,a0,0,3,a0,0,4,a0,1,1,a0,1,2,a3,2,4顺序存储), 则数组元素 a2,2,2在其存储空间中相对base_a 的偏移量是(50) 。(50)A. 8 B.

19、 12 C. 33 D. 48 从数据库管理系统的角度看, 数据库系统一般采用如下图所示的三级模式结构。图中处应填写 (51) ,处应填写 (52) 。5 / 13(51)(52)A. 外模式 / 概念模式 B. 概念模式 / 内模式 C. 外模式 / 概念模式映象 D. 概念模式 / 内模式映象 设有职工 EMP (职工号, 姓名, 性别, 部门号, 职务, 进单位时间, 电话), 职务 JOB(职务,月薪)和部门 DEPT(部门号, 部门名称, 部门电话, 负责人)实体集。一个职务可以由多个职工担任,但一个职工只能担任一个职务 ,并属于一个部门,部门负责人是一个职工。下图所示的 a、b 处

20、的实体名分别为 (53) ;图中 a、b 之间为 (54) 联系。(53)A. DEPT、EMP B. EMP、DEPT C. JOB、EMP D. EMP、JOB (54)A. 1 1 B. * 1 C. 1 * D. * * 若关系 R、S 如下图所示,则 R 与 S 自然连接后的属性列数和元组个数分别为(55); 1,4(3=6(RXS)=(56)。 (55)A. 4 和 3 B. 4 和 6 C. 6 和 3 D. 6 和 6 已知一个线性表(16, 25, 35, 43, 51, 62, 87, 93),采用散列函数 H (Key)=Key mod 7 将元素散列到表长为 9 的散列

21、表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为(57) ,在该散列表上进行等概率成功查找的平均查找长度为 (58) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度)。(57)A.0 1 2 3 4 5 6 7 835 43 16 51 25 62 87 93B. 0 1 2 3 4 5 6 7 835 43 16 93 25 51 62 87C. 0 1 2 3 4 5 6 7 835 43 16 51 25 87 62 93D. 0 1 2 3 4 5 6 7 835 43 16 51 25 8

22、7 62 93(58)A.(5*1+2+3+6)/8 B.(5*1+2+3+6)/9 C.(8*1)/8 D.(8*1)/9 若将某有序树 T 转换为二叉树 T1,则 T 中结点的后(根) 序序列就是 T1 中结点的 (59) 遍历序列。例如, 下图(a) 所示的有序树转化为二叉树后如图(b)所示。6 / 13(59)A. 先序 B. 中序 C. 后序 D. 层序 设一个包含 N 个顶点、 E 条边的简单有向图采用邻接矩阵存储结构(矩阵元素 Aij等于 1/0 分别表示顶点 i 与顶点 j 之间有/无弧),则该矩阵的元素数目为 (60) ,其中非零元素数目为 (61) 。(60)A. E2 B

23、. N2 C. N2-E2 D. N2+E2 (61)A. N B. N+E C. E D. NE 一个算法是对某类给定问题求解过程的精确描述, 算法中描述的操作都可以通过将已经实现的基本操作执行有限次来实现, 这句话说明算法具有(62) 特性。(62)A. 有穷性 B. 可行性 C. 确定性 D. 健壮性 斐波那契(Fibonacci)数列可以递归地定义为:用递归算法求解 F(5)时需要执行(63) 次“+” 运算,该方法采用的算法策略是 (64) 。(63)A.5 B.6 C.7 D.8 (64)A. 动态规划 B. 分治 C. 回溯 D. 分支限界 若总是以待排序列的第一个元素作为基准元

24、素进行快速排序, 那么最好情况下的时间复杂度为(65) 。 运行 Web 浏览器的计算机与网页所在的计算机要建立(66) 连接,采用(67) 协议传输网页文件。(66)A. UDP B. TCP C. IP D. RIP (67)A. HTTP B. HTML C. ASP D. RPC (68) 不属于电子邮件协议。(68)A. POP3 B. SMTP C. IMAP D. MPLS 某客户端在采用 ping 命令检测网络连接故障时 ,发现可以 ping 通 127.0.0.1 及本机的 IP 地址,但无法 ping 通同一网段内其他工作正常的计算机的 IP 地址,说明该客户端的故障是 (

25、69) 。(69)A. TCP/IP 协议不能正常工作 B. 本机网卡不能正常工作 C. 本机网络接口故障 D. 本机 DNS 服务器地址设置错误 用户可以通过 http:/ 和 http:/ 访问在同一台服务器上(70) 不同的两个 Web 站点。(70)A. IP 地址 B. 端口号 C. 协议 D. 虚拟目录 Object-oriented analysis (OOA) is a semiformal specification technique for the object-oriented paradigm. Object-oriented analysis consists of

26、 three steps. The first step is (71). It determines how the various results are computed by the product and presents this information in the form of a (72) and associated scenarios. The second is (73) , which determines the classes and their attributes, then determines the interrelationships and int

27、eraction among the classes. The last step is (74) , which determines the actions performed by or to each class or subclass and presents this information in the form of (75).(71)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling(72)A. collaboration diagram B. sequence d

28、iagram C. use-case diagram D. activity diagram(73)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling(74)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling(75)A. activity diagram B. component diagram C. sequence diagram D. state diagram200

29、8 上半年软件设计师下午试题试题一(共 15 分)阅读以下说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。【说明】某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下:1. 系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。2. 系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。3. 根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借 6 件音像制品。4. 客户租借某种音像制品的具体流程为:(1)根据客户提供

30、的用户名和密码,验证客户身份。(2)若该客户是合法客户,查询音像制品信息文件 ,查看商店中是否还有这种音像制品。(3)若还有该音像制品,且客户所要租借的音像制品数小于等于 6 个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。(4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。(5)客户付清租借费用之后,系统接收客户付款信息 ,将音像制品租借给该客户。7 / 135. 当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后, 检查库存信息,验证用户身份,

31、创建相应的预约记录, 生成预约流水号给该客户,并将信息保存在预约记录文件中。6. 客户归还到期的音像制品,系统修改租借记录文件, 并查询预约记录文件和客户信息文件, 判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。图 1-1 顶层数据流图【问题 1】(1 分 )图 1-1 中只有一个外部实体 E1。使用【说明】中的词语,给出 E1 的名称。【问题 2】(6 分 )使用【说明】中的词语,给出图 1-2 中的数据存储 D1D4 的名称。【问题 3】(6 分 )数据流图 1-2 缺少了三条数据流 ,根

32、据说明及数据流图 1-1 提供的信息,分别指出这三条数据流的起点和终点。起点 终点【问题 4】(2 分 )在进行系统分析与设计时,面向数据结构的设计方法( 如 Jackson 方法) 也被广泛应用。简要说明面向数据结构设计方法的基本思想及其适用场合。试题二(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。【需求分析结果】1. 登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责

33、一个球队。系统记录教练的姓名、年龄等信息。2. 安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括: 场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表 2-1 所示。系统记录训练场地安排的信息。表 2-1 训练安排表球队名称 场地名称 训练时间解放军 一号球场 2008-06-09 14:0018:00解放军 一号球场 2008-06-12 09:0012:008 / 13解放军 二号球场 2008-06-11 14:0018:00山西 一号球场 2008-06-10 09:0012:003. 安排比赛。该赛事聘请专

34、职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组, 然后根据球队、场地和裁判情况, 安排比赛(每场比赛的对阵双方分别称为甲队和乙队 )。记录参赛球队名称、比赛时间、比分、比赛场地等信息,如表 2-2 所示。4. 所有球员、教练和裁判可能出现重名情况。表 2-2 比赛安排表A 组: 甲队乙队 场地名称 比赛时间 裁判 比分解放军北京 一号球场 2008-06-17 15:00 李大明天津山西 一号球场 2008-06-17 19:00 胡学梅B 组: 甲队乙队 场地名称 比赛时间 裁判 比分上海-安徽 二号球场 2008-06-17 15:00

35、丁鸿平山东-辽宁 二号球场 2008-06-17 19:00 郭爱琪【概念模型设计】根据需求阶段收集的信息,设计的实体联系图和关系模式( 不完整)如下:1.实体联系图2.关系模式教练(教练编号,姓名,年龄)队员(队员编号,姓名,年龄, 身高,体重, (a) )球队(球队名称,代表地区,成立时间 , (b) )场地(场地名称,场地规模,位置 )训练记录( (c) )裁判(裁判编号,姓名,年龄, 级别)比赛记录( (d) )【问题 1】(4 分 )根据问题描述,补充联系及其类型, 完善实体联系图 2-1。( 联系及其类型的书写格式参照教练与球队之间的联系描述,联系名称也可使用联系 1、联系 2、)

36、【问题 2】(8 分 )根据实体联系图 2-1,填充关系模式中的(a) 、(b)、(c)和(d),并给出训练记录和比赛记录关系模式的主键和外键。【问题 3】(3 分 )如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷包括:姓名、住址和喜欢的俱乐部等基本信息。根据这一要求修改图 2-1 的实体联系图,给出修改后的关系模式。 (仅给出增加的关系模式描述)试题三(共 15 分)阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。【说明】某汽车停车场欲建立一个信息系统,已经调查到的需求如下:1. 在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打

37、印机、一台读卡器和一个车辆通过传感器,示意图如下:2. 当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起; 汽车通过入口后,入口处的传感器通知系统发出命令, 栏杆自动放下。3. 在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。4. 当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起; 汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的, 系统不发出栏杆抬起命令而发出告警信号。9 / 135

38、. 系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。根据上述描述,采用面向对象方法对其进行分析与设计, 得到了表 3-1 所示的类/用例/状态列表、图 3-1 所示的用例图、图 3-2 所示的初始类图以及图 3-3 所示的描述入口自动栏杆行为的 UML 状态图。【问题 1】(3 分 )根据说明中的描述,使用表 3-1 给出的用例名称,给出图 3-1 中 U1、U2 和 U3 所对应的用例。【问题 2】(5 分 )根据说明中的描述,使用表 3-1 给出的类的名称,给出图 3-2 中的 AD 所对应

39、的类。【问题 3】(4 分 )根据说明中的描述,使用表 3-1 给出的状态名称,给出图 3-3 中 S1S4 所对应的状态。【问题 4】(3 分 )10 / 13简要解释图 3-1 中用例 U1 和 U3 之间的 extend 关系的内涵。试题四(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】快速排序是一种典型的分治算法。采用快速排序对数组 Apr排序的三个步骤如下:分解:选择一个枢轴(pivot)元素划分数组。将数组 Apr划分为两个子数组( 可能为空) Apq-1和 Aq+1r,使得 Aq大于等于Apq-1中的每个元素, 小于 Aq+1r中的每个

40、元素。q 的值在划分过程中计算。递归求解:通过递归的调用快速排序, 对子数组 Apq-1和 Aq+1r分别排序。合并:快速排序在原地排序,故不需合并操作。【问题 1】(6 分 )下面是快速排序的伪代码,请填补其中的空缺。伪代码中的主要变量说明如下:A:待排序数组p, r:数组元素下标 ,从 p 到 rq:划分的位置x:枢轴元素i:整型变量,用于描述数组下标。下标小于或等于 i 的元素的值小于或等于枢轴元素的值j:循环控制变量 ,表示数组元素下标QUICKSORT(A, p, r) if (p data = theData; newNode-next = S-pTop; S-pTop = (3)

41、 ; void Pop(Stack* S) /弹栈 List* lastTop; if( IsEmpty(S) ) return; lastTop = S-pTop; S-pTop = (4) ; free(lastTop); #define MD(a) aon(); else commandsbutton-off(); void setCommand(int button,Command * command) (1) = command; /设置每个按钮对应的命令对象 ; class LightCommand : public Command /电灯命令类 protected: Light

42、*light; /指向要控制的电灯对象 public: void on()light-turnLight(100); void off()light-(2); LightCommand(Light * light)this-light = light; ; class TVCommand : public Command /电视机命令类 protected: TV * tv; /指向要控制的电视机对象 public: void on()tv-(3); void off()tv-setChannel(0); TVCommand(TV * tv) this-tv = tv; ; ; void ma

43、in() Light light; TV tv; /创建电灯和电视对象 LightCommand lightCommand( TVCommand tvCommand( RemoteController remoteController; remoteController.setCommand(0, (4); /设置按钮 0 的命令对象 /此处省略设置按钮 1、按钮 2 和按钮 3 的命令对象代码 本题中,应用命令模式能够有效让类(5) 和类 (6) 、类 (7) 之间的耦合性降至最小试题七(15 分)阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。说明及提示与上

44、题相同。【Java 代码】class Light /电灯类 public void turnLight(int degree) /调整灯光亮度,0 表示关灯,100 表示亮度最大 ; class TV /电视机类public void setChannel(int channel)/ 0 表示关机,1 表示开机并切换到 1 频道 ; interface Command /抽象命令类 void on(); void off(); ; class RemoteController /遥控器类 protected Command commands = new Command4; /遥控器有 4 个按

45、钮,按照编号分别对应 4 个 Command 对象 public void onPressButton(int button) /按钮被按下时执行命令对象中的命令 13 / 13if(button % 2 = 0)commandsbutton.on(); else commandsbutton.off(); public void setCommand(int button, Command command) (1) = command; /设置每个按钮对应的命令对象 ; class LightCommand implements Command /电灯命令类 protected Light

46、light; /指向要控制的电灯对象 public void on()light.turnLight(100); public void off()light. (2); public LightCommand(Light light)this.light = light; ; class TVCommand implements Command /电视机命令类 protected TV tv; /指向要控制的电视机对象 public void on()tv. (3); public void off()tv.setChannel(0); public TVCommand(TV tv)this

47、.tv = tv; ; public class rs public static void main(String args) Light light = new Light(); TV tv = new TV();/创建电灯和电视对象 LightCommand lightCommand = new LightCommand(light); TVCommand tvCommand = new TVCommand(tv); RemoteController remoteController = new RemoteController(); /设置按钮和命令对象 remoteController.setCommand(0, (4); /此处省略设置按钮 1、按钮 2 和按钮 3 的命令对象代码

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报