第6章 详细设计

合集下载

张海藩《软件工程导论》(第6版)(章节题库 第6章 详细设计)【圣才出品】

张海藩《软件工程导论》(第6版)(章节题库 第6章 详细设计)【圣才出品】
圣电子书

十万种考研考证电子书、题库视频学习平台
第 6 章 详细设计
一、选择题 1.在软件开发过程中,以下说法正确的是( )。 A.程序流程图是逐步求精的好工具 B.N-S 图不可能任意转移控制,符合结构化原则 C.判定表是一种通用的设计工具 D.程序流程图和 N-S 图都不易表达模块的层次结构 【答案】B 【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控 制流程,而不去考虑程序的全局结构;判定表不是一种通用的设计工具,没有一种简单的方 法使用它能同时清晰地表示顺序和循环等结构;程序流程图不易表示模块的层次结构,N- S 图则可以表示模块的层次结构。
11.程序控制一般分为( )、分支、循环三种基本结构。 A.分块 B.顺序 C.循环 D.分支 【答案】B 【解析】程序控制一般分为顺序结构、分支结构也成选择结构、循环结构三种基本结构, 任何一种结构都能由这三种结构组成。
12.Jackson 方法根据( )来导出程序结构。 A.数据结构 B.数据间的控制结构
4 / 14
圣才电子书 十万种考研考证电子书、题库视频学习平台

10.对于详细设计,下面说法错误的是( )。 A.详细设计是具体地编写程序 B.详细设计是细化成很容易地从中产生程序图纸 C.详细设计的结果基本决定了最终程序的质量 D.详细设计中采用的典型方法是结构化程序设计方法 【答案】A 【解析】详细设计阶段,主要对模块内的算法和模块内的数据结构进行设计,具体编写 程序属于编码阶段的任务。
8.( )工具在软件详细设计过程中不采用。 A.判定表 B.IPO 图 C.PDL D.DFD 图 【答案】D 【解析】DFD 图(数据流图)是软件需求阶段过程中采用的工具,用于描述系统的分 解,即描述系统由哪几个部分组成,各部分之间有什么联系等等。

软件工程 第6章:详细设计

软件工程 第6章:详细设计

(1)响应时间
系统响应时间:从用户完成某个控制动作,到软件
给出预期的响应之间的这段时间。TFB、TLB
两个重要属性:长度、易变性
过长:用户就会感到紧张和沮丧 过短:迫使用户加快操作节奏,增加出错机会 易变性:系统响应时间相对于平均响应时间的偏差,有 助于用户建立起稳定的工作节奏。
(2)用户帮助
集成
F 函数结点
由于函数结点一般对应于赋值语句,所以 F 也表
示了这一个结点对应的函数关系。
② 谓词结点
如果一个结点有一个入口线和两个出口线,而且它不
改变程序的数据项的值,则称为谓词结点。
P 谓词结点
③ 汇点
如果一个结点有两个或多个入口线和一个出口线, 而且它不执行任何运算,则称为汇点 。
汇点
汇点的简略表示
<30公斤
免费
(1)
1 国内乘客 头等舱 残疾乘客
行李重量W≤30
T
2 T T F F
3 T F F F
4 T T T F
5 T F T F
6 F T F F
7 F F F F
8 F T T F
9 F F T F
免费 (W-30)×2 (W-30)×3 (W-30)×4 (W-30)×6 (W-30)×8 (W-30)×12
1. 程序流程图
程序流程图: 是一种描述程序的控制结构流程
和指令执行情况的有向图。
历史悠久、使用广泛、直观描绘控制流程、
便于初学者掌握。
起止端点
数据
处理
准备或预处理
预先定义的处理
条件判断
循环上界限
循环下界限
文档
流线
虚线
省略符
并行方式

软件工程第六章 详细设计

软件工程第六章 详细设计

软件工程第六章详细设计软件工程第六章详细设计6.1 概述本章节旨在对软件系统的详细设计进行介绍。

详细设计将在系统的高层设计基础上,进一步细化系统结构、模块划分以及相互关系,并定义系统中各个组件的详细功能和接口。

6.2 系统结构设计系统结构设计主要包括以下内容:- 系统总体架构:描述系统整体的结构和组成部分,包括各个模块和它们的关系。

- 模块划分:根据系统需求,将系统划分为若干个模块,并定义各个模块的职责和功能。

- 模块关系:描述各个模块之间的依赖关系和通信方式,包括模块之间的接口和数据流。

6.3 模块设计模块设计是详细设计的核心内容,主要包括以下内容:- 模块接口:定义模块的输入和输出接口,包括参数和数据格式。

- 模块内部实现:描述模块内部的算法、数据结构以及运行流程。

- 模块测试方法和策略:定义对模块进行单元测试的方法和策略。

6.3.1 模块A设计本节详细介绍模块A的设计。

- 模块接口:模块A接收来自模块B的数据输入,处理后输出结果给模块C。

- 模块内部实现:模块A内部使用算法X对输入数据进行处理,然后将结果输出给模块C。

- 模块测试方法和策略:对模块A进行单元测试时,使用测试用例集合Y进行测试。

6.3.2 模块B设计本节详细介绍模块B的设计。

- 模块接口:模块B接收来自模块D的数据输入,处理后输出结果给模块A。

- 模块内部实现:模块B内部使用算法Z对输入数据进行处理,然后将结果输出给模块A。

- 模块测试方法和策略:对模块B进行单元测试时,使用测试用例集合Z进行测试。

6.3.3 模块C设计本节详细介绍模块C的设计。

- 模块接口:模块C接收来自模块A的数据输入。

- 模块内部实现:模块C内部对输入数据进行处理,并输出结果。

6.4 数据库设计如果系统涉及数据库,本节详细介绍数据库的设计。

- 数据库结构:描述数据库的表、字段以及它们之间的关系。

- 数据库访问接口:定义系统访问数据库的接口和方法。

6.5 接口设计本节详细介绍系统与外部系统或用户的接口设计。

软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)详述

软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)详述
(7)允许犯错误。系统应该能保护自己不受严重错误的 破坏。
(8)按功能对动作分类,并据此设计屏幕布局。下拉菜单 的一个主要优点就是能按动作类型组织命令。实际上, 设计者应该尽力提高命令和动作组织的“内聚性”。
(9)提供对用户工作内容敏感的帮助设施。 (10)用简单动词或动词短语作为命令名。过长的命令名
(1)只显示与当前工作内容有关的信息。 (2)不要用数据淹没用户,应该用便于用户迅速吸取信息
的方式来表示数据。
(3)使用一致的标记、标准的缩写和可预知的颜色。显示 的含义应该非常明确,用户无须参照其他信息源就能 理解。
(4)允许用户保持可视化的语境。如果对显示的图形进行 缩放,原始的图像应该一直显示着。
(3) 设计模型中包含的动作、命令和系统状态的数量, 预示了用户学习使用该系统时需要记忆的内容的多少。
(4) 界面风格、帮助设施和出错处理协议,预示了界 面的复杂程度及用户接受该界面的程度。
6.2.3 人机界面设计指南
一般交互指南 信息显示指南 数据输入指南
1.一般交互指南
一般交互指南涉及信息显示、数据输入和系统整体 控制
有3种选择:
在独立的窗口中;
指出参考某个文档(不理想);
在屏幕固定位置显示简短提示。
(4)用户怎样返回到正常的交互方式中?
有两种选择:
屏幕上的返回按钮;
功能键。
(5)怎样组织帮助信息? 有3种选择:
平面结构(所有信息都通过关键字访问); 信息的层次结构(在该结构中查到更详细的信息) 超文本结构。
三条“黄金规则”:
置用户于控制之下
以不强迫用户进入不必要的或不希望的动作的方式来定 义交互方式;允许用户交互可以被中断和撤消;设计应允许 用户和出现在屏幕上的对象直接交互。

软件工程导论第6章

软件工程导论第6章

70年代初N.Wirth在Pascal语言中设置支持“顺序 结构”、“IF-THEN-ELSE选择结构”、“DO-WHILE 重复结构”或“DO-UNTIL重复结构”三种基本控制 结构语句。
25
3种基本控制结构
(1) 顺序型
A B
(2) 选择型
F P A B T
(2) 多情况选择型(case)
T T
P=1 F P=2 F P=n F

A1 A2
T
An
(3) 先判定型循环
后判定型循环
(do-while)
F
(do-until)
P T S
S P F
T
例1、某模块有两个输入a和b,一 个输出c,当满足条件(a>0)and(b<2) 时,c=a+b,否则c=a-b。画出该模 块的程序流程图。
a b
第6章 详细设计
6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结 习题
1
详细设计阶段的根本目标:确定应该怎样具体地 实现所要求的系统。 为软件结构图中的每一个模块确定使用的算法和 块内数据结构,并用某种选定的表达工具给出清晰 的描述。
100 110
120
130 140
Eq:等于 ne:不等于 gt:大于 lt:小于 ge:大于等于 le:小于等于
例:打印A、B、C三数中最小者的程序 if (A.LT.B .AND. A.LT.C)then write(6,*) A else if (A.GE.B .AND. B.LT.C) then write(6,*) B else write(6,*) C endif endif

软件工程第六章 详细设计

软件工程第六章 详细设计

软件工程第六章详细设计软件工程第六章详细设计1. 引言本章将对软件系统的详细设计进行介绍。

详细设计是软件开发过程中的一个重要阶段,它负责将需求分析阶段产生的需求和概念设计阶段产生的设计方案转化为具体的实现细节。

2. 设计概述2.1 数据设计在数据设计方面,我们将详细定义系统中所使用的数据结构、数据类型和数据库设计。

这将包括实体类的定义、数据库表的设计以及数据字典的编制。

2.2 模块设计模块设计是将系统划分成各个功能模块,并定义模块之间的接口和交互方式。

我们将详细描述每个模块的功能、输入输出以及模块之间的调用关系。

2.3 界面设计界面设计负责定义系统与用户之间的交互方式。

我们将详细描述系统的界面布局、界面元素的设计和交互逻辑的实现。

3. 数据设计3.1 数据结构在此处描述系统中所使用的各种数据结构,包括树、链表、堆栈等,以及它们的定义和使用方式。

3.2 数据类型在此处描述系统所使用的各种数据类型,包括整型、浮点型、字符型等,以及它们的定义和使用方式。

3.3 数据库设计在此处描述系统所使用的数据库的设计,包括数据库表的结构、字段定义、关系等。

3.4 数据字典在此处编制系统的数据字典,明确定义每个数据元素的含义、取值范围、数据类型等。

4. 模块设计4.1 模块1名称在此处详细描述模块1的功能、输入输出以及模块内部的具体实现细节。

4.2 模块2名称在此处详细描述模块2的功能、输入输出以及模块内部的具体实现细节。

5. 界面设计5.1 界面布局在此处详细描述系统的界面布局方案,包括各个界面的位置、大小、排列等。

5.2 界面元素设计在此处详细描述系统所使用的各种界面元素,包括按钮、文本框、下拉框等,以及它们的样式和交互方式。

5.3 交互逻辑在此处详细描述系统与用户之间的交互逻辑,包括各个界面的功能和用户操作的响应方式。

6. 附件本文档涉及的附件包括:- 数据结构定义文档- 数据库表设计文档- 界面原型设计文档7. 法律名词及注释- 法律名词1: 注释1 - 法律名词2: 注释2。

第6章 详细设计

第6章 详细设计

13/105
过程设计
• 表达过程规格说明的工具称为过程描述工具, 可以将过程描述工具分为以下3类。 (1) 图形工具:把过程的细节用图形方式描述出 来,如程序流程图、N-S图、PAD图、决策树 等。 (2) 表格工具:用一张表来表达过程的细节。这 张表列出了各种可能的操作及其相应的条件, 即描述了输入、处理和输出信息,如决策表。 (3) 语言工具:用某种类高级语言(称为伪代码) 来描述过程的细节,如很多数据结构教材中使 用类Pascal、类C语言来描述算法。
40/105
41/105
1 甲 乙 丙 甲不知 乙不知 丙 R R R
2 R R W
3 R W R
4 R W W
5 W R R
6 W R W
7 W W R
42/105
6.3.5
• 判定表虽然能清晰地表示复杂的条 件组合与应做的动作之间的对应关系, 但其含义却不是一眼就能看出来的,初 次接触这种工具的人要理解它需要有一 个简短的学习过程。
9/105
6.1 结构化程序设计
• 结构程序设计的主要原则
(6) 严格控制GOTO语句,仅在下列情形才可使用: 用非结构化的程序设计语言去实现结构化的构 造。 若不使用GOTO语句就会使程序功能模糊。 在某种可以改善而不是损害程序可读性的情况 下。例如,在查找结束时,文件访问结束时, 出现错误情况要从循环中转出时,使用布尔变 量和条件结构来实现就不如用GOTO语句来得 简洁易懂。
• 主持人对甲、乙、丙三人说:“这里有三顶红帽 子,两顶白帽子。现在用布蒙上你们的眼睛,给 你们每人戴上一顶帽子,然后请你们依次睁开眼 睛,能正确说出自己所戴帽子的颜色者有奖。” • 带完帽子后,甲拿下布后看了其他两人的帽子说: “我不知道。” • 然后,乙解开布看了其他两人的帽子后说:“我 不知道。” • 轮到丙时,他没有拿下布就正确地说出了自己所 戴帽子的颜色。 • 试问:丙戴的是什么帽子?他是怎样得出结论的?

软件工程导论第6章(第4版)

软件工程导论第6章(第4版)

二. 人机界面设计
人机界面设计是接口设计的一个重要的组成部 分。对于交互式系统来说,人机界面设计和数据设 计、体系结构设计及过程设计一样重要。
1.指导规则
T.Mandel在《用户界面设计要素》中,提出了3 条指导规则: 让用户驾驭软件,不是软件驾驭用户 减少用户的记忆 保持界面的一致性
2. 应该考虑的设计问题
4. 人机界面设计指南
(3) 数据输入指南 尽量减少用户的输入动作。 保持信息显示和数据输入之间的一致性。 允许用户自定义输入。 交互应该是灵活的,可调整成用户喜欢的输入方式。 使在当前动作语境中不适用的命令不起作用。 让用户控制交互流。 对所有输入动作都提供帮助。 消除冗余的输入。
三. 过程设计
1.过程设计的目的与任务 目的 确定模块采用的算法和块内数据结构,用某种 选定的表达工具给出清晰的描述。 任务:编写软件的“过程设计说明书” 为每个模块确定采用的算法 (模块的详细过程性 描述) 确定每一模块使用的数据结构 确定模块接口的细节 (包括对系统外部的接口和 用户界面,对系统内部其他模块的接口,以及关 于模块输入数据、输出数据及局部数据的全部细 节)
三. 过程设计
2.过程设计的原则与方法
清晰第一的设计风格 结构化的控制结构 结构程序设计的经典定义为: “如果一个程序的代码块仅仅通过顺序、选择和循环这3 种基本控制结构进行连接,并且每个代码块只有一个入口和 一个出口,则称这个程序是结构化的。” 结构程序设计技术是一种实现在逻辑上正确描述每个模 块的功能,并且使设计出的处理过程尽可能简明易懂的关键 技术,是过程设计的逻辑基础。 逐步细化的实现方法 例:在一组数中找出其中的最大数
(4) 命令交互 命令行现在仍然是许多高级用户偏爱的交互方式。在 多数情况下,用户既可以从菜单中选择软件功能,也可以 通过键盘命令序列调用软件功能。 在提供命令交互方式时,必须考虑下列设计问题: 是否每个菜单选项都有对应的命令? 采用何种命令形式?有3种选择:控制序列(例如Ctrl+P), 功能键和键入命令。 学习和记忆命令的难度有多大?忘记了命令怎么办? 用户是否可以定制或缩写命令? 在理想的情况下,所有应用软件都有一致的命令使用 方法。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进一步的简化
Input array A MAX = A[1] DO for I=2 to N IF MAX < A[I] Set MAX = A[I] ENDIF ENDDO Print MAX
6.4 面向数据结构的设计方法
面向数据结构的设计方法是按输入和输出以 及内部存储信息的数据结构进行设计,然后再 把数据结构的描述变换为对软件结构的描述。 Jackson方法和Warnier方法是最著名的两个 面向数据结构的设计方法。
思考: 在一组数种找出其中的最大数
F
I=2
I<N T F
T MAX=A[I]
MAX<A[I]
I=I+1
6.3.2 盒图(N-S图)
一种不允许违背结构程序设计精神的图形工具。 又称为N-S图。它有下述特点: (1) 功能域(作用域)明确,可以从盒图上一眼就 看出来。 (2) 不可能任意转移控制。 (3) 很容易确定局部和全程数据的作用域。 (4) 很容易表现嵌套关系,也可以表示模块的层 次结构。 看图6.4 • •盒图没有箭头,因此不允许随意转移控制。
本章内容
6.1 结构程序设计
6.3 过程设计的工具
6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量
6.2 人机界面设计
小结
• 教学目标 掌握常用的详细设计工具、了解人机界 面设计问题、了解Jackson结构程序设计技术。
• 教学重点
各种详细设计工具的使用。 • 教学难点 Jackson结构程序设计技术。
PAD描述的示例
6.3.4 判定表
适于表示复杂的条件组合与应做的动作之间的对 应关系。 一张判定表由以下四部分组成: • (1)左上部列出所有条件。 • (2)左下部是所有可能的动作。 • (3)右上部是表示各种条件组合的一个矩阵。 • (4)右下部是和每种条件组合相对应的动作。
• • 判定表右半部的每一列实际上就是一个规 则,规定了与特定的条件组合相对应的动作。
• 结构程序设计的经典定义:“如果一个程序的代码块仅仅 通过顺序、选择和循环这3种基本控制结构进行连接,并 且每个代码块只有一个入口和一个出口,则称这个程序是 结构化的。”
• 更全面的定义:结构程序设计是尽可能少用GO TO语 句的程序设计方法。仅在检测出错误时才使用GO TO 语句,而且总是使用前向GO TO语句。
2 F
3
4
5
T
T T × ×
F
F F × × ×
以行李托运费的算法为例: 假设某航空公司规定,乘客可以免费托运重量不超过 30kg的行李。 当行李重量超过30kg时, 对头等舱的国内乘客超重部分每公斤收费4元, 对其他舱的国内乘客超重部分每公斤收费6元, 对外国乘客超重部分每公斤收费比国内乘客多一倍, 对残疾乘客超重部分每公斤收费比正常乘客少一半。 用判定表可以清楚地表示与上述每种条件组合相 对应的计算行李费的算法。
示例: 假设某大学要从学生中挑选男子篮球队队员, 基本条件是: 各门课程的平均分在70分以上, 身高超过1.80米, 体重超过75千克。 需要从学生登记表中挑选出符合上述条件的男 同学,并列出他们的姓名和住址,以便进一步 选拔。 用判定表表示上述条件和动作之间的关系。
1 是男同学 条 平均分高于70动 并列出他们的姓名和住址 作 拒绝这个学生 T
3. 重复结构 重复结构的数据:根据使用时的条件由一个数据元素出 现零次或多次构成。
A由B出现N次(N>=0)组 成(注意:在B的右上角 有星号标记)
Jackson图的优点: • 便于表示层次结构,是对结构进行自顶向下分解 的有力工具; • 形象直观,可读性好; • 既能表达程序的结构,也可表达问题的数据结构。

m被i整除

用break 结束循环
i=i+1 ik+1

输出:m”不是素数” 输出:m”是素数”
6.3.3 PAD图
PAD是问题分析图(problem analysis diagram) 。 它用二维树形结构的图来表示程序的控 制流。 图6.5给出PAD图的基本符号。
图6.5 PAD图的基本符号 (a)顺序(先执行P1后执 行P2) (b)选择(IF C THEN P1 ELSE P2) (c)CASE型多分支 (d)WHILE型循环(WHILE C DO P) (e)UNTILE型循环 (REPEAT P UNTIL C) (f)语句标号 (g)定义
顺序
IF_THEN_ELSE型 分支
CASE型多分支
循环
调用子程序A
图6.4 盒图的基本符号
N-S图描述的示例
a
上图对应的数据流图
b
T
X1
F X2=1 T X3 T F
f
T X4 F
F X2=2 F X2=3 T T
c d e
i
F
X5 T
g h
X6 T
F
j
思考: 在一组数种找出其中的最大数
MAX = A[1]
PAD图的主要优点如下: (1)使用PAD符号设计的程序必然是结构化程序。 (2)PAD图所描绘的程序结构十分清晰。 最左面的竖线是程序的主线,即第一层结构。随着程序 层次的增加,PAD图逐渐向右延伸。每增加一个层次, 图形向右扩展一条竖线。图中竖线的总条数就是程序 的层次数。 (3) PAD图表现的程序逻辑,易读、易懂、易记。 程序从图中最左竖线上端的结点开始执行,自上而 下,从左向右顺序执行,遍历所有结点。
PDL的优点: • 可以作为注释直接插在源程序中间。 • 可以使用普通的正文编辑程序或文字处理系统,方 便地完成书写和编辑工作。 • 已经有自动处理程序存在,可以自动生成程序代码。 PDL的缺点: • 是不如图形工具形象直观, • 描述复杂的条件组合与动作间的对应关系时,不如 判定表清晰简单。
求数组的最大值用PDL描述
1. 顺序结构 顺序结构的数据:由一个或多个数据元素组成,每个元 素按确定次序出现一次。
A由B、C、D3个元素顺序 组成(每个元素只出现一 次,出现的次序依次是B、 C和D)
2. 选择结构 选择结构的数据:包含两个或多个数据元素,每次使用 这个数据时按一定条件从这些数据元素中选择一个。
根据条件A是B或C或D中的某 一个(注意:在B、C和D的 右上角有小圆圈做标记)
6.3 过程设计的工具
6.3.1 程序流程图
• 程序流程图(程序框图):描述过程设计的方法,也是用 得最混乱的一种方法。 优点:对控制流程的描绘很直观,便于初学者掌握。 缺点: • •(1) 不是逐步求精的好工具,它诱使程序员过早地考虑 程序的控制流程,而不去考虑程序的全局结构。 • •(2) 用箭头代表控制流,程序员不受任何约束,可以完 全不顾结构程序设计的精神,随意转移控制。 • •(3) 不易表示数据结构。 使用对策:只用结构程序设计允许的五种图示结构。
6.1 结构程序设计
• C.Bohm和G.Jacopini在数学上证明了只用“顺 序”、“选择”和“循环”这三种基本的控制结 构可以实现任何单入口和单出口的程序。
顺序结构,先执 行A再执行B
IF_THEN_ELSE型 选择结构
图 6.1 3 种 基 本 的 控 制 结 构
DO_WHILE型循环 结构

面向数据结构的设计与面向数据流的设计的异同
设计方法 面向数据流的设计 面向数据结构的设计
以数据流图为基础。在分析阶 以数据结构 为基础。从问 工作基础 段用DFD表示软件的逻辑模型, 题的数据结构出发导出它的 在设计阶段按数据流类型,将数 程序结构 。 据流图转换为软件结构。 最终目标 软件的最终结构(SC)图 对程序处理过程的描述。
第六章 详细设计
详细设计的目标: 得出对目标系统的精确描述,从而在编 码阶段可以把这个描述直接翻译成用某种 程序设计语言书写的程序。 •• 对目标系统的精确描述: • 详细的算法 • 数据表示和数据结构 • 实施的功能和使用的数据之间的关系
详细设计的任务: 逻辑上正确地实现每个模块的功能。 设计出的处理过程应该尽可能简明易懂。(更重 要) 结构程序设计技术是实现上述任务的关键技术。
图6.3程序流程图中使用的符号 (a)选择(分支);(b)注释;(c)预先定义的处理; (d)多分支;(e)开始或停止;(f)准备;(g)循环上 界限;(h)循环下界限;(i)虚线;(j)省略符;(k) 并行方式;(l)处理;(m)输入输出;(n)连接;(o) 换页连接;(p)控制流
MAX=A[1]
例如: if X is not negative then return(square root of X as a real number); else return(square root of -X as an imaginary number); endif 外层语法IF-THEN-ELSE是确定的,内层操作“square root of X ”是不确定的。
(4) 容易将PAD图转换成高级语言源程序,这种转换可 用软件工具自动完成。 (5) 即可表示程序逻辑,也可描绘数据结构。 (6) 支持自顶向下、逐步求精方法的使用。 开始时可以定义一个抽象的程序,随着设计的深入, 使用def符号逐步增加细节,直至完成详细设计,如 图6.6所示。
初始的PAD图
使用def符号细化处理框P2 图6.6 使用PAD图提供的定义功能 来逐步求精的例子
Enter a vector Set Maximum to the value of the first element in the vector DO for each element from the second one to the last IF value of the element is greater than the Maximum value Set Maximum to value of the element ENDIF ENDDO Print the Maximum value
相关文档
最新文档