《程序的算法》PPT课件.ppt

《程序的算法》PPT课件.ppt

ID:52371377

大小:354.51 KB

页数:30页

时间:2020-04-05

《程序的算法》PPT课件.ppt_第1页
《程序的算法》PPT课件.ppt_第2页
《程序的算法》PPT课件.ppt_第3页
《程序的算法》PPT课件.ppt_第4页
《程序的算法》PPT课件.ppt_第5页
资源描述:

《《程序的算法》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C程序设计语言第2章算法本章主要内容2.1算法的概念及简单算法举例2.2算法的特性2.3怎样表示一个算法2.4结构化程序设计方法2.1算法(Algorithm)算法解决问题的方法算法是程序的灵魂程序(Program)对算法的具体实现程序的效率不可能超过算法的限制NikiklausWirth程序=数据结构+算法数据结构+算法+程序设计方法+语言工具完整的程序设计应该是:算法1:1+2+3+4+…..+100S1:1+2,得到结果3;S2:将步骤1得到的和再加3,得结果6;S3:将6再加上4得10;……….S99:将上一步的结果再加上100,得最终结果5050上述算法共需要求和99次例2.

2、1:求这是最简单的算法如果n从1到1万怎么办??算法2:100+(1+99)+(2+98)+…+(49+51)+50按照等差数列求和公式:sum=((首项+尾项)*项数)/2只需要进行一次加法,一次乘法和一次除法即可,大大节省了运行时间!算法的重要性同样的问题,有的人写出一段程序也许要几天几夜能得到结果,而有的人写的程序也许仅仅需要几分钟而已!人和人之间的差距咋就这么大呢?例2.2求算法如下:S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1)×signS5:term=sign×(1/deno)S6:sum=sum+termS7:deno=deno

3、+1S8:若deno≤100返回S4,否则算法结束。单词作变量名,以使算法更易于理解:sum表示累加和,deno是英文分母(denominator)缩写,sign代表数值的符号,term代表某一项。反复执行S4到S8步骤,直到分母大于100为止。一共执行了99次循环,向sum累加入了99个分数。sum最后的值就是多项式的值。2.2算法的特性有穷性:包含有限的操作步骤。(必须存在循环结束条件)确定性:算法中的每一个步骤都应当是确定的。有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息。有一个或多个输出:算法的目的是为了求解,“解”就是输出。有效性:算法中的每一个步骤都应当

4、能有效地执行,并得到确定的结果。一个算法应该具有以下特点:2.3算法的表示可以用不同的方法表示算法,常用的有:自然语言传统流程图结构化流程图伪代码用计算机语言表示算法2.3.2用流程图表示算法美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号:起止框判断框处理框输入/输出框注释框流向线连接点将例算法2.1的算法1用流程图表示将例2.2的算法用流程图表示流程图的特点流程图是表示算法的较好的工具。一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。三种基本算法结构顺序结构

5、选择结构(分支结构)循环结构(重复结构)当型循环(While型循环)直到型循环(Until型循环)选择结构ABabpYN当p为“真”当p为“假”if(x>y)z=xz=y输出z循环结构Aabp1YWhile型循环N当p1为“真”当p1为“假”Aabp2NUntil型循环Y当p2为“真”当p2为“假”AabpYN两种循环结构的比较While型循环Until型循环Aab!pNY两个循环结构的判断条件相反A一次也 没有执行A执行 了一次当首次判断p即为“假”(!p为“真”)当执行一次A后,判断p为“假”(!p为“真”)A执行 了一次三种基本算法结构的共同特点AabBABa(1)只有一个入口。

6、(2)只有一个出口(3)结构内的每一部分都有机会被执行到。(4)结构内不存在“死循环”(无终止的循环)。2.3.5用计算机语言表示算法#includevoidmain(){intsum=0;inti=0;intmax_num=0;printf("InputMaxNumber:");scanf("%d",&max_num);for(i=1;i<=max_num;i++){sum=sum+i;}printf("result=%d",sum);}将例2.1的算法1用C语言表示2.3.5用计算机语言表示算法将例2.1的算法2用C语言表示#include

7、h>voidmain(){intsum=0;inti=0;intmax_num=0;printf("InputMaxNumber:");scanf("%d",&max_num);printf("result=%d",max_num*(1+max_num)/2);}2.4结构化程序设计方法结构化算法由基本结构顺序组成的算法结构结构化程序设计方法自顶向下逐步细化模块化设计结构化编码课外知识简介--软件设计方法所有的模块都在最后集成,一旦出现

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

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

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