第5章习题(修改ok)-答案.docxVIP

  • 22
  • 0
  • 约2.93千字
  • 约 5页
  • 2021-10-14 发布于陕西
  • 举报
第5章习题(修改ok)-答案 1.简述详细设计的任务。 包括模块的算法设计、模块内的数据结构设计、模块接口设计、其它根据软件特点需要完成的设计、模块测试用例设计、设计文档编写、设计评审。 2.简述详细设计的原则。 ① 模块的逻辑描述应清晰易读、正确可靠; ② 设计的处理过程应该简明易懂; ③ 选择恰当的描述工具来描述模块算法。 3.简述结构化程序设计基本要求和特点。 要点: a.采用自顶向下、逐步求精的程序设计方法 b.使用三种基本程序控制结构构造程序 1).用顺序方式对过程分解,确定各部分的执行顺序。 2).用选择方式对过程分解,确定某个部分的执行条件。 3).用循环方式对过程分解,确定某个部分重复的开始和结束的条件。 c.主程序员组的组织形式。 特点: ① 自顶向下、逐步求精; ② 具有单入、单出的控制结构(取消GOTO语句) 4.简述用户界面设计的基本原则 (1)可靠性 用户界面应当提供可靠的、能有效减少用户出错的、容错性好的环境。一旦用户出错,应当能检测出错误、提供出错信息,给用户改正错误的机会。 (2)简单性 简单性能提高工作效率。用户界面的简单性包括输入、输出的简单性;系统界面风格的一致性;命令关键词的含义、命令的格式、提示信息、输入输出格式等的一致性。 (3)易学习性和易使用性 用户界面应提供多种学习和使用方式,应能灵活地适用于所有的用户。 (4)立即反馈性 用户界面对用户的所有输入都应立即做出反馈。当用户有误操作时,程序应尽可能明确地告诉用户做错了什么,并向用户提出改正错误建议。 三、下图是使用Basic语言编写的一个打印A,B,C三数中最小者的程序的流 程图。其中出现了6个GOTO语句,一个向前,5个向后,程序可读性很差。 if ( A B ) goto 120; if ( B C ) goto 110; 100 print C; goto 140; 110 print B; goto 140; 120 if ( A C ) goto 130; goto 100; 130 print A; 140 试利用基本控制结构,将程序中的GOTO语句消去。(10分) 三、答案:使用if - then - else结构化构造,则上述程序段可改成如下形式。 if ( A B and A C ) then print A else if ( A = B and B C ) then print B else print C; 4.请使用流程图、PAD图各PDL语言描述下列程序的算法。 (1)在数据A(1)-A(10)中求最大数和次大数。 (2)输入三个正整数作为边长、判断该三条边构成的三角形是等边、等腰或一般三角形。 答: (1) 1)流程图: 2)PAD图 3)PDL语言 定义 n1=n2=0 输入A(1).......A(10) n1=n2=A(1) while i10 if A(i)=n1 n2=n1 n1=A(i) end while 四、选择一种将三个数从小到大排序的算法,分别用(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 WHILE N=10 DO IF A(N)=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE; PAD图: [解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。 2、 将下面

文档评论(0)

1亿VIP精品文档

相关文档