版权归原作者所有,如有侵权,请联系我们

[科普中国]-算法图

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

定义

计算机语言只是一种工具。光学习语言的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解决方法和步骤即算法。有了正确而有效的算法,可以利用任何一种计算机高级语言编写程序,使计算机进行工作。因此,设计算法是程序设计的核心。算法图常用的有流程图,PAD图等。

流程图定义流程图是用规定的图形,指向线和文字说明来准确、清晰、直观的来表示算法的图形。又被称为流程图或流程算法图。

构成流程图是由表示相应操作的程序框,带有箭头的流程线,程序框内必要的文字说明组成。

表示符号如下:

处理框(矩形框),表示一般的处理功能。

判断框(菱形框),表示对一个给定的条件进行判断,根据给定的条件是否成立决定如何执行其后的操作。它有一个入口,二个出口。输入输出框(平行四边形框)。

起止框(圆弧形框),表示算法开始或结束。

连接点(圆圈),用于将画在不同地方的流程线连接起来。用连接点,可以避免流程

线的交叉或过长,使流程图清晰。

流程线(指向线),表示流程的路径和方向。

注释框,是为了对流程图中某些框的操作做必要的补充说明,以帮助阅读算法图的人更好地理解流程图的作用。它不是流程图中必要的部分,不反映流程和操作。

规则画流程图的规则如下:

1、使用标准的框图符号;

2、流程图一般按从上到下从左到右的方向画;

3、起止框是任一流程图中必不可少的,表示算法的开始和结束;

4、算法框内的文字要简洁明了;

5、判断框有一个进入点但有两个退出点,其他程序框只有一个进入点和退出点。

顺序结构有若干个依次执行的步骤组成,语句与语句之间,框与框之间按

从上到下进行的逻辑结构,我们称之为顺序结构。

例如:尺规作图,确定线段一个五等分点。

步骤:1、从线段的左端A点出发做一条射线;

2、在射线上取点C,得到单位线段AC;

3、在射线上做线段CE=AC;EF=AC;FG=AC;GD=AC;

4、连接DB;

5、过C做BD的平行线,交线段AB于M,即为五等分点。

选择结构在算法的流程中,先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构。

选择结构的两种模式如下图:

循环结构循环结构:又称重复结构,即反复执行某一部分的操作。有两类循环结构:

当型(While):当给定的条件p成立时,执行A框操作,然后再判断p条件是否成立。如果仍然成立,再执行A框,如此反复直到p条件不成立为止。此时不执行A框而脱离循环结构。

直到型(Until):先执行A框,然后判断给定的p条件是否成立。如果p条件不成立,则再执行A,然后再对p条件作判断。如此反复直到给定的p条件成立为止。此时脱离本循环结构。

PAD图定义PAD是问题分析图(Problem Analysis Diagram)的英文缩写,由日本的二村良彦等人提出的一种主要用于描述软件详细设计的图形表示工具。与流程图一样,PAD图也只能描述结构化程序允许使用的几种基本结果。发明以来,已经得到一定程度的推广。它用二维树形结构的图表示程序的控制流,以PAD图为基础,遵循机械的走树(Tree Walk)规则就能方便地编写出程序,用这种图转换为程序代码比较容易1。

规则1、功能域(即,一个特定控制结构的作用域)明确,可以从PAD图上一眼就看出来。

2、没有箭头,不可能任意转移控制。

3、最左端的纵线是程序主干线,对应程序的第一层结构;每增一层PAD图向右扩展一条纵线,帮程序的纵线数等于程序层次数。

4、程序执行:从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线。

特征1、结构清晰,结构化程度高;

2、易于阅读

3、、很容易确定局部和全程数据的作用域。

4、很容易表现嵌套关系,也可以表示模块的层次结构。

5、五中基本模式,并允许递归使用。

优势1、使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序

2、PAD图所描述的程序结构十分清晰。图中最左边的竖线是程序的主线,即第一层控制结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数;

3、用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维数型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行;

4、很容易将PDA图转换成高级程序语言源程序,这种转换可由软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。

5、可用于表示程序逻辑,也可用于描述数据结构

6、PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象程序,随着设计工作的深入而使用“def”符号逐步增加细节,直至完成详细设计。