【C语言基础Ep6】谭浩强《C程序设计》学习笔记P22:算法的表示

(合计661字,用时30min——)
第2章 算法——程序的灵魂
2.4 怎样表示一个算法
2.4.1用自然语言表示算法
含义:自然语言就是人们日常使用的语言。
特点:
优点:通俗易懂;
缺点:文字冗长,容易出现歧义。
2.4.2用流程图表示算法
含义:流程图是用一些图框来表示各种操作。
特点:
优点:直观形象,易于理解;
缺点:占用篇幅较多,尤其当算法比较复杂时,画流程图既费时又不方便。
组成:
表示相应操作的框;
带箭头的流程线;
框内外必要的文字说明。
2.4.3三种基本结构和改进的流程图
a.传统流程图的弊端
BS型算法:意为一碗面条(a bowl of spaghetti),传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。
b.三种基本结构
地位:表示一个良好算法的基本单元——
顺序结构;
选择结构;
循环结构——
当型(while型)循环结构;
直到型(until型)循环结构。
特点:
只有一个入口;
只有一个出口;
结构内的每一部分都有机会被执行到;
结构内不存在“死循环”(无终止的循环)。
2.4.4用N-S流程图表示算法
含义:在这种流程图中,完全去掉了带箭头的流程线——全部算法写在一个矩形框内,在该框内还可以包含其他从属于它的框,或者说,由一些基本的框组成一个大的框——这种流程图又称N-S结构化流程图,盒图(box diagram)。
2.4.5用伪代码表示算法
含义:伪代码(pseudo code)是用介于自然语言和计算机语言之间的文字和符号来描述算法——它如同一篇文章一样,自上而下地写下来。
2.4.6用计算机语言表示算法
含义:用计算机语言表示算法必须严格遵循所用的语言的语法规则,这是和伪代码不同的。