首页 软件工程试验解析

软件工程试验解析

举报
开通vip

软件工程试验解析美国某大学共有200名教师,校方与教师工会刚签定了一项协议。按照协议,所有年工资超过$26,000(含$26,000)的教师工资将保持不变,年工资少于$26,000的教师将增工资,所增加的工资按下述方法计算:给每个由此教师赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是,增加后的年工资总额不得多于$26,000。教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计算程序计算并印出每名教师的原有工资和调整后的新工资。要求:⑴画出此...

软件工程试验解析
美国某大学共有200名教师,校方与教师工会刚签定了一项 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。按照协议,所有年工资超过$26,000(含$26,000)的教师工资将保持不变,年工资少于$26,000的教师将增工资,所增加的工资按下述方法计算:给每个由此教师赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是,增加后的年工资总额不得多于$26,000。教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计算程序计算并印出每名教师的原有工资和调整后的新工资。要求:⑴画出此系统的数据流图;⑵写出需求说明;⑶设计上述的工资调整程序(要求用判断树描述),设计时请分别采用下述两种算法,并比较这两种算法的优缺点;a.搜索工资档案数据,找出年工资少于$26,000的人,计算新工资,工资 对照表 免费下载字号和pt对照表省市对照表下载尺码对照表下载、简繁体字对照表下载三体系对照表免费下载 ;b.把工资档案数据按工资从做低到最高次序排序,当工资数额超过超过限额,储存性工资,印出结果。⑷你所画出的数据流图适应于哪种算法?解:⑴系统的数据流图调整指令操作员工资调整系统校核是否超过$26,000,储存新工资,印出新旧$26,000时即停止排序,计算新工资,校核是否教师的工资低于$26,000原有工资与新工资对照表操作员D教师工资档案需求说明:程序框图:取教师档案,找出年工资少于$26,000的人的信息存入数据表A,包括如下数据项:n--工资少于$26,000的人数表A字段表A字段表A字段表A字段表A字段1:姓名2:原工资3:赡养人数4:被雇佣日期5:新工资=1调整第i个教师的工资WHILEi≤n=i+1调整第i个教师的工资”子程序:w=A(i,2)m=A(i,3)用A(i,4)计算此教师的工龄存入变量kw=w+100*m+50*kk≥1w=w+100*mw=26000w≥26000A(i,5)=w打印表A的第1、2、5字段讨论:这两框的位置能否调换?用表A修改教师档案数据库相应记录算法说明:1此算法是先找出工资少于$26,000的人,再进行工资调整,属算法a算法a适于数据库的记录不太多的情况,在数据库中查找较费时。但是,调整系统的主要部分少一个判断,结构清晰一些。算法b适于数据库的记录较多的情况,利用数据库的排序功能可很快地将教师的档案数据按工资大小排好序,调整程序只对前若干个记录进行操作。这个算法对于修改数据库回更便捷些。总的说来,算法b比算法a的效率要高。研究下列伪码程序:LOOP:SetIto(START+FINISH)/2IfTABLE(I)=ITEMgotoFOUNDIfTABLE(I)ITEMSetFINISHto(I-1)If(FINISH-START)>1gotoLOOPIfTABLE(START)=ITEMgotoFOUNDIfTABLE(FINISH)=ITEMgotoFOUNDSetFLAGto0GotoDONEFOUND:SetFLAGto1DONE:Exit要求:⑴画出程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图;⑵程序是结构化的吗?说明理由;⑶若程序是非结构化的,请设计一个等价的结构化程序并且画出程序流程图;⑷此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗?解:解:⑵程序不是结构化的,明显标志是程序中有多个“goto”语句解:⑶修改该程序为一个结构化程序:dowhile(FINISH-START)>1setIto(START+FINISH)/2ifTABLE(I)ITEMthensetFINISHto(I-1)endifenddoifTABLE(I)=ITEMorTABLE(START)=ITEMorTABLE(FINISH)=ITEMthensetFLAGto1elsesetFLAGto0endifExit其框图如下解:⑷此程序的功能是:用“逐步搜索”法在一个一维表(TABLE)中搜索指定的值(ITEM)前提是:TABLE中的值是按从小到大存放着程序中,变量START的初始值应该是TABLE表中表头的值,最小;变量FINISH的初始值应该是TABLE表中表尾的值,最大原程序是从两头逐步向中间移动,用两头的中间处的值与ITEM进行比较,若中间处的值比ITEM大,则表的尾部向表头移一步;若中间处的值比ITEM小,则表的头部向表尾移一步。直到找到了与ITEM相同的值为止。若找到了,则置FLAG=1;未找到,则置FLAG=0。用Ashcroft-Manna技术可以将非结构化的程序转换为结构化程序,下图是一个转换的例子⑵请用伪代码程序实现上图给出的结构化设计,不允许使用GOTO语句,可以使用DOCASE语句。⑶进一步简化上图给出的结构化设计。解:⑴原程序框图中“d”条件的一个出口指向操作框“D”,同时“e”条件的一个出口也指向操作框“D”,这就势必会语言程序中出现“GOTO”语句。所以原程序框图是非结构化的。从例子看,Ashcroft-Manna技术的基本做法是:原程序中有几个简单判断语句,就在框图中设置几个分支的CASE语句,每个CASE分支对应一条判断语句。⑵将框图转换成程序只需在DOCASE语句前加一条语句“DO_UNTILI=4”,并把判断“I=4”改成该循环的结束语句即可。⑶其实要将这个非结构化的框图改成结构化的,完全可以不用CASE语句,只要将公共的转移点分开即可。100设计一程序,要求用率选法求100以内的素数,筛选法就是从2到100中去掉2,3,⋯⋯9,10的倍数,剩下的就是以内的素数,已知该程序的功能框架如下:main(){建立2到100的数组A[],其中A[i]=i;建立2到100的素数表B[],其中存放2到10以内的素数;若A[i]=i是B[]中任一数的倍数,则踢除A[i];输出A[]中所有没有被剔除的数;实验要求:(1)将上述框架中的每一个加工语句进一步细化成一个循环语句,并直接用程序设计语言表示出来;(2)画出程序流程图;(3)说明“自顶向下,逐步求精“方法的优点(1):main(){TOC\o"1-5"\h\z/*建立2到100的数组A[],其中A[i]=i*/1for(i=2;i<=100;i++)A[i]=i;/*建立2到10的素数表B[],其中存放2到10以内的素数*/2B[1]=2;B[2]=3;B[3]=5;B[4]=7;/*若A[i]=i是B[]中任一数的倍数,则剔除A[i]*/3for(j=1;j<=4;j++)检查A[]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;3.1/*输出A[]中所有没有被剔除的数*/4for(i=2;i<=100;i++)若A[i]没有被剔除,则输出之;-4.1}继续对3.1和4.1细化下去,直到最后每一个语句都能直接用程序设计语言来表示为止。main(){for(i=2;i<=100;i++)A[i]=i;B[1]=2;B[2]=3;B[3]=5;B[4]=7;/*若A[i]=i是B[]中任一数的倍数,则剔除A[i]*/for(j=1;j<=4;j++)/*检查A[]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除*/for(i=2;i<=100;i++)if(A[i]/B[j]*B[j]==A[i])A[i]=0;/*输出A[]中所有没有被剔除的数*/for(i=2;i<=100;i++)/*若A[i]没有被剔除,则输出之*/if(A[i]!=0)printf(“A[%d]=%d/n”,i,A[i]);}(2)3)自顶向下,逐步求精方法的优点:自顶向下,逐步求精方法符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率;用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,因此程序容易阅读和理解;程序自顶向下,逐步细化,分解成一个树形结构(如图4.2所示)。在同一层的结点上做的细化工作相互独立。在任何一步发生错误,一般只影响它下层的结点,同一层其它结点不受影响。在以后的测试中,也可以先独立地一个结点一个结点地做,最后再集成。程序清晰和模块化,使得在修改和重新设计一个软件时,可复用的代码量最大;每一步工作仅在上层结点的基础上做不多的设计扩展,便于检查;有利于设计的分工和组织工作。(3)数据结构的合理化5.输入三个正整数,判断他们是否构成三角形,如果构成进一步判断三角形的性质:等边,等腰或者一般。(1)画出流程图(2)写出程序代码(3)用黑盒白盒法分别测试并给出测试用例(2)PDL语言描述如下:GET(a,b,c)IF(a+b>candb+c>aandc+a>b)IF(a=b)IF(a=c)PUT("等边三角形")ELSEPUT("等腰三角形")ENDIFELSEIF(a=c)PUT("等腰三角形")ELSEIF(b=c)PUT("等腰三角形")ELSEPUT("一般三角形")ENDIFENDIFENDIFELSEPUT("这不是一个三角形")ENDIF
本文档为【软件工程试验解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:403KB
软件:Word
页数:8
分类:
上传时间:2019-07-18
浏览量:7