ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:120.51KB ,
资源ID:25003715      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25003715.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中级软件设计师下午试题模拟29有答案.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

中级软件设计师下午试题模拟29有答案.docx

1、中级软件设计师下午试题模拟29有答案中级软件设计师下午试题模拟29试题一 阅读以下说明和流程图,回答问题1至问题3,将答案写在对应栏内。 【说明】 下面给出的是某高级公寓管理系统的一套分层数据流图。其功能描述如下所述。 (1)系统随时根据住户送来的入住单更新住户基本信息文件。 (2)每月初系统根据物业管理委员会提供的月附加费(清洁费、保安费等)表和房租调整表,计算每家住户的月租费(包括月附加费),向住户发出交费通知单。住户交费时,系统输入交费凭证,核对后输出数据给住户。 (3)系统定期向物业管理委员会提供住房分配表和交费情况表。 (4)住户因分户或换房,在更新账户基本信息文件的同时,系统应立即

2、对这些住户做月租费计算,以了结分尸或换房前的房租。 假定题中提供的顶层图是正确的,请回答下列问题。1. 【问题1】 指出哪张图中的哪些文件可不必画出。 答案: 0层图中的“房租文件”和“交费文件”是局部文件,可不必画出。2. 【问题2】 指出在哪些图中遗漏了哪些数据流,回答时请用如下形式之一: XX图中遗漏了XX加工(或文件)流向XX加工(或文件)的XX数据流。 XX加工XX遗漏了输入(或输出)数据流XX。 答案: 加工1子图中,遗漏了从“住户基本信息文件”到加工1.1的数据流。 加工1子图中,加工1.6遗漏了输出数据流:“住房分配表”。 加工2子图中,加工2.1遗漏了输入数据流:“月附加费表

3、”。 加工2子图中,加工2.4遗漏了输出数据流:“收据”。 3. 【问题3】 指出加工图2子图中加工2.3能检查出哪些不合格交费凭证。 答案:交费凭证中有非法字符。 交费文件中不存在相应的交费凭证记录。 解答 题型特点、解题的思路和方法已经在模拟试题1中的下午试题1的解析中给出,请考生参考,这里不再详述。 问题1是要找出哪些文件不必画出,就是要找出那些在本层图中的非公共文件,观察各个图,可以发现0层图中的房租文件和交费文件是非公共文件。 问题2是要找出遗漏的数据流,可以使用平衡原则。因为试题中假设顶层图是正确的,所以可以先从0层图开始找。对比0层图和顶层图,可以看出0层图中完整地包含了顶层图中

4、出现的数据流。 分别对比0层图和加工1子图,0层图与加工2子图,注意加工与加工之间,加工与文件之间,加工与外界之间是否可以完整地表现其父图中概括性表现的事实。要按照加工的顺序,考虑实际的流程,可以更容易解决问题。 0层图中加工1出现的输出数据流“住房分配表”在加工1子图中没有出现,通过分析流程,“住房分配表”应该由1.6加工“制作住房分配报告”流出。 在加工1子图中,1.1加工需要使用住户基本信息文件,所以该图中遗漏了从“住户基本信息文件”到1.1加工的数据流。在加工1子图中,没有其他的遗漏。同理,寻找加工2子图中的遗漏数据流。 问题3,在子加工2.3中可以查出的不合格交费凭证是:交费凭证中有

5、非法字符(语法错误),凭证文件中不存在相应的记录(语义错误)。 试题二 阅读以下说明,回答问题1至问题3,将答案写在对应栏内。 【说明】 关于一位花商有以下一些事实。 (1)销售在不同地区生长的花,这些地区一年的量低温度在一定范围内变化。 (2)想用编号来表示发货类型。 (3)要出售某些类型的花。 假定已经通过SQL语句建立了基本表: CREATE TABLE Zone ( ID Char(2) PRIMARY KEY, LowerTemp Number (3), UpperTemp Number (3) ); CREATE TABLE Delivery ( ID char(2)PRIMARY

6、 KEY, Category VarChar (5), DelSize Number (5,3) ): CREATE TABLE FlowerInfo ( ID Char(3) CONSTRAINT Flowerinfo_ id _ pk PRIMARY KEY, ComName VarChar (25), LatName VarChar (30), Czone Number (3), Hzone Number (3), Delivered Number (3), SunNeed Char (3), PRIMARY KEY (ID) ): 地区(ID,最高温度,最低温度) 发货(ID,发货类型

7、,发货规格) 花的信息(ID,普通名,拉丁名,花能够生长的最冷地区,花能够生长的最热地区,发货类型,日光需求)1. 【问题1】 写出语句,将(ID=1,Category=pot,DelSize=1.5)的数据插入DELIVERY表中。 答案: INSERT INTO Delivery(ID,Category,DelSize)VALUE(1,pot,1.5);2. 【问题2】 写出实现语句:查询以花瓶(pot)形式发货的所有鲜花的ID,普通名以及花瓶的规格。得到结果表按普通名的字母逆序打印。 答案: SELECT Flowerinfo.ID,FlowerInfo.ComName,Delivery

8、.DelSize From FLOWERINFO ASF,DELIVERY AS D WHERE F.Delivered=D.id AND D.Category=pot ORDER BY F.ComName DESC; 3. 【问题3】 (1)把对表ZONE的INSERT权限授予用户Smith,并允许他再将此权限授予其他人。 (2)收回已经授予Tom的对FlowerInfo中属性ComName的修改权限。 (3)建立视图viewpot,表现问题2的功能。 答案: (1)GRANT INSERT ON TABLE ZONE TO SMITH WITH GRANT OPTION; (2)REVOK

9、E UPDATE(ComName)ON TABLE FLOWERINFO FROM TOM; (3)CREATE VIEW Viewpot(ID,ComName,DelSize) AS SELECT FlowerInfo.ID,FlowerInfo. ComName,Delivery.DelSize From FLOWERINFO ASP,DELIVERY AS D WHERE F.Delivered=D.ID AND D.Category=pot ORDER BY F. ComName DESC; 解答 问题1的插入语句很简单,只是考查考生基本的SQL语言能力。 Insert语句的基本格式如

10、下: INSERT INTO基本表名(字段名,字段名) VALUES(常量,常量); 问题2中的查询需要两个表:delivery和flowerinfo,必须知道如何连接这两个表。 SELECT语句的基本格式如下: SELECT ALLDISTINCT目标列表达式别名,目标列表达式别名 FROM表名或视图名别名,表名或视图名别名 WHERE条件表达式 GROUP BY列名1HAVING条件表达办 ORDER BY列名2ASCDESC; SQL语言中的数据控制语句有授权(GRANT),收回权限(REVOKE),一般考生对这两个语句的掌握可能会不熟悉。 SQL语言用CREATE VIEW命令建立视图

11、,其一般格式为: CREATE VIEW视图名(列名(,列名) AS子查询 WITH CHECK OPTION; SQL语言用GRANT语句向用户授予操作权限,GRANT语句的一般格式为: GRANT权限,权限 ON对象类型对象名 TO用户,用户 WITH GRANT OPTION; 其语义是将对指定操作对象的指定操作权限授予指定的用户。WITH GRANT OPTION是可将获得的权限授予他人。 授予的权限可以由DBA或其他授权者用REVOKE语句收回。 REVOKE语句的一般格式为: REVOKE权限,权限 ON时象类型对象名 FROM 用户,用户; 试题三 阅读以下说明和图,回答问题1和

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

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

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

15、统传来的选课交费信息,核对该学生是否已经交纳本门课程的费用,没有交纳费用者,不给成绩。 成绩查询;教师和教学管理人员可查询学生各门课程的成绩。查询关键词可为学生姓名(学号),课程名(课程代码)等。学生只能查自己各门课程的成绩,不允许查其他同学成绩。 成绩汇总与报表生成:教学管理人员对学生考试成绩信息进行统计(按学生、课程、专业等),打印汇总报表。向学校教务管理系统发送汇总信息表格等,不反馈信息。1. 【问题1】 完成下面的教学管理系统最高层用例图。 答案:1教学管理员 2财务系统 3学校教务系统 4选修课管理 5学生成绩管理 2. 【问题2】说明用例模型的功能,用例图的主要组成部分,用例建模的

16、步骤。答案: 用例模型是表达系统外部事物(行为者)与系统之间交互的可视化工具。一个系统的用例模型由若干用例图组成,用例图的主要成分有用例、行为者和系统,它用简单的图标元素准确地描述了行为者(角色)与系统的交互情况和系统的功能(用例)。 用例建模的步骤是: (1)确定系统的范围和边界。 (2)确定角色和用例。 (3)对用例进行描述。 (4)定义用例之间的关系。 (5)审核用例模型。 解答 首先分析系统边界,这个教学管理系统与学校教务管理系统和财务管理系统有系统边界,学校教务管理系统只接受学院教学管理系统的汇总信息报表等,不反馈信息;财务管理系统接收学院学生选课情况信息作为收费依据,反馈学生交费信

17、息。 试题中给出的最高层用例图中显示,有5名参与者,并且已经标出教师和学生,可以从已知中得出还有教学管理员。角色2和角色3都只对一个用例发生关系,并且角色3与用例5是单向传递,综合分析可得出角色3是学校教务管理系统,用例5是学生成绩管理,那么,角色2就是财务系统,用例4是选修课管理,角色1是教学管理员。 试题四 阅读下列C程序和程序说明,将应填入 (n) 处的字句写在对应栏内。 1. 【说明】设某城市有n个车站,并有m条公交线路连接这些车站,设这些公交车都是单向的,这n个车站被顺序编号为0至n-1。本程序,输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站0出发乘公交车至站

18、n-1的最少换车次数。 程序利用输入信息构建一张有向图G(用邻接矩阵g表示),有向图的顶点是车站,若有某条公交线路经i站到达j站,就在顶点i到顶点j之间设置一条权为1的有向边i,j。如果这样,从站点x至站点y的最少上车次数便对应图G中从点x到点y的最短路径长度。而程序要求的换车次数就是上车次数减1。 #include stdio.h #define M 20 #define N 50 int aN+1; /*用于存放一条线路上的各站编号*/ int gNN; /*严存储对应的邻接矩阵*/ int distN; /*严存储站0到各站的最短路径*/ int m, n; void buildG()

19、int i, j, k, sc, dd printf(“输入公交线路数,公交站数n”); scanf(%d%d,&m,n); for (i=0;in;i+) /*邻接矩阵清0*/ for(j=0;jn;j+) gij=0; for(i=0;im;i+) printf(沿第%d条公交线路的各站编号(0=编号=%d,-1结束):n),i+1,n-1); sc=0; /* 当前线路站计数器*/ while scanf(%d,&dd); if(dd-1)break; if(dd=0 & ddn) ; asc=-1; for(k=1;ak=0;k+) /*处理第i+1条公交线路*/ for(j=0;jk

20、;j+) g =1; int minLen() int j,k; for(j=0;jn;j+) distj=g0j; dist0=1; do for(k=-1,j=0;jn;j+) /*找下一个最少上车次数的站*/ if(distj0 &(k=-1distjdistk) k=j; if(k0k=n-1) break; distk=-distk; /*设置k站已求得上车次数的标记*/ for (j=1;jn;j+) /*调整经过k站能到达的其余各站的上车次数*/ if( & (distj0-distk+1distj) distj= ; while ; j=distn-1; return ; vo

21、id main() int t; buildG(); if(t=minLen()0) printf(无解!n); else printf(“从0号站到%d站需换车%d次n”,n-1,t); 答案:解答 (1)asc+=dd 将dd赋值给当前线路的asc,并同时将当前线路站计数器加1。 (2)aJak 将aj和ak之间置为通路1。 (3)distj=0 & gkj=1 若distj并且k和j之间有通路,或-distk+1distj,也就是经过k对于j来说上车次数更少,则调整经过k站能到达的其余各站的上车次数。 (4)-distk+1 让distj取经过k的更少上车次数-distk+1。 (5)k

22、0?-1:j-1 若k小于0,表示无解;否则返回j-1也就是上车次数减1。 试题五阅读下列C+程序和程序说明,将应填入 (n) 处的字句写在对应栏内。1. 【说明】程序6说明单源最短路径的分支限界算法。const int MAXNUM=29999;#includeiostream#includevector#includealgorithm#includefunctionalusing namespace std;template class VertexType,class EdgeTypeclass MinNode /程序中使用的最小化堆的结点说明friend class GraphVer

23、texType,EdgeTypepublic:MinNode (int nl, EdgeType length1) VexNum=nl;length=length1;bool operator(const MinNodeVertexType,EdgeType&p)const return p.length;private: int VexNum; /记录源点序号,序号数组p及distance下标相一致。源点为初始扩展顶点 EdgeType length; /记录源点到本顶点的当前最短路径的长度,源点到自身的长度为0 templateclass VertexType,classEdgeTypev

24、oid GraphVertexType,EdgeType: shortestpath(VertexType start) int j,k,source;/source 记录源点的序号。 EdgeType*distance= ; int*p=new intMaxNumVertex; vectorMinNodeVertexType,EdgeType H; for(source=0;sourceMaxNumVertex;source+) if(NodeListsource=start)break; if (source=MaxNumVertex)cout”This is error!”end1;re

25、turn; MinNodeVertexType,Edge Type ; for(k=0;kMaxNumVertex;k+) distancek:MAXXUM; /记录源点到本顶点k的最终的最短路径的长度 pk=source; /记录最短路径上的本顶点的直接前驱顶点的序号 distancesource=0;psource=-1;/m 是源点,前一顶点不存在 vectorMinNodeVertexType, EdgeType:iterator q; while for(j=0;jMaxNumVertex;j+) if(AdjMatrixE.VexNum* MaxNumVertex+jMAXNUM)

26、 &( distancej) distancej=E.length+AdjMatrixE.VexNum* MaxNumVertex+j; pj=E. VexNum; /记录顶点j的前一顶点 MinNodeVertexType, EdgeType ; Hpush_ back(N); push_heap(H. begin(),H.end(),greaterMinNodeVertexType, EdgeType(); if(H.empty()true)break; /若优先队列为空,那么算法结束 else pop_ heap(H.begin(),H. end(),greaterMinNodeVert

27、exType, EdgeType(); q=H.end()-1; /从最小化堆中取路径最短的顶点 E=*q; H.pop_ back(); /删除从最小化堆中“挤”出的顶点 /end while for(k=0;kMaxNumVertex;k+) coutShorstest path from vertexkisdistancekend1; j=k;coutAll vertices are:; while(j!=source)coutj-;j=pj; coutsource”.”end1; /打印顶点的最短路径长度和至源点的最短路径上经过的顶点序列 return; 答案:解答 (1)this-l

28、ength或(*this).length 操作符,的成员函数,比较两个对象的最短路径的长度length,大于则返回真(1)。 (2)new EdgeTypeMaxNumVertex 动态申请EdgeType类的对象数组distance,长度为MaxNumVertex,存放最短路径的长度。 (3)E(source,0) 定义最小化堆模板类MinNodeVertexType, EdgeType的对象E(source,0)。 (4)E.length+ AdjMatrix E. VcxNum* MaxNumVertex+j 若E.length+ AdjMatrix E.VexNum*MaxNumVertex+j小于distancej,则distancej取这个更小值。 (5)N(j,distancej) 定义最小化堆模板类MinNodeVertexType,EdgeType的对象N(j,distancej)。 试题六 阅读下列Java程序和程序说明,将应填入 (n) 处的字句写在对应栏内。 1. 【说明】清点盒子。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1