欢迎来到天天文库
浏览记录
ID:61772274
大小:434.00 KB
页数:10页
时间:2021-03-19
《第5章习题(修改ok)-答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.简述详细设计的任务。包括模块的算法设计、模块内的数据结构设计、模块接口设计、其它根据软件特点需要完成的设计、模块测试用例设计、设计文档编写、设计评审。2.简述详细设计的原则。①模块的逻辑描述应清晰易读、正确可靠;②设计的处理过程应该简明易懂;③选择恰当的描述工具来描述模块算法。3.简述结构化程序设计基本要求和特点。要点:a.采用自顶向下、逐步求精的程序设计方法b.使用三种基本程序控制结构构造程序1).用顺序方式对过程分解,确定各部分的执行顺序。2).用选择方式对过程分解,确定某个部分的执行条件。3).用循环方式对过程分解,确定某个部分重复的开始和
2、结束的条件。c.主程序员组的组织形式。特点:①自顶向下、逐步求精;②具有单入、单出的控制结构(取消GOTO语句)4.简述用户界面设计的基本原则(1)可靠性用户界面应当提供可靠的、能有效减少用户出错的、容错性好的环境。一旦用户出错,应当能检测出错误、提供出错信息,给用户改正错误的机会。(2)简单性简单性能提高工作效率。用户界面的简单性包括输入、输出的简单性;系统界面风格的一致性;命令关键词的含义、命令的格式、提示信息、输入输出格式等的一致性。(3)易学习性和易使用性用户界面应提供多种学习和使用方式,应能灵活地适用于所有的用户。(4)立即反馈性用户界面对
3、用户的所有输入都应立即做出反馈。当用户有误操作时,程序应尽可能明确地告诉用户做错了什么,并向用户提出改正错误建议。三、下图是使用Basic语言编写的一个打印A,B,C三数中最小者的程序的流程图。其中出现了6个GOTO语句,一个向前,5个向后,程序可读性很差。if(A
4、else结构化构造,则上述程序段可改成如下形式。if(A=BandB10ifA(i)>=n1n2=n1n1=A(i)endwh
5、ile四、选择一种将三个数从小到大排序的算法,分别用(1)流程图,(2)N-S图,(3)PAD图描述其详细过程。设数为a,b,c,其详细过程如下:(1)流程图 (2)N-S图 (3)PAD图 40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。 解:PDL语言: N=1 WHILEN<=10DO IFA(N)<=A(N+1)MAX=A(N+1); ELSEMAX=A(N)ENDIF; N=N+1; ENDWHILE; PAD图: [解析
6、]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。2、将下面给出的伪码转换为N-S图和PAD图。voidroot(floatroot1,floatroot2){i=1;j=0;while(i<=10){输入一元二次方程的系数a,b,c;p=b*b–4*a*c;if(p<0)输出“方程i无实数根”;elseif(p>0)求出根并输出;if(p==0){求出重根并输出;j=j+1;}i=i+1;}i=1;j=0;while(i<=10)输入a,b,c;计算p=b2-4ac;p<
7、0?输出“方程i”无实根求出根并输出âp>0?p==0?求出重根并输出;j=j+1;âi=i+1;输出重根的方程个数iFTTTFF输出重根的方程的个数j;}【解答】(1)N-S图(2)PAD图i=1;j=0;输出重根的方程个数iwhile(i<=10)输入a,b,c;计算p=b2–4ac;求出根并输出p>0?p<0?输出方程i无实根p=0?求出重根并输出;j=j+1;i=i+1;9.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。(3)在(2)题的设计中你使用附加的标志变量flag吗?若
8、没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。STARTIFpTHENWHIL
此文档下载收益归作者所有