软件工程导论--第七章课后答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章习题答案2.研究下面给出的伪码程序,要求:⑴画出它的程序流程图。⑵它是结构化的还是非结构化的?说明你的理由。⑶若是非结构化的,则(a)把它改造成仅用三种控制结构的结构化程序;(b)写出这个结构化程序的伪码;(c)用盒图表示这个结构化程序。⑷找出并改正程序中的逻辑错误。COMMENT:PROGRAMSEARCHESFORFIRSTNREFERENCESTOATOPICINANINFORMATIONRETRIEVALSYSTEMWITHTTOTALENTRIESINPUTNINPUTKEYWORD(S)FORTOPICI=0MATCH=0DOWHILEI≤TI=I+1IFWORD=KEYWORDTHENMATCH=MATCH+1STOREINBUFFERENDIFMATCH=NTHENGOTOOUTPUTENDENDIFN=0THENPRINT”NOMATCH”OUTPUT:ELSECALLSUBROUTINETOPRINTBUFFERINFORMATIONEND解:⑴程序流程图(如图2.1所示)⑵此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一个条件语句内部。⑶修改后的伪码如下:YESYES开始输入N输入关键字WORDI=0MATCH=0循环N+1次I=I+1I控制搜索总次数的计数器MATCH控制搜索成功次数的计数器遇到的字=KYEWORD?MATCH=MATCH+1保存MATCH到缓冲器MATCH=N?NON=0调子程序打印缓冲器信息打印“没有匹配”结束NOYES图2.1INPUTN,T输入NINPUTKEYWORD(S)FORTOPIC输入有关话题的关键字OPENFILE打开文件I=0MATCH=0DOWHILEI≤T循环—最多可做T次I=I+1READAWORDOFFILETOWORD从文件里读一个字到变量WORDIFWORD=KEYWORDTHENMATCH=MATCH+1IFMATCH=NTHENEXIT搜索到了N个关键字,就跳出循环ENDIFENDIFENDDOIFMATCH=0THENPRINT”NOMATCH”若MATCH=0就打印“没有相匹配”ELSEPRINT“共搜索到”;MATCH;“个匹配的关键字”否则打印信息ENDIF修改后的程序框图(盒图)⑷程序中的错误:①语句“IFWORD=KEYWORD”里的变量“WORD”没有预先赋值。②程序中没有预先输入T的值③“N=0”应该是“MATCH=0”4.回答下列问题:(1)什么是模块测试和集成测试?它们各有什么特点?答:模块测试是对每个单独的模块,分别用黑盒和白盒测试技术,测试它的功能是否正确,检查模块控制结构中的特定路径并发现最大数量的错误。其特点是:主要应用白盒测试的技术,对多个模块的测试可以并发的进行。集成测试是把模块装配在一起形成完整的软件包,在装配的同时进行测试。特点是:可能发生接口问题。(2)假设有一个由1000行FORTRAN语句构成的程序(经编以后大约有5000条机器指令)估计在对它进行测试期间将发现多少个错误?为什么?答:月25至100个错误,美国的一些统计数字告诉我们通常这个比值在0.005~0.02之间,也就是说,测试之前每1000条指令中大约有5~20个错误。假设测试之前每1000条指令中有10个错误,则估计对它进行测试期间将发现的错误数为:5000*10/1000=50。(3)设计下面伪码程序的语句覆盖和条件覆盖测试用例:STARTINPUT(A,B,C)IFA5THENX=10ELSEX=1ENDIFIFB10THENY=20ELSEY=2ENDIFIFC15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP答:此程序的语句覆盖用例:①A=5,B=10,C=15;②A=6,B=11,C=16条件覆盖用例为:①A=5,B=10,C=15;②A=6,B=11,C=16。输入A,B,CA5≤X=10X=1B10≤Y=20Y=2C15≤Z=30Z=3打印X,Y,ZStartStop

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功