C语言程序设计与实践(第3版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.8.2 流程图与算法描述

可以用不同的方法来描述一个算法。常用的方法有自然语言、传统流程图、结构化流程图(N-S图)和伪代码等。

其中使用最广泛的是传统流程图。传统流程图又称为程序框图,是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程线来指示算法的执行方向。由于它直观形象,部分消除了不同国籍程序员之间的交流障碍,所以应用广泛。

下面首先介绍常见的流程图符号及流程图的示例。图2-2给出了一些常见的流程图标准符号。

图2-2 常见流程图符号

•起止框。表示算法的开始和结束。一般内部只写“开始”或“结束”。

•输入/输出框。表示算法请求输入/输出需要的数据或算法将某些结果输出。一般内部常常填写“输入……”,“打印/显示……”。

•判断框(菱形框)。主要是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。它有一个入口,两个出口。给定条件成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”。

•处理框。表示算法的某个处理步骤,一般内部常常填写赋值操作。

•流程线。用于指示程序的执行方向。

•连接点。用于将画在不同地方的流程线连接起来。同一个编号的点是相互连接在一起的,实际上同一编号的点是同一个点,只是画不下才分开画。使用连接点可以避免流程线交叉或过长,使流程图更加清晰。

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

在上述基本流程图符号的基础上,可以用一个完整的流程图来描述例2-8的算法。其流程图如图2-3所示。

图2-3 例2-8的算法流程图