C语言-学习笔记2

目录

 2.1 算法的概念

2.2 算法的表示方法

1、自然语言表示算法

2、传统流程图表示算法

3、用 N-S 结构化框图表示算法

 2.3 算法的特征

1、可行性

2、有穷性

3、确定性

4、有效性

5、拥有足够的信息

6、有或没有输入

7、至少有一个输出

2.4 算法设计的要求

1、正确性

2、可读性

3、健壮性

4、高效率与低存储量的需求

2.5 计算机程序设计的基本方法


 2.1 算法的概念

为了解决问题而采用的方法和步骤称为算法。针对不同的问题有不同的算法,同一个问题也可以有多种不同的算法。

2.2 算法的表示方法

1、自然语言表示算法

自然语言就是人们日常使用的语言,用自然语言描述算法,通俗易读。

【例1】任意输入三个数,按从小到大排序输出。

S1:输入a,b,c 。

S2:如果 a>b ,则交换 a 和 b 的内容,否则 a,b 的内容不变。

S3:如果 a>c ,则交换 a 和 c 的内容,否则 a,c 的内容不变。

S4:如果 b>c ,则交换 b 和 c 的内容,否则 b,c 的内容不变。

S5:按a,b,c 的顺序输出 a,b,c 。

S6:结束。

自然语言表示算法通俗易读,但文字烦琐,而且有时表示不严谨,容易出现歧义。尤其对于复杂程序用自然语言表示不够清晰。所以对于复杂的算法,一般不用自然语言表示。

2、传统流程图表示算法

传统流程图是用一些图框加文字说明表示算法的各种操作步骤,用箭头表示程序执行的走向,直观,形象,好理解。常见框图符号如图所示。

 【例2】输入一个年号,判断输出该年是否为闰年。

 这种流程图表示算法的好处是直观形象,流程清晰。缺点是占用面积大,而且由于允许使用流程线,使流程可以任意转移,对于复杂的程序会使人不容易弄清程序的思路。

3、用 N-S 结构化框图表示算法

特点:取消了流程线,不允许流程任意转移,只能从上到下顺序进行。

 2.3 算法的特征

1可行性

针对实际问题而设计的算法,执行后应能得到满意的结果。

2有穷性

一个算法应该在有限的时间内完成,即算法应在执行有限的操作步骤后终止。

3确定性

算法中的每一步都应有明确的说明,不应出现模棱两可的解释和多义性。

4有效性

算法中的每一步都应能有效地执行。

5、拥有足够的信息

要使算法有效,必须为算法提供足够的信息。

6、有或没有输入

一个算法可以有一个或多个算法,也可以没有输入。

7、至少有一个输出

没有输出的算法是没有意义的。

2.4 算法设计的要求

1、正确性

算法的正确性是指算法至少应该具有输入,输出和加工处理无歧义性,能正确反应问题的需求,能够得到问题的正确答案。

2、可读性

算法主要是为了方便人的阅读与交流,其次才是执行。

3、健壮性

当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果。

4、高效率与低存储量的需求

设计算法时应尽量满足时间效率高和存储量低的需求。

2.5 计算机程序设计的基本方法

猜你喜欢

转载自blog.csdn.net/m0_66411584/article/details/122756779