[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷44及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷44及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷44及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 44及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和数据流图,回答问题 1至问题 3。 说明 图书管理系统旨在用计算机对图书进行管理,包括图书的购入、借阅、归还以及注销。管理人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便掌握图书的流通情况。 系统要实现以下四方面的功能:购入新书、读者借书、读者还书以及图书注销。 (1)购入新书:需要为该书编制图书卡片,包括分类目录号、图 书流水号 (要保证每本书都有唯一的流水号,即使同类图书也是如此 )、书名、作者、内容
2、摘要、价格和购书日期等信息,写入图书目录文件中。 (2)读者借书:填写借书单,包括读者号、欲借图书分类目录号,系统首先检查该读者号是否有效,若无效,则拒绝借书,否则进一步检查该读者所借图书是否超过最大限制数,若已达到最大借阅数,则拒绝借书,否则读者可以借出该书,登记图书分类目录号、图书流水号、读者号和借阅日期等,写回到借书文件中去。 (3)读者还书:根据图书流水号,从借书文件中读出和该图书相关的借阅记录,表明还书日期,再写回借书 文件中;如果图书逾期未还,则处以相应罚款。 (4)图书注销:将一些过时或无保留价值的图书注销,从图书文件中删除相关记录。 (5)流通查询:管理员可以对图书流通情况进行
3、查询,包括某位读者、某种图书和全局图书,给出流通情况统计表。 以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。图 1-1是顶层数据流图,图 1-2是第0层数据流图,图 1-3是第 1层数据流图。 图 1-1 图 1-2 图 1-3 数据字典 (1)数据流条目 图书管理要求 =入库单 |借书单 |还书单 |注销单 入库单 =分类目录号 +数量 +书名 +作者 +内容摘要 +价格 +购书日期 借书单 =读者号 +(d)+借阅日期 还书单 =(e)+还书日期 (2)文件说明 文件名:目录文件 组成: 分类目录号 +书名 +作者 +内容摘要 +价格 +入库日期+总
4、数 +库存数 +(f) 1 根据题意,指出数据流图中缺失的数据流 (a)的名称,并指出该数据流的起点。 2 将下述文件正确填充在数据流图 (b)、 (c)处:读者文件、借书文件。 3 根据题意,补充数据字典中 (d)、 (e)、 (f)处的空缺。 3 阅读下列说明和 E-R图,回答 问题 1至问题 3。 说明 有个关于运动会的管理系统,在该系统中,委员会为每一个参赛的运动员赋以一个唯一的编号 “运动员号 ”,同时记录姓名、性别、年龄和队名,姓名和队名必须填写。 一个运动员属于且只属于一个队,一个运动员可以参赛多个项目。运动员参加比赛取得一个成绩,相应有一个积分:第一名积分 6分,第二名积分 4
5、分,第三名积分 2分,其他的没有积分。一个队的总积分是该队的所有队员的积分之和。 下图是该系统的 E-R图。图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。 图 2-1 4 根据 E-R图中给出的词汇,按照 “有关模式名 (属性,属性, )” 的格式,将此 E-R图转换为 3个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。 5 Athlete(ANo, AName, ASex, Age, ATeam),主键为 ANo。 Item(INo, IName, ITime, IPlace),主键为 INo。 Games(ANo, INo, Sco
6、re, Credit),主键为 (ANo, INo)。 6 假定 Games表存储参赛情况,如下的 SQL语句是委员会用于查询 “队名为China的各个运动员各自夺取得的总积分 ”的不完整语句,请在空缺处填入正确的内容。 SEl3ECT (1) FROM Games WHERE ANo (2) (SELECT ANo FROM (3) WHERE ATeam=“China“) GROUP BY ANo; 6 (1) 7 (2) 8 (3) 8 阅读下列说明和图,回答问题 1至问题 3。 说明 某大型旅店为了便于管理,欲开发一个客房管理系统。希望实现客房预定、入住登记、帐务结算、退房,以及将服务
7、项目记入客人帐单。 旅客包括散客和团体,散客预定或入住时需要提供姓名、性别、身份证和联系电话,团体则提供团体名称、负责人的姓名、性别、身份证和联系电话,以及团体人数。对于散客,还要提供换房。 旅店还提供了很多服务项目,比如早餐。对每一个入住客人,服务列表记录了住宿期间的各项服务,包括服务类型、日期、数量等。当然,客人也可以不要任何服务。 旅店的客房 有一个唯一的房间号,分为不同的类别,不同的房间床位数和价格不同。 为了有效的管理,需要记录每天的客房状态。客房的状态有:空闲、占用、已预定和维修。 . 客人入住后,客房处于占用状态; . 客人退房后,客房处于空闲状态; . 客人预定后,客房处于已预
8、定状态; . 预定客人入住后,客房处于占用状态; . 预定客人取消预定后客房处于空闲状态; . 需要维修时客房处于维修状态; . 维修完成后客房处于空闲状态。 该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图 3-1是该系统的类图的一部分, 图 3-2描述了客房状态的转变情况。 图 3-1 图 3-2 9 请用图 3-1的属性和方法的名称给出客人类的属性和方法。 (注意:团体类中的负责人姓名等与散客的对应属性含义相同,不必区分 ) 10 在 UML中,重复度 (Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范
9、围的表达式或者一个具体的值。例如图 3-1中的类客人和住宿,客人端的 “1”表示:一个住宿类的实例只能与一个 1个客人类的实例相关联;住宿类端的 “0*表示:一个住宿类的实例可 以与 0个或多个客人类的实例相关。请指出图 3-1中 (1)到 (4)处的重复度分别为多少? 11 根据题意,请指出图 3-2中状态 A、 B分别是什么状态,事件 C、 D分别是什么事件。 11 阅读下列说明和图,回答问题 1到问题 3。 说明 目前大多数操作系统都采用虚拟存储技术,这样可在较小的可用内存中执行较大的用户程序,可在内存中容纳更多程序并发执行。 引入虚拟存储技术,其基本思想是利用大容量的外存来扩充内存,产
10、生一个比有限的实际空间大得多、逻辑的虚拟内存空间,以便能够有效地支持多道 程序系统的实现和大型程序运行的需要,从而增强系统的处理能力。 虚拟存储技术主要分为虚拟页式存储管理和虚拟段式存储管理。 虚拟页式存储管理中,在进程开始运行之前,不是装入全部页面,而是装入一个或零个页面之后根据进程运行的需要,动态装入其他页面:当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。在简单页式存储管理的基础上,增加请求调页和页面置换功能。 使用虚拟页式存储管理时需要在页表中增加以下内容:页号、驻留号、内存块号、外存地址、访问位、修改位。其中 ,驻留位,又称中断位,表示该页是在内
11、存还是在外存;访问位表示该页在内存期间是否被访问过;修改位表示该页在内存中是否被修改过。访问位和修改位可以用来决定置换哪个页面,具体由页面置换算法决定。 12 执行指令时,计算页号与页内地址,判断 “该页在内存吗 ”,若在,则进行地址映射过程;若不在内存,则产生缺页中断。当发生缺页中断时,保存当前进程现场,判断 “有空闲页面吗 ”,如有,直接调入所需的页面。若没有,按照某种算法选择一页置换,判断 “该页被修改过吗 ”,如果被修改过,就必须把它写回磁盘以便更新该页在磁盘上的副本;如 果该页没有被修改过,那么它在磁盘上的副本已经是最新的了,则不需要写回,调入的所需的页面直接覆盖被淘汰的页。调整页表
12、及内存分配表,恢复被中断进程现场。 补充缺页中断处理流程图 4-1中的判断 (1) (3)。 图 4-1 12 (1) 13 (2) 14 (3) 15 发生缺页时,通常需要进行页面置换,页面置换算法的优劣将会影响虚拟存储系统的性能。常用的页面置换算法有理想页面置换算法 (OPT: Optimal)、先进先出页面置换算法 (FIFO: First-In First-Out)以及最近最少使 用页面置换算法 (LRU:Least Recently Used)。 某程序在内存中分配 3页,初始为空,页面走向为 4、 3、2、 1、 4、 3、 5、 4、 3、 2、 1、 5。给出采用先进先出 (F
13、IFO)、最近最少使用 (LRU)和理想 (OPT)页面置换算法所得到的内存中的页面变化序列。 注:缺页标记栏,用表示没有缺页,用 表示发生了缺页。16 简述 Belady异常。 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 16 阅读下 列函数说明和 C代码, 说明 所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。 应用贪婪法求解该问题,程序先计算由各点构成的所有边的长度 (作为边的权值 ),按长度大小对各边进行
14、排序后,按贪婪准则从排序后的各边中选择组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。 函数中使用的预定义符号如下: #define M 100 typedef struct/*x为两端点 p1、 p2之间的距离, p1、 p2所组成边的长度 */ float x; int p1, p2; tdr; typedef struct/*p1、 p2为和端点相联系的两个端点, n为端点的度 */ int n, p1, p2; tr; typedef struct/*给出两点坐标 */ float x, y; tpd; typedef int tlM; int n=10; 函数 float
15、distance(tpd a, tpd b); /*计算端点 a、 b之间的距离 */ void sortArr(tdr aM, int m); /*将已经计算好的距离关系表按距离大小从小到大排序形成排序表, m为边的条数 */ int isCircuit(tr rM, int i, int j); /*判断边 (i, j)选入端点关系表 rM后,是否形成回路,若形成回路返回 0*/ void selected(tr rM, int i, int j); /*边 (i, j)选入端点关系表 r*/ void course(tr r M, tl lM); /*从端点关系表 r中得出回路轨迹表 *
16、/ void exchange(tdr aM, int m, int b); /*调整表排序表, b表示是否可调,即是否有长度相同的边存在 */ void travling(tpd pd M, int n, float dist, tl locusM) /*dist记录总路程 */ tdr drM; /*距离关系表 */ tr rM; /*端点关系表 */ int i, j, k, h, m; /*h表示选入端点关系表中的边数 */ int b; /*标识是否有长度相等的边 */ k=0; /*计算距离关系表中各边的长度 */ for(i=1; i n; i+) for(j=i+1; J =n
17、; j+) k+; drk x=(1); drk pl=i; drk p2=j; m=k; sortArr(dr, m); /*按距离大小从小到大排序形成排序 表 */ do b=1; dist=0; k=h=0: do k+; i=drk p1; j=drk p2; if(r(i n =1)(rj n =1)/*度数不能大于 2*/ if (2) /*若边 (i, j)加入 r后形成回路,则不能加入 */ (3); h+; dist+=drk x; else if (4) /*最后一边选入 r成回路,则该边必须加入且得到解 */ selected(r, i, j); h+: dist+=dr
18、k x; while(k !=n) (h !=n); if(h=n)/*最后一边选入构成回路,完成输出结果 */ course(r, locus); else(/*找不到解,调整 dr,交换表中边长相同的边在表中的顺序,并将 b置 0*/ (5); while(!b); 17 (1) 18 (2) 19 (3) 20 (4) 21 (5) 21 阅读以下说明和 C+代码, 说明 现要编写一个画矩形的程序,目前有两个画图程序: DP1和 DP2, DP1用函数 draw_a_line(x1, y1, x2, y2)画一条直线, DP2则用 drawline(x1, x2, y1, y2)画一条直
19、线。当实例化矩形时,确定使用 DP1还是DP2。为了适应变化,包括 “不同类型的形状 ”和 “不同类型的画图程序 ”,将抽象部分与实现部分分离,使它们可以独立地变化 。这里, “抽象部分 ”对应 “形状 ”, “实现部分 ”对应 “画图 ”,与一般的接口 (抽象方法 )与具体实现不同。这种应用称为Bridge(桥接 )模式。图 6-1显示了各个类间的关系。 图 6-1 这样,系统始终只处理 3个对象: Shape对象、 Drawingg对象、 DP1或 DP2对象。以下是 C+语言实现,能够正确编译通过。 C+代码 class DP1 public: static void draw_a_li
20、ne(double x1,double y1, double x2, double y2) /省略具 体实现 ; class DP2 public: static void drawline(double x1, double x2, double y1, double y2) /省略具体实现 ; class Drawing public: (1) void drawLine(double x1, double y1, double x2, double y2)=0; ; class V1Drawing: public Drawing public: void drawLine(double
21、x1,double y1, double x2, double y2) DP1: draw_a_line(x1, y1, x2, y2); ; class V2Drawing: public Drawing public: void drawLine(double x1, double y1,double x2, double y2) (2) ; class Shape privatc: (3) dp; public: Shape(Drawing*dp); virtual void draw()=0; void drawLine(double x1, double y1,double x2,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 44 答案 解析 DOC
