[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc

上传人:rimleave225 文档编号:507193 上传时间:2018-11-29 格式:DOC 页数:14 大小:140KB
下载 相关 举报
[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc_第1页
第1页 / 共14页
[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc_第2页
第2页 / 共14页
[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc_第3页
第3页 / 共14页
[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc_第4页
第4页 / 共14页
[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷27及答案与解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 27及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读以下说明和流程图,回答问题 1至问题 3,将解答写在对应栏内。【说明】 (1)流程图描述某大型商店商品销售的数据处理流程。 (2)商店设有若干柜台,同一种商品可能在几个柜台上销售,各柜台每天提供一组日销售数据,其格式如下: 日期、柜台号、商品代码、销售数量、商品代码、销售数量 (3) 数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的 “日销售金额报告 ”,必要时还产 生一份 “商品请购报告 ”,给出那些低于最低库存量的商品代码、商品名称、最低库存量

2、和实际库存量。处理过程中产生存档的 “日销售文件 ”和临时工作文件“日销售量文件 ”和 “旧销售金额文件 ”。 (4)系统中所用到的数据均来自数据文件。 (5)流程图中的商品库存文件的记录已按关键字 “商品代码 ”排序。 1 指出商品库存文件的记录中必须包括哪些数据项 ? 分别指出在日销售文件,日销售量文件和日销售金额文件的记录中至少应包括哪些数据项,同时不产生数据冗余 ? 错误清单可能指出哪些错误 ? 2 简要叙述处理 6的主要内容。 3 如果删除流程图中的虚框部分,日销售文件的记录中应增加什么数据项 ? 4 阅读以下说明,回答问题 1至问题 3,将解答写在对应栏内。 【说明】 有如下关系数

3、据库: S(SNO, SN, STATUS, CITY) P(PNO, PN, COLORS, WEIGHT) J(JNO, JN, CITY) SPJ(SNO, PNO, JNO, QTY) 其中, S为供应单位, P为零件, J为工程项目, SPJ为工程订购零件的订单,其语义为:某供应单位供应某种零件给某个工程,请用 SQL完成下列操作 。 4 求为工程 J1提供红色零件的供应商代号。 5 求供应商与工程所在城市相同的供应商提供的零件代号。 6 求至少有一个和工程不在同一城市的供应商提供零件的工程代号。 7 阅读以下说明和图,回答问题 1至问题 3,将解答写在对应栏内。 【说明】 某教学管

4、理系统的用户是教学管理人员、教师和学生。系统主要提供学生选课管理和学生成绩管理两方面的功能。 (1)学生选修课管理 主要功能是管理新学期开始时,学生对选修的课程进行选课注册工作。新学期开始后的前两周为学生试听、选课注册时间;允许校内各院系学生跨专业 跨年级选修课程;学生可以在校园网的任何一个终端进行选课。 新学期选修课程表生成:各学院教学管理人员在新学期开始前,将准备开设的选修课程名称、课程代码、总课时、上课时间、学分、任课教师和上课教室录入系统,供学生选课使用。新学期开学两周后,系统自动将实际选课学生少于 10人的课程停开,并删除该课程;教学管理人员打印学生选课注册名单和开课通知书,送交有关

5、部门和任课教师。 学生选课注册:新学期开学前两周为学生试听、选课注册时间,并允许改变或取消注册申请。学生调用待选课程表,系统显示课程名、课程代码、任课教师、上课 时间、总课时、上课教室、学分和本课程已选修人数。学生所选几门课程在上课时间上不能冲突;若一门课程实际选课学生已达到 40人时,停止选课。当学生退出系统时,系统提示该学生所选的几门课程、任课教师、上课时间、教室、学分和学分总计。 选修课程查询:选修课程表信息查询,用户是教师、学生和教学管理人员。系统显示课程名、课程代码、任课教师、上课时间、总课时、上课教室、学分和本课程已选修人数。查询关键词可为学院名称、专业、授课教师等。 学生选课情况

6、查询:教师和教学管理人员可以查看学生的选课情况。查询关键词可以为学生姓名 (学号 )、课程名称 (课程代码 )、授课教师等。学生只能查自己所选课程内容,不允许查其他同学选课情况。 教师简历查询:用户是学生、教师和教学管理人员。查询关键词可为教师姓名、性别、职称、年龄等单关键词或组合关键词。 信息统计与报表生成:各学院教学管理人员对学生选课注册信息进行统计 (按课程、专业等 ),打印汇总报表。 把学生选课注册信息传送到财务管理系统,计算学生应交纳的费用。 (2)学生成绩管理 学生考试成绩录入:各学院教学管理人员将学生考试成绩录入系统。录入学生成绩时,系统自动检查财务系统传来的选课交费信息 ,核对

7、该学生是否已经交纳本门课程的费用,没有交纳费用者,不给成绩。 成绩查询:教师和教学管理人员可查询学生各门课程的成绩。查询关键词可为学生姓名 (学号 ),课程名 (课程代码 )等。学生只能查自己各门课程的成绩,不允许查其他同学成绩。 成绩汇总与报表生成:教学管理人员对学生考试成绩信息进行统计 (按学生、课程、专业等 ),打印汇总报表。向学校教务管理系统发送汇总信息表格等,不反馈信息。 现在已建立教学管理最高层用例图,如下:7 完成学生成绩管理子系统用例图。8 UML用例间的关系主要有 4种:继承关联 、扩展关联、包含关联和使用关联。请说明并举例。 9 说明用例之间关联的选择原则。 10 阅读下列

8、 C程序和程序说明,将应填入 (n)处的字句写在对应栏内。 【说明】下面是一个用 C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从 left、 right和 mid=(left+right)/2中取中间值,并交换到 right位置的办法。数组 a存放待排序的一组记录,数据类型为 T, left和 right是待排序子区间的最左端点和最右端点。 void quicksort (int a, int left, int right) int temp; if (left right) hat pivot = median3 (a, left, right); /三者取中子程序

9、 int i = left, j = right-1; for(;) while (i j while (i j if(i j) temp = ai; aj = ai; ai = temp; i+; j-; else break; if (ai pivot) temp = ai; ai = aright; aright = temp; quicksort( (1) ); /递归排序左子区间 quieksort(a,i+1 ,right); /递归排序右子区间 void median3 (int a, int left, int right) int mid=(2); int k = left;

10、 if(amid ak)k = mid; if(ahigh ak) k = high; /选最小记录 int temp = ak; ak = aleft; aleft = temp; /最小者交换到 left if(amid aright) temp=amid; amid=aright; aright=temp; 消去第二个递归调用 quicksort (a,i+1,right)。 采用循环的办法 : void quicksort (int a, int left, int right) int temp; int i,j; (3) int pivot = median3(a, left, r

11、ight); /三者取中子程序 i = left; j = righi-1; for (; ) while (i j while (i j if(i j) temp = ai; aj; = ai; ai=temp; i+; j-; else break; if(ai pivot)(4);ai=pivot; quicksoft (5); /递归排序左子区间 left = i+1; 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 11 阅读下列 C+程序和程序说明,将应填入 (n)处的字句写在对应栏内。 【

12、说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include iostream h #include assert h template class T class List; template class T class ListNOde friend (1); private: T data; ListNode T *link; public: ListNode(): link(NULL)() ListNOde(const T 6 【正确答案】 FROM ANDJ.JNO=SPJ.JNO AND S,CITY J.CITY 【试题解析】 这道题比 较简单直接,只

13、是考查考生的基本 SQL语句的掌握和使用。 7 【正确答案】 1教学管理员 2教学管理系统 3选修课管理 4选修课查询 5选修课注册 6教师 7学生 8 【正确答案】 在用例模型中,用例间的关系主要有 4种,继承关联、扩展关联、包含关联和使用关联。下面分别说明。 . 继承关联。用例是一种类,类之间的继承和被继承关系在用例之间也存在。继承关联表示两个用例之间有继承关系。例如财务管理系统中的用例 “超越权限 ”和“资金支出 ”就是继承关联, “资金支出 ”是父用例, “超越权限 ”是子用例, “超越权限 ”用例继承了 “资金支出 ”用例的功能。 . 扩展关联。扩展关联与继承关联类似,通过向基本用例

14、添加动作来扩展该用例。例如,教学管理系统中原先有一个用例 “排课表 ”,现在增加一个 “排新 9 【正确答案】 用例之间使用何种关联,可以如下考虑: (1)一个用例偶尔使用另一个用例的功能描述时,采用继承关联。 (2)两个以上用例重复处理同样的功能,可以采用使用关联或包含关联。 用例要采用多种控制方式对异常或任选动作进行处理时,采用扩展关联。 【试题解析】 首 先,确定角色。主要角色是学生,其他的还有教师、教学管理员,由于选修课的情况要被各学院作为教学汇总信息上交学校教学管理系统,所以教学管理系统也是这个用例图中的一个角色,直接可以确认角色 2是教学管理系统。角色 7执行了教师建立查询,所以角

15、色 7是学生。学生角色还有两个用例,分别是选修课注册和选修课查询,所以用例 5是选修课注册,用例 4是选修课查询,进而角色 6是教师,角色 1是教学管理员, 用例 3是选修课管理。 10 【正确答案】 (1)a, left, i-1 (2)(left+right+1)/2 (3)while(left right) (4)aright)=ai (5)a, left, i-1 【试题解析】 (1)a, left, i-1 递归排序左子区间,从 left到 i-1元素,不包括 i元素。 (2)(left+right+1)/2 三者取中子程序 median3(a, left, right),取基准记录

16、 pivot时,采用从 left、right和 mid=(left+right)/2中取中间值,并交换到 right位置的办法。 (3)while(left right) 循环直到 left和 right相遇。 (4)aright)=ai 若 ai pivot则让 aright=ai而让 ai=pivot;。 (5)a, left, i-1 递归排序左子区间,从 left到 i-1元素,不包括 i元素。 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 11 【正确答案】 (1)class List T

17、(2)ist Ai (3)A, n, i+1, p- link (4)printList(ost, first) (5)printList(p- link) 【试题解析】 (1)class List T 模板类 class T class List必须声明为模板类 class T class ListNode的友元类,这样模板类 class T class List的所有成员函数都可以直接访问模板类class T class ListNode的私有成员。 (2)ist Ai 重载友元函数,从输入流对象 ist读取具有 n个值的数组 A,调用成员函数createList建立链表 L。 (3)A,

18、 n, i+1, p- link 递归成员函数 createList,根据给定的具有 n个值的数组 A,建立以指针 p为头指针的单链表。 (4)printList(ost, first) 重载友元函数,将 first链表输出到输出流对象 ost,调用成员函数 printList实现。 (5)printList(p- link) 递归成员函数 printLisk,输出以指针 p为头指针的链表各结点所包含的数据到输出流对象 ost中。 12 【正确答案】 (1)import java.io.* (2)false (3)ArithmeticException e (4)BufferedReader (5)static String getString() 【试题解析】 (1)import java.io.* Java程序的头部。 (2)false 开关变量 valid初值应该为 false。 (3)ArithmeticException e 捕捉算术计算异常信息。 (4)BufferedReader 动态生成一个 BufferedReader对象用于输入。 (5)static String getString() 读字符串成员函数的函数头部。

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1