版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
“://TopSage/“TopSage 全国计算机技术与软件专业技术资格〔水平〕考试2007年下半年软件设计师下午试卷〔考试时间14:00~16:30共150〕请按下述要求正确填写答题纸请按下述要求正确填写答题纸在答题纸的指定位置填写你所在的省、自治区、直辖市、打算单列市的名称。在答题纸的指定位置填写准考证号、诞生年月日和姓名。答题纸上除填写上述内容外只能写解答。11575解答时字迹务必清楚,字迹不清时,将不评分。仿照下面例题,将解答写在答题纸的对应栏内。例题2007〔水平〔1〕月〔2〕日。例题解答栏〔1〕11〔2〕3例题解答栏〔1〕11〔2〕3〔参看下表。试题一〔15〕阅读以下说明和图,答复以下问题1至问题4,将解答填入答题纸的对应栏内。【说明】成绩,其主要功能描述如下:每门课程都有36个单元构成,每个单元完毕后会进展一次测试,其成绩作为这门课程的寻常成绩。课程完毕后进展期末考试,其成绩作为这门课程的考试成绩。学生的寻常成绩和考试成绩均由每门课程的主讲教师上传给成绩治理系统。在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,依据学生信息文件来确认该学生是否选修这门课程,假设没有,那么这些成绩是无效的;假设他确实选修了这门课程,再依据课程信息文件和课程单元信息文件来验证寻常成绩是否与这门课程所包含的单元相对应,假设是,那么这些成绩是有效的,否则无效。对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将具体状况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。假设一门课程的全部有效的寻常成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处依据需要,恳求系统生成相应的成绩列表,用来提交考试委员会审查。在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。依据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于全部通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。E1E2学生成绩成绩列表成绩结果成绩报告成绩治理系统课程E1E2学生成绩成绩列表成绩结果成绩报告成绩治理系统课程通知E4核对后的成绩报告无效成生成成成绩绩绩列表通知E3单恳求1-1顶层数据流图D2D1D31
E2 成绩报核对后的 告成绩报告 4
成绩审查结果验证学生信息无效成绩 有效成绩
生成成绩列表成绩列表 E13记录无效成绩D5
2D4
5生成最终成绩单成绩单E3图1-2 0层数据流图1〔4分〕1-1中的外部实体E1~E4的名称。2〔3分〕1-2中的数据存储D1~D5的名称。3〔6分〕起点终点1-21-1起点终点4〔2分〕数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。试题二〔15分〕14,将解答填入答题纸的对应栏内。【说明】某汽车修理站拟开发一套小型汽车修理治理系统,对车辆的修理状况进展治理。对于客户及车辆,汽车修理治理系统首先登记客户信息,包括:客户编号、客户名称、客户性质〔个人、单位、折扣率、联系人、联系等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息2-1所示。2-1客户及车辆信息客户编号客户编号GS0051客户名称××公司客户性质单位折扣率 95%车牌号**0765联系人杨浩东联系82638779车型微型车记录修理车辆的故障信息。包括:修理类型〔一般、加急、作业分类〔大、中、小修、结算方式〔自付、三包、索赔〕等信息。修理厂的员工分为:修理员和业务员。车辆修理首先托付给业务员。业务员对车辆进展检查和故障分析后,与客户磋商,确定故2-2所示。车头损坏,水箱漏水表2-2 修理托付书车头损坏,水箱漏水No.20070702003登记日期:2007-07-02车牌号**0765客户编号GS0051修理类型一般业务员中修结算方式自付012故障描述进厂时间估量完工时间2007070211:09修理车间依据修理托付书和车辆的故障现象,在已有的修理工程中选择并确定一个或多个具体修理工程,安排相关的修理工及工时,生成修理派工单。修理派工单如表2-3所示。No.20070702003
2-3修理派工单修理工程编号修理工程工时修理员编号修理员工种012修理车头5.00012机修012修理车头2.00023漆工015水箱焊接补漏1.00006焊工017更换车灯1.00012机修客户车辆在车间修理完毕后,依据修理工程单价和修理派工单中的工时计算车辆此次修理的总费用,记录在托付书中。依据需求阶段收集的信息,设计的实体联系图〔图2-1〕和关系模式〔不完整〕如下所2-1中业务员和修理工是员工的子实体。【概念构造设计】11(1)车辆故障托付书(2)(3)修理工程派工(4)客户业务员员工修理工2-1实体联系图【规律构造设计】客户( (5) ,折扣率,联系人,联系)车辆(车牌号,客户编号,车型,颜色,车辆类别)托付书( (6) ,修理类型,作业分类,结算方式,进厂时间,估量完工时间,登记日期,故障描述,总费用)修理工程(修理工程编号,修理工程,单价)派工单( (7) ,工时)员工( (8) ,工种,员工类型,级别)1〔4分〕2-1中(1)~(4)处联系的类型。联系类型分为一对一、一对多1:1,1:n或1:*,m:n或*:*表示。2〔4分〕补充图2-11,联系2,„。3〔4分〕依据图2-1和说明,将规律构造设计阶段生成的关系模式中的空(5)~(8)补充完整。4〔3分〕依据问题描述,写出客户、托付书和派工单这三个关系的主键。试题三〔15〕14,将解答填入答题纸的对应栏内。【说明】某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上〔同步歌曲。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三局部信息完全一样时,才认为它们是同一首歌曲。艺术22名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能消灭一次。每条音轨都有一个开头位置和持续时间。一张唱片上音轨的次序是格外重要的,〔假设存在的话。依据上述描述,承受面对对象方法对其进展分析与设计,得到了如表3-1所示的类列3-13-2UML状态图。3-1类列表类名类名ArtistSongBandMusicianTrackAlbum说明艺术家歌曲乐队歌手音轨唱片1A1A1演奏0..*0..*B(3)(4)CDE(1) (2)(5)(6)F3-1初始类图3-2UML状态图1〔3分〕3-13-1中的A~F所对应的类。2〔6分〕依据说明中的描述,给出图3-1中〔1〕~〔6〕处的多重度。3〔4分〕3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类类多重度4〔2分〕依据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短大事序列〔假设电池一开头就是有电的。1513,将解答填入答题纸的对应栏内。【说明】njobjobjob1 2 njob(1≤i≤ni,jobp[id[i];i i机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进展处理,一旦作业开头就不行中断,每个作业的最终期限值为单位时间的正整数倍;job~job1
的收益值呈非递增挨次排列,即p[1]≥p[2]≥„≥p[n];jobi则没有收益。
在其期限之内完成,则获得收益p[i];假设在其期限之后完成,4-1是基于贪心策略求解该问题的流程图。J[]n个存储单元,变量kJ[1..k]J[1..k]里的作业按其最终期限非递减排序,d[J[1]]≤≤d[J[k]]。Jjobd[0]=0,0J[0]=0。算法大致思想:先将作业job1
1J[1],然后,依次对每个作业jobi(2≤i≤n)J中,假设能,则将其编号插入到数组JJjobi
Jjobi
和数组J中已有作业均能在其期限之内完成。流程图中的主要变量说明如下:i:循环掌握变量,表示作业的编号;k:表示在期限内完成的作业数;rjobi
J,则其在数组J中的位置为r+1;qJ开头开头处理a开头输入作业数n和期限数组dd[0]=J[0]=0;J[1]=1;k=1d[J[r]]<=d[i]&&d[i]>r?Ni=2Yq=kN(1)?q=q-1i++Yr=k处理aJ[q+1]=J[q];r=r-1Yq>=r+1?NY(2)&&Nd[J[r]]>r?(3)k++输出可完成的作业序列处理a完毕完毕4-1贪心策略流程图1〔9〕4-1(1)、(2)和(3)处。2】(46jobjobjob1 2 6完成作业的收益数组p=(p[1],p[2],p[3],p[4],p[5],p[6])(90,80,50,30,20,10);每个作业的处理期限数组d=(d[1],d[2],d[3],d[4],d[5],d[6])=(1,2,1,3,4,3)。请应用试题中描述的贪心策略算法,给出在期限之内处理的作业编号序列 (4) 〔按作业处理的挨次给出,得到的总收益 (5) 。3】(2对于此题的作业处理问题用图4-1的贪心算法策略能否求得最高收益? (6) 。用贪心算法求解任意给定问题时,是否肯定能得到最优解? (7) 。3道试题〔试题五至试题七〕中任选1道解答。如11道解答有效。试题五〔15〕C〔n〕处的字句写在答题纸的对应栏内。【说明】point)和圆(circle),在设计过程中承受面对对象思想,认为全部的点和圆都是一种图形(shapeshape_t、point_tcircle_t分别表示根本图形、点和圆,并且点和圆具有根本图形的全部特征。[Ctypedefenum{point,circle}shape_type; /*程序中的两种图形:点和圆*/typedefstruct{ /*根本的图形类型*/shape_type type; /*图形种类标识:点或者圆*/void(*destroy);/*销毁图形操作的函数指针*/void(*draw);/*绘制图形操作的函数指针*/}shape_t;typedefstruct{shape_tcommon; intx; inty;}point_t; /*定义点类型y为点坐标*/voiddestroyPoint(point_t*this){free(this);printf(“Pointdestoryed!\n“);} /*销毁点对象*/voiddrawPoint(point_t*this){printf(“P(%d,%d)“,this->x,this->y);} /*绘制点对象*/shape_t*createPoint(va_list*ap){ /*创立点对象,并设置其属性*/point_t* p_point;if((p_point=(point_t*)malloc(sizeof(point_t)))==NULL)returnNULL;p_point->common.type=point; p_point->common.destroy=destroyPoint;p_point->common.draw=drawPoint;p_point->x=va_arg(*ap,int); /*设置点的横坐标*/p_point->y=va_arg(*ap,int); /*设置点的纵坐标*/return(shape_t*)p_point; /*返回点对象指针*/}typedefstruct{/*定义圆类型*/shape_t common;point_t *center; /*圆心点*/int radius; /*圆半径*/}circle_t;voiddestroyCircle(circle_t*this){free( 〔1〕); free(this);
printf(“Circledestoryed!\n“);}voiddrawCircle(circle_t*this){printf(“C(“); 〔2〕.draw(this->center); /*绘制圆心*/printf(“,%d)“,this->radius);}shape_t*createCircle(va_list*ap){ /*创立一个圆,并设置其属性*/circle_t* p_circle;if((p_circle=(circle_t*)malloc(sizeof(circle_t)))==NULL)returnNULL;p_circle->common.type=circle; p_circle->common.destroy=destroyCircle;p_circle->common.draw=drawCircle; 〔3〕=createPoint(ap); /*设置圆心*/p_circle->radius=va_arg(*ap,int); /*设置圆半径*/return p_circle;}shape_t*createShape(shape_typest,...){ /*创立某一种具体的图形*/va_list ap; /*可变参数列表*/shape_t* p_shape=NULL; 〔4〕(ap,st);if(st==point) p_shape=createPoint(&ap); /*创立点对象*/if(st==circle)va_end(ap);returnp_shape;}
p_shape=createCircle(&ap); /*创立圆对象*/intmain(){inti; /*循环掌握变量,用于循环计数*/shape_t*shapes[2]; /*图形指针数组,存储图形的地址*/shapes[0]=createShape(point,2,3); /*23*/shapes[1]=createShape(circle,20,40,10); /*圆心坐标(20,40),半径为10*/for(i=0;i<2;i++){shapes[i]->draw(shapes[i]); printf(“\n“); }/*绘制数组中图形*/for(i=1;i>=0;i--) shapes[i]->destroy(shapes[i]); /*销毁数组中图形*/return0;}[运行结果]P(2,3) 〔5〕Circledestoryed!Pointdestoryed!试题六〔15〕C++代码,将应填入〔n〕处的字句写在答题纸的对应栏内。【说明】某企业的选购审批是分级进展的,即依据选购金额的不同由不同层次的主管人员5万元以下〔不包括5万元〕5万元10万元〔10万元〕1050万元〔50万元〕的选购单,50万元及以上的选购单就需要开会争论打算。PurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApproverPurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApprover-successor:Approver+SetSuccessor(aSuccesssor:Approver)+ProcessRequest(aRequest:PurchaseRequest)批准者选购单DirectorVicePresidentPresidentCongress主任副董事长董事长例会[C++代码]6-1设计类图#include<string>#include<iostream>usingnamespacestd;classPurchaseRequest{public:doubleAmount;//一个选购的金额intNumber;//选购单编号stringPurpose;//选购目的};classApprover{//审批者类public:Approver{ successor=NULL;}virtualvoidProcessRequest(PurchaseRequestaRequest){if(successor!=NULL){ successor-> 〔1〕; }}voidSetSuccessor(Approver*aSuccesssor){successor=aSuccesssor;}private: 〔2〕successor;};classCongress:publicApprover{public:voidProcessRequest(PurchaseRequestaRequest){if(aRequest.Amount>=500000){/*打算是否审批的代码省略*/}else 〔3〕ProcessRequest(aRequest);}};classDirector:publicApprover{public:voidProcessRequest(PurchaseRequestaRequest){ /*此处代码省略*/}};classPresident:publicApprover{public:voidProcessRequest(PurchaseRequestaRequest){ /*此处代码省略*/ }};classVicePresident:publicApprover{public:voidProcessRequest(PurchaseRequestaRequest){ /*此处代码省略*/ }};voidmain{CongressMeeting; VicePresidentSam; DirectorLarry; PresidentTammy;//构造责任链Meeting.SetSuccessor(NULL);Tammy.SetSuccessor( 〔5〕);
Sam.SetSuccessor( 〔4〕);Larry.SetSuccessor( 〔6〕);PurchaseRequestaRequest; //构造一选购审批恳求cin>>aRequest.Amount; //输入选购恳求的金额 〔7〕.ProcessRequest(aRequest);return;}
//开头审批试题七〔15〕Java〔n〕处的字句写在答题纸的对应栏内。【说明】某企业的选购审批是分级进展的,即依据选购金额的不同由不同层次的主管人员5万元以下〔不包括5万元〕5万元10万元〔10万元〕1050万元〔50万元〕的选购单,50万元及以上的选购单就需要开会争论打算。PurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApproverPurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApprover-successor:Approver+SetSuccessor(aSuccesssor:Approver)+ProcessRequest(aRequest:PurchaseRequest)批准者选购单DirectorVicePresidentPresidentCongress主任副董事长董事长例会7-1设计类图[JavaclassPurchaseRequest{public doubleAmount; //一个选购的金额public intNumber; //选购单编号public StringPurpose; //选购目的};classApprover{ //审批者类public Approver{successor=null; }public voidProcessRequest(PurchaseRequestaRequest){if(successor!=null){ successor. 〔1〕; }}public voidSetSuccessor(ApproveraSuccesssor){successor=aSuccesssor;}private 〔2〕successor;};classCongressextendsApprover{public v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络互联对全球化经济的影响力
- 爱洗手的好宝宝健康活动
- 河南省2024九年级语文上册第五单元19怀疑与学问课件新人教版
- 红细胞增多症的诊断与治疗
- 结核骨影像鉴别病
- 吉林省2024七年级数学上册第2章整式及其加减2.4整式的加减4.整式的加减课件新版华东师大版
- 黄瓜生长期枯萎病与防治
- 骨伤科的治疗方法
- 氧化碳制取的研究的说课稿
- 红楼梦说课稿
- 第3讲 决策课件
- 吉林师范大学《复变函数与积分变换》2021-2022学年第一学期期末试卷
- 传染病实验室检查的质量控制
- 广东开放大学2024年秋《国家安全概论(S)(本专)》形成性考核作业参考答案
- 期中测试卷(1~3单元)(试题)2024-2025学年五年级上册数学人教版
- 四川省成都市2024年七年级上学期期中数学试卷【附答案】
- 期中易错密押卷(第1-5单元)(试题)-2024-2025学年五年级上册数学人教版
- 咸宁房地产市场月报2024年08月
- 天然气管道保护施工方案
- 2024-2030年中国艾草行业供需分析及发展前景研究报告
- 北京市海淀区2022-2023学年七年级上学期期末语文试题
评论
0/150
提交评论