为每个模块进行详细的算法设计2`为模块内的数据结构进行设计.docxVIP

  • 25
  • 0
  • 约1.58千字
  • 约 7页
  • 2020-10-05 发布于河北
  • 举报

为每个模块进行详细的算法设计2`为模块内的数据结构进行设计.docx

. 第十六套 习 题 1、详细设计的基本任务是什么,有哪几种描述方法 ? 答:详细设计的基本任务包括: 1、为每个模块进行详细的算法设计 2、为模块内的数据结构进行设计 3、对数据库进行物理设计 4、其他设计 5、编写详细设计说明书 6、评审 详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和 PAD( 问题分析图 )为描述工具,语言常用过程设计语言 (PDL) 来作为工具。 2、结构化程序设计的基本要点是什么 ? 答:主要有三个: (1)采用自顶向下、逐步求精的程序设计方法 (2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复 (循环 ) 三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。 (3)主程序员组的组织形式。 3、简述 Jackson方法的设计步骤。 答: Jackson方法的设计步骤如下: (1)分析并确定输入数据和输出数据的逻辑结构,并用 Jackson结构图表示这些数据结 构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 (3)按一定的规则由输入、输出的数据结构导出程序结构。 (4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。 (5)用伪码写出程序。 . . 4、请使用流程图、 PAD 图和 PDL 语言描述下列程序的算法。 (1)在数据 A(1) ~ A(10) 中求最大数和次大数。 解:如图所示: PDL 语言描述: GET(a[1],a[2],...a[10]) max=a[1]; . . max2=a[2]; FOR i=2 TO 10 IF a[i]max max2=max; max=a[i]; ELSE IF a[i]max2 max2=a[i]; ENDIF ENDIF ENDFOR PUT(max,max2) END (2)输入三个正整数作为边长, 判断该三条边构成的三角形是等边、 等腰还是一般三角 形。 解:如图: . . PDL 语言描述如下: GET(a,b,c) IF (a+bc and b+ca and c+ab) IF (a=b) IF (a=c) PUT(等边三角形 ) ELSE PUT(等腰三角形 ) ENDIF ELSE IF(a=c) PUT(等腰三角形 ) ELSE IF (b=c) PUT(等腰三角形 ) ELSE . . PUT(一般三角形 ) ENDIF ENDIF ENDIF ELSE PUT (这不是一个三角形 ) ENDIF 5、用 PAD 图描述下面问题的控制结构。 有一个表 A(1)、A(2) 、...A(n) ,按递增顺序排列。给定一个 Key 值,在表中用折半法查找。若找到,将表位置 i 送入 x,否则将零送到 x,同时将 key 值插入表中。 算法: (1)置初值 H=1( 表头 ),T=N( 表尾 )。 (2)置 i=[(H+T)/2]( 取整 )。 (3)若 Key=A(i) ,则找到 ,i 送到 x;若 KeyA(i) ,则 Key 在表的后半部分, i+1 送入 H; 若 KeyA(i), 则 Key 在表的前半部分, i-1 送入 T,重复第 2 步查找直到 HT 为止。 (4)查不到时,将 A(i),...A(N) 移到 A(i+1)...A(N+1),Key 值送入 A(i) 中。 解:如图所示: . . 6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空 格字符的个数及文件中空格字符的总个数。 要求输出数据格式是每复制一行字符串后, 另 起一行打印出这个字符串中的空格数, 最后打印出文件空格的总个数, 用 Jackson 方法设 计该程序结构。 . . .

文档评论(0)

1亿VIP精品文档

相关文档