【计算机类职业资格】中级软件设计师下午试题-67及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-67及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-67及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-67 及答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在三个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时
2、发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统确认,系统记录该员工员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML 类图表示,图 1-1 是该系统的类图的一部分,图 1-2 描述了成功传递期刊的序列图。图 1-1图 1-2(分数:15.00)(1).根据题意,给出类“传阅记录”的主要属性。(分数:
3、5.00)_(2).根据题意,将图 1-2 中的(1)(5)处补充完整。(分数:5.00)_(3).同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份,为什么?(分数:5.00)_二、试题二(总题数:1,分数:15.00)说明某学校的教学系统描述如下:学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Title),其中教工号是唯一编定的。课程信
4、息包括:课程号(Cno)、课程名称(Cname)、学时(Cpeiiod)、学分(Ccredit),其中课程号是唯一编定的。每个专业每个年级只有一个班级,这样班级就可用入学年份标识。每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。每位学生可以同时选修多门不同的课程,一门课程至少要有 10 位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩
5、,即使选修了其他教师教授的同一门课也不行。图 2-1 是经分析得到的 E-R 图。图 2-1(分数:15.00)(1).根据题意,给出联系的属性。实体间的联系有“一对一”、“一对多”和“多对多”,指出各联系分别属于哪一种。(分数:5.00)_(2).按照“有关模式名(属性,属性,)”的格式,将此 E-R 图转换为 5 个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。(分数:5.00)_(3).若用 Student 表存储学生信息,Teacher 表存储教师信息,Course 表存储课程信息,Study 表存储学生选修课程情况。教务处想要“查询 2006 年入学的
6、计算机专业(CS)的学生中平均成绩在 85 分以上的学生信息”。请将以下 SQL 语句补充完整。注:用对应英文表示。SELECT * FROM student WHERE Smajor = “CS“ AND Syear = “2006“AND (1) (SELECT Sno FROM Study GROUP BY SnoHAVING (2) )(分数:5.00)_三、试题三(总题数:1,分数:15.00)说明图 3-1 描述某超市销售数据的部分处理流程。超市中有若干台收款机和若干名收款员。这里,我们把一个收款员开始使用一台收款机到离开这台收款机称为该收款员的一次作业。作业开始时,收款员先在收款
7、机上输入收款员号和作业前金额。作业前金额是为了销售时的找零而在作业前预先放入钱柜的金额数。作业结束时,收款员要打开钱柜,取走全部现金,并把这些现金的金额数(称为作业后金额)输入收款机。当作业前金额+本次作业售货总金额-本次作业退货总金额作业后金额时,表示这次作业存在金额差错。本流程图已作简化,并作以下假定;该超市只有现金交易(不用信用卡和礼券);一个收款员因某种原因(如吃饭)在一天中可以有多个作业;销售方式只有售货和退货两种。整个超市分成若干部门(如食品部、服装部),系统按部门统计一个月中各类货物的销售数量和金额,最后根据月销售计划文件分析各部门完成销售计划的情况。系统还统计每个收款员的差错情
8、况和退货情况。图中处理 4 和处理 8 每月的最后一天执行一次(营业结束后),其他处理每天执行一次。图中部分数据、文件的记录格式如下:日销售数据:收款机号+收款员号+作业前金额+(售货标记|退货标记)+货号+数量+单价+金额+作业后金额日销售文件记录:(作业开始标记+收款机号+收款员号+作业前金额)|(售货标记|退货标记)+货号+数量+金额)|(作业结束标记+收款机号+收款员号+作业后金额)部门目销售文件记录:部门号+(售货标记|退货标记)+货号+数量+金额部门月销售计划文件记录:部门号+月计划金额收款员差错月报:月份+收款员号+差错作业数+差错总金额收款员退货月报:月份+收款员号+退货次数+
9、退货总金额其中 w 表示 w 重复出现多次;a|b 表示 a 或 b;a+b 表示 a 与 b。图 3-1(分数:15.00)(1).分别写出收款员日销售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。(分数:5.00)_(2).“处理 1”能检查出日销售数据中的哪些错误。(分数:5.00)_(3).处理 4 对收款员月销售文件作何种操作。(分数:5.00)_四、试题四(总题数:1,分数:15.00)说明假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 m 表示为:m=ak10k-2+ak-110k-3+a310+a2其中 a1保存该长整数的位数,a
10、0保存该长整数的符号:0 表示正数、1 表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。函数int cmp(int *LA, int *LB);/*比较长整数 LA 与 LB 的绝对值大小*/*若 LA 绝对值较大返回正值,LA 较小返回负值,相等则返回 0*/int ADD (int *LA, int *LB, int *LC)/*计算长整数 LA 与 LB 的和,结果存储于 LC 中*/*注意:正数与负数的和相当于正数与负数绝对值的差*/*数据有误返回 0,正常返回 1*/if(L
11、A = NULL | LB = NULL | LC = NULL)return 0;int *pA, *pB, i, N, carry, flag;flag = LA0 + LB0;switch(flag) /*根据参与运算的两个数的符号进行不同的操作*/case 0:case 2:Lc0 = LA0;/*LA 与 LB 同号,结果符号与 LA(LB)相同*/pA = LA;pB = LB;(1) ;break;case 1: /*LA 与 LB 异号*/*比较两者的绝对值大小,结果符号与较大者相同*/flag = (2) ;if(flag 0) /*LA 较大*/LC0 = LA0;pA =
12、 LA;pB = LB;else if(flag LB1 ? LA1 : LB1;for(i = 0; i = pA1)/*LA 计算完毕*/carry += flag * pBi+2;else if(i = pB1)/*LB 计算完毕*/carry += pAi+2;elsecarry += pAi+2 + flag * pBi+2;LCi+2 = carry % 10;carry /= 10;if( (4) )/*需要借位,针对减法*/LCi+2 += 10;carry-;/*for*/if( (5) )/*最高进位,针对加法*/LCi+2 = carry;i+;if(LCi+1 = 0)
13、 i-; /*若最高位为零,针对减法*/LC1 = i;return 1;/*ADD*/(分数:15.00)_五、试题五(总题数:1,分数:15.00)说明在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 5-1 显示了各个类间的关系。图 5-1(分数:15.00)_六、试题六(总题数:1,分数:15.00)说明在某些系统中,存在非
14、常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 6-1 显示了各个类间的关系。(分数:15.00)_七、试题七(总题数:1,分数:15.00)说明在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目
15、符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 7-1 显示了各个类间的关系。图 7-1(分数:15.00)_中级软件设计师下午试题-67 答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在三个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外
16、时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统确认,系统记录该员工员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML 类图表示,图 1
17、-1 是该系统的类图的一部分,图 1-2 描述了成功传递期刊的序列图。图 1-1图 1-2(分数:15.00)(1).根据题意,给出类“传阅记录”的主要属性。(分数:5.00)_正确答案:(“传阅记录”属性:期刊流水号、员工号、日期、备注。)解析:根据期刊传阅描述,传阅时需记录员工号、日期以及传入/传出。故“传阅记录”应有属性:员工号、日期、备注。每一本“期刊”有一份“传阅记录”,因此“传阅记录”还应有属性:期刊流水号。(2).根据题意,将图 1-2 中的(1)(5)处补充完整。(分数:5.00)_正确答案:(读取下一位阅读者(3)读取员工状态(4)提醒取书(5)添加传阅记录)解析:根据期刊传
18、阅过程的描述,员工阅读完毕“通知系统”,系统“添加传阅记录”,并从“传阅名单”中“读取下一位阅读者”,然后“读取员工状态”,若该员工可传,“提醒取书”,员工收到期刊后向系统确认,系统“添加传阅记录”。(3).同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份,为什么?(分数:5.00)_正确答案:(“传阅名单”应该每一本期刊一份,以便当员工出差时正确做标记,保证正确传递。)解析:当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。仔细分析该句题设,不难发现,“传阅名单”应该每一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 67 答案 解析 DOC
