[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷62及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷62及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷62及答案与解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 62及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和数据流图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】某供销系统接受顾客的订货单,当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采货单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单时并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶 层数据流图是正确的。图 1一 1是顶层数据流图,图 12是第 0层数据流图,图
2、13是第 1层数据流图,其中 (A)是加工 1的子图, (B)是加工 2的子图。【图 11】【图 1一 2】【图 1一 3】【数据字典】 (1)数据流条目订货单 =配件号 +配件名 +规格 +数量 +顾客名 +地址提货单 =订货单 +金额采货单 =配件号 +配件名 +规格 +数量 +供应商名 +地址送货单 =配件号 +配件名 +规格 +数量 +金额 (2)文件说明文件名:配件库存组成: 配件号 +配件名+规格 +数量 +允许的最低库存量 1 根据题意,图 12中哪个文件可不必画出。 2 根据题意,指出图 1一 3(A)中缺失的数据流的名称,并指出该数据流的起点和终点。 3 根据题意,指出图 1
3、一 3(B)中缺失的数据流的名称,并指出该数据流的起点和终点。 3 阅读下列说明和 ER图,回答问题 l至问题 3,将解答填入答题纸的对应栏内。【说明】某学校的教学系统描述如下:学生信息包括:学号 (SNo)、姓名 (Sname)、性别 (Sex)、年龄 (Age)、入学年份 (Year)、主修专业 (Major),其中学号是入学时唯一编定的。课程信息包括:课程号 (CNo)、课程名称 (CName)、学时 (Period)、学分(Credit),其中课程号是唯一编定的。一个学生可选多门课,每个学生选每门课有一个成绩。图 21是经分析得到的 ER图。【图 21】4 设基本表:Student(S
4、No, SName, Sex, Age, Year, Major), Course(CNo, Cname, Period,Credit), Grade(SNo, CNo, Grade)通过如下 SQL语句建立,请在 SQL语句空缺处填入正确的内容。 CREATE TABLE Student(SNo CHAR(6)NOT NULL, SName CHAR(20), Sex CHAR(1), Age INTEGER, Year CHAR(4), Maj or CHAR(20),(1); CREAT 5 若另有表 Teach(CName, TName)存储教师任课情况, Tname表示教师名。用SQ
5、L创建一个含有学号、姓名、课程名、成绩、任课教师名的 “主修专业为计算机CS”的学生成绩视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。请在 SQL语句空缺处填入正确的内容。 CREATE VIEw sG(1) SELECT Student.SNo, SName, Grade, Course CName, TName FROM Student, Grade, Teach, WHERE (2) A 6 如下的 SQL语句是用于查询 “每个学生的选修课程数、总成绩、平均成绩 ”的不完整语句,请在空缺处填入正确的内容。 SELECT studerLt SNo, (1), suM(Gra
6、de), AVG(Grade) FROM Student, Grade WHERE Student SNo=Grade SNo GR0up BY (2); 6 阅读下列说明和图 ,回答问题 1至问题 2,将解答填入答题纸的对应栏内。 【说明】 银行的自动柜员机 (ATM)的功能描述如下: (1)金融卡与信用卡识别:包含伪卡识别以及密码验证; (2)主菜单项:这是一台 ATM最主要的人机界面,提供各项功能给客户,具体有:提款、转帐、更改密码以及存款; (3)结束操作:客户执行完 “菜单项 ”的功能后,可以选择 “打印单据 ”或 “不打印单据 ”,选好后就结束此次交易。注意, ATM除了能处理本行
7、的银行卡外,其他银行的银行卡也应该能处理,通过 “金融中心 ”与其他银行主机进行数据交换。另外,为了方便, ATM还提 供快捷提款,并提供代交费功能 (代交费是以转帐的方式处理的 )。该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML类图表示。 7 图 3一 1是该系统的用例图,根据题意,用题中所述术语指出图 3一 1中参与者A、 B分别是什么,用例 C、 D分别是什么。 8 ATM机有如下状态:空闲、银行卡验证、业务选择等待、取款金额输入、密码修改、出钞、单据打印。 ATM机一般处于空闲状态,当有客户插入银行卡,则进行银行卡验证,若银行卡无效则结束服务,否则进入业务选择等待。业
8、务有取款、修改密码等,也可以选择退出结束服务, ATM返回空闲状态。选择取款业务后,等待取款金额输入,确认后判断余额是否足够,若余额不足,则给出提示信息,并进入业务选择等待;若余额充足,则出钞,若客户需要打印单据则进入单据打印状态,否则返回业务选择等待。选择任意一个业务后,可以取消返回业务选择等待。图 32 8 阅读下列说明和图,回答问题 1到问题 3,将解答填入答题纸的对应栏内。 【说明】 操作系统中,死锁 (Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。面对死锁问 题有两个解决方案:预防死锁和避免死锁
9、。预防死锁是一种较简单和直观的事先预防方法。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或多个,以此来预防死锁的发生。预防死锁由于较易实现,已被广泛应用,但由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量的降低。避免死锁同样是属于事先预防的策略,但它无须事先采取各种限制措施去破坏产生死锁的四个必要条件,而是在资源分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。银行家算法 (Bankers algorithm)是 Dijkstra于 1965年提出的一个经典的避免死锁的算法。形象地描述银行发放贷款不能使有限可用资金匮乏而导致整个银行无法
10、运转的思路,也就是说每次请求贷款,银行要考虑他能否凭着贷款完成项目,并还清贷款使银行运转正常。令 Request(i)是进程P(i)请求向量,如果 Request(i)j=k则进程 P(i)希望请求 i类资源 k个。具体算法步骤如下: (1)如果 Request(i)Need(i)则出错 (请求量超过申报的最大量 ),否则转到 (2); (2)如果 Request(i)Available则 P(i)等待 ,否则转 (3); (3)系统对 P(i)所请求的资源实施试探分配,并更改数据结构中的数值; (4) Available=AvailableRequest(i); A110cation(i)=
11、A1location(i)+Request(i); Need(i)=Need(i)一 Request(i); (5)执行安全性算法,如果是安全的,则承认试分配,否则废除试分配,让进程 P(i)继续等待。所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次运行完成,这种进程序列 P1, P2, , Pn就是 安全序列。如果存在这样一个安全序列,则系统是安全的;如果系统不存在这样一个安全序列,则系统是不安全的。 9 简述产生死锁的四个必要条件。 10 设系统中有三种类型的资源 (A, B, C)和五个进程 (P0, P1, P2, P3, P4),某时刻的资源分配状态如图 4
12、一 1所示。给出该时刻存在的一个安全序列。【图 4一1】 11 若系统中有同类资源 16个,有 4个进程共享该资源。已知 Pl、 P2、 P3、 P4所需总资源分别是 8、 5、 9、 6。各进程请求资源次序为 (序号,进程,申请量 ): (1, P1, 6)、 (2, P2, 4)、 (3, P3, 5)、 (4, P4, 1)、 (5, P1, 1)、 (6, P2,1)。若用银行家算法为它们分配资源,分析每一步请求以后,各个进程还需的资源数以及系统所剩资源数,并指出系统是否安全。注,当某序号的申请导致系统不安全时,跳过该请求 (拒绝该请求 )继续往下判断,相当于将该进程阻塞。从下列的 3
13、道试题 (试题五至试 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 12 阅读下列函数说明和 C+代码,将应填入 (n)处的字 句写在答题纸对应栏内。【说明】在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了 Builder(生成器 )模式。该实例用来建立 “文件 ”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。 Builder类规定组成文件的方法, Director类利用这个方法产生一份具体的文件。图 51显示了各个类间的关系。
14、【图 51】以下是 C+语言实现,能够正确编译通过。【 C+代码】 ClasS BuiiderpubliC: virtual void makeTitle(string title)=0; virtual void makeString(string str)=0; virtual void makeItems(1)items)=0; virtual string getResult()=0; ; ClasS Director private: (2)buiider; public: Director(Buiider*buiider) thiS一 buiider=buiIder; string
15、 construct() vector items; items.pushback(“早安 ”); items pushback(“午安 ”); buiider一 makeTitle(“Greeting”); bui Ider一 makeString(“从早上到白天结束 ”); buiider一 makeItems(items); buiIder一 makeString(“到了晚上 ”); (3)清空 items向量 items pushback(“晚安 ”); items pushback(”好梦 ”); buiIder一 makeItems(items); return buiider一
16、getResult(); ; class TextBuiider: public (4) private: String buffer; publiC: TextBuiider() buffer=*; void makeTitle(String title) buffer += ”=:= n”; buffer+=“+title+” n”; buffer+=“ n”; void makeString(string str)( buffer+=” +Str+“ n”; buffer+=“n”: void makeItems(vector items) vector: iterator it; fo
17、r(it=items begin();it!=items end(); it+) buffer+=“ ”+it+“ n”; buffer+=“ n”; string getResult() buffer+= “= n”; return buffer; ; int main() Director*director=new Director(new TextBuilder(); string result=(string)director一 (5); cout 13 阅读以下说明和 Java代码,将应填入 (n)处的字句写在答题纸对应栏内。【说明】在某些系统中,存在非常复杂的对象,可以采用循序渐进
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 62 答案 解析 DOC
