第2章算法---程序的灵魂

第2章算法---程序的灵魂

ID:45139806

大小:187.50 KB

页数:14页

时间:2019-11-10

第2章算法---程序的灵魂_第1页
第2章算法---程序的灵魂_第2页
第2章算法---程序的灵魂_第3页
第2章算法---程序的灵魂_第4页
第2章算法---程序的灵魂_第5页
资源描述:

《第2章算法---程序的灵魂》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章算法 —程序的灵魂算法的概念简单算法举例算法的特性怎样表示一个算法结构化程序设计方法2.1什么是算法为解决一个问题而采取的方法和步骤称为算法描述太极拳动作的图解一首歌曲的乐谱求1+2+3+···100的方法方法有优劣之分,一般希望采用方法简单、运算步骤少的方法。因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。算法+数据结构=程序程序中的操作语句,实际上就是算法的体现。不了解算法就谈不上程序设计。2.2简单算法举例例1:求1×2×3×4×5。最原始方法:步

2、骤1:先求1×2,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。这样的算法虽然正确,但太繁。改进的算法:S1:使t=1S2:使i=2S3:使t×i,乘积仍然放在在变量t中,可表示为t×i→tS4:使i的值+1,即i+1→iS5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。如果计算20!只需将S5:若i≤5改成i≤20即可。2.2简单算法举例例2:输入a、b、c3个数,输出其中最大者。算法可以表

3、示如下:S1:输入a、b、cS2:如果a>b,则:a=>max;否则:b=>max;S3:如果c>max,则:c=>max;S4:输出max算法结束。2.3算法的特性l有穷性:一个算法应包含有限的操作步骤而不能是无限的。l确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。l有零个或多个输入。l有一个或多个输出。l有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。对于程序设计人员,必须会设计算法,并根据算法写出程序。2.4怎样表示一个算法用自然语言表示算法用流程图表示

4、算法用N-S流程图表示算法用伪代码表示算法用计算机语言表示算法流程图流程图表示算法,直观形象,易于理解。将例1求5!的算法用流程图表示流程图三种基本结构循环结构当型循环直到型循环顺序结构选择结构共同特点:只有一个入口;只有一个出口;结构内的每一部分都有机会被执行到;结构内不存在“死循环”。N-S流程图顺序结构选择结构当型循环直到型循环ABP成立不成立AB当P成立AA当P成立N-S流程图将例1的算法用N-S流程图表示伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章

5、,自上而下地写下来。每一行(或几行)表示一个基本操作。它不用图形符号,因此书写方便、格式紧凑,也比较好懂,便于向计算机语言算法(即程序)过渡。例如:“打印x的绝对值”的算法可以用伪代码表示如下:IFxispositiveTHENprintxELSEprint–x也可以用汉字伪代码,如:若x为正打印x否则打印–x计算机语言我们的任务是用计算机解题,就是用计算机实现算法;用计算机语言表示算法必须严格遵循所用语言的语法规则。#includeintmain(){inti,t;t=1;i

6、=2;while(i<=5){t=t*i;i=i+1;}printf(“%d”,t);return0;}例1的C语言程序2.5结构化程序设计方法一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、阅读、修改和维护。结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。采取以下方法保证得到结构化的程序(1)自顶

7、向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。