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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(【计算机类职业资格】中级软件设计师下午试题-32及答案解析.doc)为本站会员(wealthynice100)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】中级软件设计师下午试题-32及答案解析.doc

1、中级软件设计师下午试题-32 及答案解析(总分:78.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明、图 1 和图 2,回答问题 1、问题 2 和问题 3。【说明】下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借 3 辆车。每辆车借期 7 天;若有一辆车超期,则不可再借其他车。一辆车超期一天罚款 250 元。若一辆车超期3 周不归还,则发布通告。若用户借

2、的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价(包括折旧)的 1.2 倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。【状态图 1】(分数:15.00)(1).【问题 1】分析车辆的状态和事件,指出图 1 中的(1)、(2)、(3)、(4)分别是什么?(分数:5.00)_(2).【问题 2】分析用户的状态和事件,指出图 2 中的(5)、(6)、(7)、(8)分别是什么?(注意,用户与车辆在状态图中的关系)。(分数:5.00)_(3).【问题 3】指出 UML 中活动图的含义,并说明活动图和状态图的区别与联系。【状态图 2】(分数:5.00)

3、_二、B试题二/B(总题数:1,分数:10.00)阅读以下说明和流程图(如图 2 所示),回答问题 1 和问题 2。【说明】本流程图实现从成绩文件生成学生成绩一览表。某中学某年级的学生成绩数据(分数)登录在成绩文件 10 中,其记录格式见表 2:B 表 2/B 学号 姓名 课程 1 成绩 课程 2 成绩 课程 6 成绩由该成绩文件生成见表 3 的学生成绩一览表。生成的学生成绩一览表按学号升序排列。表中的名次是指该生相应课程在年级中的名次。B 表 3/B 学号 姓名 课程 1 课程 2 课程 6成绩 名次 成绩 名次 成绩 名次流程图中的顺序文件 F0 是学生成绩文件,F0 文件经处理 1 处理

4、后产生顺序文件 F,然后经过处理 2至处理 4 对文件 F 进行处理和更新。在处理 5 中,仅对文件 F 的纪录进行学生成绩一览表的编排输出,不进行排序和增加名次等处理。(分数:10.00)(1).【问题 1】流程图中文件 F 的纪录格式设定为见表 4 形式:B 表 4/B 学号 姓名 课程代码 其中的、应定义为何种数据项?(分数:5.00)_(2).【问题 2】简述处理 2、处理 3 和处理 4 作何种处理,若有排序处理则需指明排序的键及序(升序或降序)。【流程图】(分数:5.00)_三、B试题三/B(总题数:1,分数:11.00)1.根据题意回答以下问题: 设某商业集团数据库中有 3 个实

5、体集:一是“商店”实体集,属性有商店编号,商店名,地址等;二是“商品”实体集,属性有商品号,商品名,规格,单价等;三是“职工”实体集,属性有职工编号,姓名,性别,业绩等。商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以在多个商店和职工间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 问题: 1请根据题意完善下面 ER 图。 2将 ER 图转换成关系模型,并注明主键和外键。 3请写出要查出员工“小李”在三月份的销售业绩的关系代数式。(分数:11.00)_四、B试题四/B(总题数:1,分数:11.00)2.下列给定程序中,函数 f

6、un()的功能是:对 N 名学生的学习成绩,按从高到低的顺序找出前 m(m10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 (分数:11.00)_五、B试题五/B(总题数:1,分数:11.00)3.【程序 5 说明】 设 M 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用“()”括起来的各子树的列表(如有子树的话),各子列表间用“,”分隔。例如下面的三叉树可用

7、列表 a(b(c,d),e,f(g,h,i)表示。 本程序输入列表,生成一棵 M 叉树,并由M 叉树输出列表。假定输入无错误。 【程序 5】 #includeStdio.h #includeStdlib.h #define M 3 typedef struct nodechar val; struct node,subTreeM; NODE; char buf255,*Str=buf; NODE * d=NULL NODE*makeTree()/*由列表生成 M 叉树*/ int k;NODE*s; s=U (1) /U; s-val= *Str+; for(k=0;kM;k+)s-subTr

8、eekNULL; if(* str() k0; dostr+; s-sub TreekU (2) /U; if(*Str=)Str+;break; k=k+1; while(U (3) /U); return s; void walkTree(NODE*t)/*由 M 又树输出列表*/ int i; if(t!=NULL) U (4) /U if(t-subTree0=NULL)return; putchar(); for(i=0;iM;i+) U(5) /U; if(i!M-1 float ConcretePrice; public: Money(float f,float c); floa

9、t Tota|Money(float fencelen, float conarea); ; Money:Money(float f,float c) U(3) /U float Money:Tota|Money(float fencelen, float conarea) U(4) /U void main( ) float radius, fence, concrete; cout. setf(ios: fixed); cout. setf(ios: showpoint); cout. precision (2); cout “Enter the radius of the pool:“;

10、 cin radius; cout “Enter the FencePrice:“; cin fence; cout “Enter the ConcretePrice: “; cin concrete; Circle Pool(radius); Circle PoolRim(radius + WIDTH); Money mon( fence, concrete); float totalmoney = mon. TotalMoney( PoolRim. Circumference( ), ( PoolRim. Area ( ) - Pool. Area ( ) ) ); cout “The t

11、otal money is RMB“ totalmoney end|; (分数:10.00)_七、B试题七/B(总题数:1,分数:10.00)5.【说明】 下面是一个 Applet 程序,其功能是将完整的图像显示于 Applet 的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。 程序运行结果如图 5 所示。 (分数:10.00)_中级软件设计师下午试题-32 答案解析(总分:78.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明、图 1 和图 2,回答问题 1、问题 2 和问题 3。【说明】下面是某租车信息管理系统的介绍:该车库中备有若干车

12、辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借 3 辆车。每辆车借期 7 天;若有一辆车超期,则不可再借其他车。一辆车超期一天罚款 250 元。若一辆车超期3 周不归还,则发布通告。若用户借的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价(包括折旧)的 1.2 倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。【状态图 1】(分数:15.00)(1).【问题 1】分析车辆的状态和事件,指出图

13、1 中的(1)、(2)、(3)、(4)分别是什么?(分数:5.00)_正确答案:()解析:(1)cancel register(注销旧车的注册) (2)register(车辆注册) (3)return(归还) (4)lost report(遗失报告)(2).【问题 2】分析用户的状态和事件,指出图 2 中的(5)、(6)、(7)、(8)分别是什么?(注意,用户与车辆在状态图中的关系)。(分数:5.00)_正确答案:()解析:(5)cancel register(注销用户的注册) (6)borrow/n+1(借车/拥有车的数量+1) (7)penalty and n=0(罚款并且拥有车的数量为

14、0) (8)3(3).【问题 3】指出 UML 中活动图的含义,并说明活动图和状态图的区别与联系。【状态图 2】(分数:5.00)_正确答案:()解析:活动图(activity diagram)显示动作及其结果。活动图着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。活动图是状态图的一个变种,与状态图的目的有一些小的差别,活动图的主要目的是描述动作(执行的工作和活动)及对象状态改变的结果。当状态中的动作被执行(不像正常的状态图,它不需指定任何事件)时,活动图中的状态(称为动作状态)直接转移到下一个阶段。活动图和状态图的另一个区别是活动图中的动作可以放在泳道中。泳道聚合一组活动,

15、并指定负责人和所属组织。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。 解析 根据题意可以分析出车辆的状态和事件,例如根据“车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用”,可以得出(1)、(2)空分别是注销旧车的注册和车辆注册。(3)空可以从在库状态和在借状态的合理推断,得出从在借状态到在库状态只有一种事件“归还”。从在借状态到终结状态,也只有一种可能性,那就是遗失。 根据题意“注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款”,得出从“No Car”到终结状态的事件(5)空是 cance

16、l resister(注销用户的注册)。根据从“No Car”到“Has Car”的事件(6)空是 borrow(借车),同时已知用户可以借多辆车,当前拥有车 n 辆,所以需要 n+1。根据“若用户借的车丢失,在罚款处理之前不能借车”可知 (7)空是 penalty(罚款),同时状态从“Has Car”到达“No Car” 说明 n= 0。根据“每个用户最多可同时借 3 辆车”,可以得出(8)空为 3。 所有的系统均有静态结构和动态行为。结构可以用静态模型元素来描述,如类、关系、节点和构件。行为描述结构内的元素如何交互。通常情况下,这些交互是确定的且可以建立模型。抽象系统的动态行为也称为动态建

17、模,UML 支持动态建模。在 UML 中有 4 类图,每一类用于不同的目的:状态、序列、协作和活动。状态图被用来描述类(也可以用于子系统或整个系统)中的行为和内部状态。它着眼于描述随着时间的改变,对象如何改变其状态。状态的改变起决于出现的事件,状态中执行的行为和动作,状态转移等。事件可能是条件成真,接收一个信号或一个操作调用或经过指定时间。序列图主要用来描述在指定情节中一组对象是如何交互的。它着眼于消息序列,也就是说,在对象间如何发送和接收消息。序列图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示有关的对象。序列图中最基本的东西是时间。协作图主要用来描述对象在空间中的交互,即除了动态交互,它也直

18、接描述对象是如何链接在一起的。在协作图中没有时间轴,因而将消息按序编号。二、B试题二/B(总题数:1,分数:10.00)阅读以下说明和流程图(如图 2 所示),回答问题 1 和问题 2。【说明】本流程图实现从成绩文件生成学生成绩一览表。某中学某年级的学生成绩数据(分数)登录在成绩文件 10 中,其记录格式见表 2:B 表 2/B 学号 姓名 课程 1 成绩 课程 2 成绩 课程 6 成绩由该成绩文件生成见表 3 的学生成绩一览表。生成的学生成绩一览表按学号升序排列。表中的名次是指该生相应课程在年级中的名次。B 表 3/B 学号 姓名 课程 1 课程 2 课程 6成绩 名次 成绩 名次 成绩 名

19、次流程图中的顺序文件 F0 是学生成绩文件,F0 文件经处理 1 处理后产生顺序文件 F,然后经过处理 2至处理 4 对文件 F 进行处理和更新。在处理 5 中,仅对文件 F 的纪录进行学生成绩一览表的编排输出,不进行排序和增加名次等处理。(分数:10.00)(1).【问题 1】流程图中文件 F 的纪录格式设定为见表 4 形式:B 表 4/B 学号 姓名 课程代码 其中的、应定义为何种数据项?(分数:5.00)_正确答案:()解析:成绩 名次(2).【问题 2】简述处理 2、处理 3 和处理 4 作何种处理,若有排序处理则需指明排序的键及序(升序或降序)。【流程图】(分数:5.00)_正确答案

20、:()解析:课程代码按升序排列、成绩按降序排列 解析 处理 2 对每个文件 F 进行排序。处理 3 对每个课程代码,确定学生名次,写入文件 F 的相应字段。处理 4 按学号(升序)、课程代码(升序)对文件 F 排序。三、B试题三/B(总题数:1,分数:11.00)1.根据题意回答以下问题: 设某商业集团数据库中有 3 个实体集:一是“商店”实体集,属性有商店编号,商店名,地址等;二是“商品”实体集,属性有商品号,商品名,规格,单价等;三是“职工”实体集,属性有职工编号,姓名,性别,业绩等。商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以在多个商店和职工间存在“聘用”联系,

21、每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 问题: 1请根据题意完善下面 ER 图。 2将 ER 图转换成关系模型,并注明主键和外键。 3请写出要查出员工“小李”在三月份的销售业绩的关系代数式。(分数:11.00)_正确答案:()解析:如图 5 所示。 四、B试题四/B(总题数:1,分数:11.00)2.下列给定程序中,函数 fun()的功能是:对 N 名学生的学习成绩,按从高到低的顺序找出前 m(m10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数

22、中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 (分数:11.00)_正确答案:()解析:(1)n=(STU*)malloc(sizeof(STU)*m) (2)bi.orderbj.order (3)tt 解析 填空 1:tt 是结构体 STU 型指针,声明时并没有进行初始化,所以,需要使用 malloc()函数动态申请存储空间。动态申请存储空间的大小取决于函数的形参 m。填空 2:按成绩高低找出前 m 名学生的方法是,先假设第一名学生成绩最高,依次与其他学生的成绩进行比较,如果出现成绩更高者,则认为这名学生成绩最高,全部比较完后找到成绩第一名的学生,存入指针 tt

23、 所指的结构体空间中,同时将这名同学的成绩置 0,这样在其他同学中找第一名就相当于找到所有同学中的第二名,依此类推,进行 m 次循环,找到前 m 名学生。填空 3:题目要求函数值返回动态分配的存储区的首地址,所以返回指针 tt。五、B试题五/B(总题数:1,分数:11.00)3.【程序 5 说明】 设 M 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用“()”括起来的各子树的列表(如有子树的话),各子列表间用“,”分隔。例如下面的三叉树可用列表 a(b(c,d),e,f(g,h,i)表示。 本程序输入列表,生成一棵 M 叉树,并由M 叉树输出列

24、表。假定输入无错误。 【程序 5】 #includeStdio.h #includeStdlib.h #define M 3 typedef struct nodechar val; struct node,subTreeM; NODE; char buf255,*Str=buf; NODE * d=NULL NODE*makeTree()/*由列表生成 M 叉树*/ int k;NODE*s; s=U (1) /U; s-val= *Str+; for(k=0;kM;k+)s-subTreekNULL; if(* str() k0; dostr+; s-sub TreekU (2) /U;

25、if(*Str=)Str+;break; k=k+1; while(U (3) /U); return s; void walkTree(NODE*t)/*由 M 又树输出列表*/ int i; if(t!=NULL) U (4) /U if(t-subTree0=NULL)return; putchar(); for(i=0;iM;i+) U(5) /U; if(i!M-1 float ConcretePrice; public: Money(float f,float c); float Tota|Money(float fencelen, float conarea); ; Money:

26、Money(float f,float c) U(3) /U float Money:Tota|Money(float fencelen, float conarea) U(4) /U void main( ) float radius, fence, concrete; cout. setf(ios: fixed); cout. setf(ios: showpoint); cout. precision (2); cout “Enter the radius of the pool:“; cin radius; cout “Enter the FencePrice:“; cin fence;

27、 cout “Enter the ConcretePrice: “; cin concrete; Circle Pool(radius); Circle PoolRim(radius + WIDTH); Money mon( fence, concrete); float totalmoney = mon. TotalMoney( PoolRim. Circumference( ), ( PoolRim. Area ( ) - Pool. Area ( ) ) ); cout “The total money is RMB“ totalmoney end|; (分数:10.00)_正确答案:(

28、)解析:(1)const float PI=3.14159f; const float WIDTH=3.00f; (2)Circle(floatr):radius(r); (3)FencePrice=f; ConcretePrice=c; (4)return FencePrice * fencelen+ConcretePrice*conarea; 解析 本题考查了考生对符号常量的定义及类的定义与实现等方面的内容。注意常类型的定义应使用const 关键字。七、B试题七/B(总题数:1,分数:10.00)5.【说明】 下面是一个 Applet 程序,其功能是将完整的图像显示于 Applet 的区块

29、中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。 程序运行结果如图 5 所示。 (分数:10.00)_正确答案:()解析:(1)0 (2)getDocumentBase() (3)this (4)mouseDrag (5)repaint() 解析 本题主要考查在Applet 窗口中显示图像,并结合鼠标事件处理的综合应用。解题关键是熟悉图像文件的加载过程,会跟踪鼠标拖动的事件,并将鼠标在 Applet 窗口中的坐标信息作为参数传递给 drawImage()方法,用于在新的位置显示图像,从而实现拖动效果。本题中,getImage()方法应该有 2 个参数,第一个参数是 getDocumentBase()方法的返回值,即图像文件的路径;drawImage()方法最后一个参数应该是 this,确定是在当前运行的对象中绘制图像;应该调用 repaint()方法,进行重画,而不是 paint()方法。

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