详细设计的工具
:先执行一次循环体,再对结束循环控制条件进
行判定,成立时退出循环,否则重复执行循环体 。
循环体
F 循环条件
T
5.多情况选择型(case结构):列举多
个加工情况,根据控制变量的取值,选择执行其 一。
T
选择条件1
Case部分1
T
选择条件2
Case部分2
…
T
选择条件n
Case部分n
总结!!
入口
A
B T P1 F
盒图没有箭头,因此不允许随意转移控制。坚 持使用盒图作为详细设计的工具,可以使程序员逐 步养成用结构化的方式思考问题和解决问题的习惯。
3.PAD图
PAD图是问题分析图(problem analysis diagram)的英文缩写,自1973年由日本日立公司发明 以后,已得到一定程度的推广。它用二维树形结构的 图来表示程序的控制流,将这种图翻译成程序代码比 较容易。下图给出了PAD图的基本符号。
为了消除这些缺点,应对流程图所使用的符号做 出严格的定义,不允许人们随心所欲地画出各种不规 范的流程图,故只能使用以下给出的5种基本控制结 构。
在画程序流程图时,要使用规定的符号,而不 允许出现任何其他符号。下表是ISO提出并已被中 国国家技术监督局批准采用的流程图标准符号, 大家在画程序流程图时,要尽量采用这些符号。
P1
P1
C
P2
P2
(a) 顺序(先执行p1后执行p2) (b) 选择(If C then p1 else p2)
P1
L1
L2 X=
P2
Ln
Pn
(c) Case 型多分支
WHILE C
P
(d)While 型 循环(while C do p)
UNTIL C
P
(e)Until 型 循环(repeat p until C)
PAD图
A
B
F UNTIL P4 I
UNTIL P5
P3
P1
G
H
=1 WHILE P2 C
=2 D
J
=3 E
PAD图的主要优点如下:
①使用表示结构化控制结构的PAD图符号 所设计出来的程序必然是结构化程序。
②PAD图所描绘的程序结构十分清晰。图 中最左面的竖线是程序的主线,即第一层结 构。随着程序层次的增加,PAD图逐渐向右 延伸,每增加一个层次,图形向右扩展一条 竖线。PAD图中竖线的总条数就是程序的层 次数。
详细设计的工具
总体概述
1.在概要设计阶段完成了软件系统的总体设计, 规定了各个模块的功能及模块之间的联系之后,进一 步就要考虑实现各个模块规定的功能,也就是进行软 件的 详细设计 ,也称为 过程设计 , 而 描 述 程 序 处 理过程的工具就称为 详细设计的工具 。
2.当前流行的表示程序逻辑结构的主要方式有三
第一个任务
第二个任务
2.选择型(if-then-else):依照逻辑
判断式的取值决定选择两个加工中的一个来执行 。
分支条件
F
T
Else部分
Then部分
3.先判定后循环型(do-while循环):
先对循环控制条件进行判定,成立时,重复执行选 定的加工,否则退出循环。
循环条件 F T 循环体
4. 先循环后判定型(repeat循环)
X=1
P2
T
C
F T P3 F
X=2
D
I
X=3
E
H
P4
T
P5
J 出口 由基本结构嵌套构成的流程图
程序流程图的主要缺点如下:
①程序流程图中用箭头代表控制流,程
序员可以不受任何约束,因而不顾结构
化程序设计的理念,随意转移控制。
②程序流程图不适宜表示数据结构。
2.N-S流程图(盒图)
产生原因:因为流程图允许使用箭头随意转移流 程,稍有疏忽就不能保证流程是结构化的,而且这种 流程图占用篇幅较大,工作量也很大,同时流程图对 于基本逻辑结构没有相应的符号。例如:循环结构仍 采用条件结构符号,在程序流程图中不易区分到底是 哪种结构,所以再将流程图转化成用某一种高级语言 书写的结构化编写时,是有一定难度的。出于要有一 种不允许违背结构程序设计精神的图形工具的考虑, Nassi和Shneiderman提出了盒图,又称为N-S图。
visio:微软的产品,功能强大,可以画流
程图,还有很多,包括数据库,机械等方面。
word软件也可以画流程图,我们可以轻松 的画出规范的流程图。
亿图软件,可以画出漂亮的流程图,如图
Diagram Designer 小巧,占用空间小, 运行速度快
谢谢
③用PAD途表现程序逻辑,易读、易懂、 易记。PAD图是二维树形结构的图形,程序 从图中最左竖线上端的结点开始执行,自上 而下,从左向右顺序执行,遍历所有结点。
④容易将PAD图转换成高级语言源程序, 这种转换可用软件工具自动完成,从而可省 去人工编码的工作,有利于提高软件可靠性 和软件生产率。
在程序开发过程中经常需要画流程图,有利 于程序的编写,介绍几款流行的流程图软件
常用标准程序流程图符号
符号
说明
起止端点,表示转向外部环境或从外部环境转入的 端点符
处理过程
数据的输入及输出
准备或预处理
条件判断 流程线
--------
虚线 注解或注释
任何复杂的程序流程图都应由这5种 基本控制结构组合或嵌套而成。
1.顺序型:几个连续的加工步骤依次排列构
成,执行时按先后顺序依次执行。
N-S图的基本逻辑结构表示方法: ①顺序结构
图中每个矩形框表示一个基本元素,两个或多 个矩形框顺序组成一个顺序结构
②条件结构,也称为if-then-else结构
当条件为真时执行then部分,条件为假时 执行else部分。
③当型(while型)循环结构
当P为真时,执行A;然后再判断条件P的真 假;如为真,再执行A,直到P为假时终止。
类比
④直到型(until型)循环结构
先执行A,再判断P的真假,如为假,则返 回再执行A,如为真,则不再执行循环。
类比
⑤选择结构
N-S图
A
B
T
P1
x
=1 =2 =3 T
DO-WHILE
P2
G
C DE H
F
f
P3
F
I
P4
DO-UNTIL
DO-UNTIL P5
J
N-S图的最大特点是它没有带箭头的流程线 ,同时以基本逻辑结构作为图形的基本符号,所以它 描述的算法必然是结构化的。用N-S图表示算法,思 路清晰,具有良好的结构,容易设计,也容易阅读, 可以十分放心地进行结构化程序设计,能有效地提高 详细设计的质量和效率。
种: 图形描述 、语言描述 、表格描述 。
无论哪种工具基本要求都是能提供对设计的无歧 义描述,从而在编码阶段能把对设计的描述直接翻译 成代码。
详 细
图形 描述
设 计 语言 的 描述
工 具 表格
描述
程序流程图 N-S流程图
PAD图 过程设计语言
判定表
判定树
1.程序流程图 三最!!
程序流程图(Program Flow Chart)又称为程 序框图,是历史最悠久、使用最广泛的描述过程设计 的工具。但流程图也存在一些严重的缺点,例如流程 图所使用的符号不够规范,常常使用一些习惯性用法。 特别是表示程序控制流程的箭头可以不受任何约束, 随意转移控制,所以它也是用得最混乱的一种方法。