[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷63及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷63及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷63及答案与解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 63及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图,回答问题 1至问题 4,将解答填入答题纸的对应栏内。【说明】图 31描述某超市销售数据的部分处理流程。超市中有若干台收款机和若干名收款员。这里,我们把一个收款员开始使用一台收款机到离开这台收款机称为该收款员的一次作业。作业开始时,收款员先在收款机上输入收款员号和作业前金额。作业前金额是为了销售时的找零而在作业前预先放入钱柜的金额数。作业结束时,收款员要打开钱柜,取走全部 现金,并把这些现金的金额数 (称为作业后金额 )输入收款机。当作业前金额 +本次
2、作业售货总金额一本次作业退货总金额 作业后金额时,表示这次作业存在金额差错。本流程图已作简化,并作以下假定;该超市只有现金交易 (不用信用卡和礼券 );一个收款员因某种原因 (如吃饭 )在一天中可以有多个作业;销售方式只有售货和退货两种。整个超市分成若干部门 (如食品部、服装部 ),系统按部门统计一个月中各类货物的销售数量和金额,最后根据月销售计划文件分析各部门完成销售计划的情况。系统还统计每个收款员的差错情况和退货情况。图中处理 4和处理 8每月的 最后一天执行一次 (营业结束后 ),其他处理每天执行一次。图中部分数据、文件的记录格式如下:日销售数据:收款机号 +收款员号 +作业前金额 +(
3、售货标记 l退货标记 )+货号 +数量 +单价 +金额 )+作业后金额日销售文件记录: (作业开始标记 +收款机号 +收款员号 +作业前金额 ) (售货标记退货标记 )+货号 +数量 +金额 ) (作业结束标记 +收款机号 +收款员号 +作业后金额 )部门日销售文件记录:部门号 +(售货标记退货标记 )+货号 +数量 +金额部门月销售计划文件记录:部门号 +月计划金额收款员差错月报:月份 +收款员号 +差错作业数 +差 错总金额收款员退货月报:月份 +收款员号 +退货次数 +退货总金额其中 w表示w重复出现多次; a b表示 a或 b; a+b表示 a与 b。【图 31】1 分别写出收款员日销
4、售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。 2 “处理 1”能检查出日销售数据中的哪些错误。 3 处理 4对收款员月销售文件作何种操作。 4 【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 m表示为: m=ak10k-2+ak一 110k-3+a310+a 2其中 a1保存该长整数的位数, a0保存该长整数的符号: 0表示正数、 1表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。 intcmp(int*LA, int*LB
5、); *比较长整数 LA与 LB的绝对值大小 * *若 LA绝对值较大返回正值, LA较小返回负值,相等则返回 0* intADD(int*LA, int*LB, int*LC) *计算长整数 LA与 LB的和,结果存储于 LC中 * *注意:正数与负数的和相当于正数与负数绝对值的差 * *数据有误返回 0,正常返回 1* if(LA=NULL LB=NULL l I LC=NULL)return0; int*pA, *pB, i, N, carry, flag; flag=LA0 +LB0; switch(flag) *根据参与运算的两个数的符号进行不同的操作 * case 0: case
6、2: LC0=LA0; *LA与 LB同号,结果符号与 LA(LB)相同 * pA=LA; pB=LB; (1) ; break; case 1: *LA与 LB异号 * *比较两者的绝对值大小,结果符号与较大者相同 * flag=(2) ; if(flag0)( *LA较大 * LC0=LA0; pA=LA; pB=LB; ) else if(flagLB1?LA1 : LB1; for(i=0; i=pA1)( *LA计算完毕 * carry+=flag*pBi+2; else if(i=pB1)( *LB计算完毕 * carry+=pAi+2; else carry+=pAi+2+fla
7、g*pBi+2; LCi+2=carry 1 0; carry =10; if(4) *需要借位,针对减法 * LCi+2+=10; carry一一; *for* if(5( *最高进位,针对加法 * LCi+2=carry; i+; if(LCi+1=0)i一一; *若最高位为零,针对减法 * LC1=i; return 1; ; *ADD* 4 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】公司 IT部门决定 开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在三
8、个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中 “下一位 ”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统 ,系统记录该员工员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统确认,系统记录该员工员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊 (有唯一期刊流水号 )产生一份
9、传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML类图表示,图 11是该系统的类图的一部分,图 1-2描述了成功传递期刊的序列图。【图 1一 1】【图 1 2】5 根据题意,给出类 “传阅记录 ”的主要属性。 6 根据题意,将图 12中的 (1) (5)处补充完整。 7 同一种期刊分不同的期,所以有多本同一种期刊。 “传阅名单 ”只需每一种期刊一份,还是应该每本期刊一份,为什么 ? 7 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】某学校的教学系统描述如下:学生信息包括:学号 (Sno)
10、、姓名 (Sname)、性别(Ssex)、年龄 (Sage)、入学年份 (Syear)、主修专业 (Smajor),其中学号是入学时唯一编定的。教师信息包括:教工号 (Tno)、姓名 (Tname)、性别 (Tsex)、年龄 (Tage)、职称 (Ttitle),其中教工号是唯一编定的。课程信息包括:课程号 (Cno)、课程名称(Cname)、学时 (Cperiod)、学分 (Ccredit),其中课程号是唯一编定的。每个专业每个年级只有一个班级,这样班级就可用入学年份标识。每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一
11、位教师教授,否则这门课程就视为不存在。每位学生可以同时选修多门不同的课程,一门课程至少要有 10位学生选修,否则就取消这门课程的开设。注意:选 修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩 (Grade)。注意:教师不能给没有选修他所教授课程的学生成绩,即使选修了其他教师教授的同一门课也不行。图2 1是经分析得到的 ER图。【图 2 1】8 根据题意,给出联系的属性。实体间的联系有 “一对一 ”、 “一对多 ”和 “多对多 ”,指出各联系分别属于哪一种。 9 按照 “有关模式名 (属性,属性, )” 的格式,将此 E-R图转换为 5个关系模式,
12、指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。 10 若用 Student表存储学生信息, Teacher表存储教师信息, Course表存储课程信息, Study表存储学生选修课程情况。教务处想要 “查询 2006年入学的计算机专业(CS)的学生中平均成绩在 85分以上的学生信息 ”。请将以下 SQL语句补充完整。注:用对应英文表示。 SEL,ECT*FROM studerlt wHERE smajor= “cs”AND syear= “2006” AND (1) (SELECT Sn0 FROM Study GROUp BY SnO HAVING (2) 二、选答题(
13、共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 11 阅读下列函数说明和 C+代码,将应填入 (n)处的字句写在答题纸对应栏内。【说明】对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器 (Iterator)。模式以下程序模拟将书籍 (B00k)放到书架 (B00kShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器 Iterator实现。 图 5 1显示了各个类间的关系。以下是 C+语言实现,能够正确编译通过。【图 5
14、一 1】【 C+代码】 templateclass Iteratorpublic: virtual bool hasNext() =0; (2) obj ect*next() =0; ; class B00k省略具体方法和属性 ; class BookShelf(private: vectorbooks: public: BookShelf()( B00k* getBookAt(int index) returnb00ksindex; int getLength() return books size(); template class BookShelfIterator : public (
15、3) BookShel f *bookShel f: BookShelfIterator(BookShelf *bookShelf)( this一 bookShelf=b00kShelf: bool hasNext()判断是否还有下一个元素 if(indexgetLength() object*next() 取得下一个元素 return bookShel f一 getBookAt(index+); B00kShelf bookShel f: 将书籍上架,省略代码 rterator*it=new Book ShelfIterator( (4) ); while(5)遍历书架,输出书名 b00k=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 63 答案 解析 DOC
