第2章 程序的算法精选文档.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第2章 程序的算法精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章 程序的算法精选文档.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第2 2章章章章 程序的算法程序的算法程序的算法程序的算法本讲稿第一页,共三十页本章主要内容本章主要内容 2.1算法的概念及简单算法举例算法的概念及简单算法举例 2.2算法的特性算法的特性 2.3怎样表示一个算法怎样表示一个算法 2.4结构化程序设计方法结构化程序设计方法本讲稿第二页,共三十页2.12.1算法算法算法算法(Algorithm)(Algorithm)算法算法解决问题的方法解决问题的方法解决问题的方法解决问题的方法算法是程序的灵魂算法是程序的灵魂算法是程序的灵魂算法是程序的灵魂 程序程序(Program)对算法的具体实现对算法的具体实现对算法的具体实现对算法的具体实现程序的效
2、率不可能超过算法的限制程序的效率不可能超过算法的限制程序的效率不可能超过算法的限制程序的效率不可能超过算法的限制 Nikiklaus Wirth程序程序程序程序 数据结构数据结构数据结构数据结构 算法算法算法算法数据结构算法程序设计方法语言工具数据结构算法程序设计方法语言工具完整的程序设计应该是:本讲稿第三页,共三十页算法算法1:1+2+3+4+.+100 S1:1+2,得到结果,得到结果3;S2:将步骤将步骤1得到的和再加得到的和再加3,得结果,得结果6;S3:将将6再加上再加上4得得10;.S99:将上一步的结果再加上将上一步的结果再加上100,得最终结果,得最终结果5050 上述算法共需
3、要求和上述算法共需要求和99次次例2.1:求本讲稿第四页,共三十页这是最简单的算法这是最简单的算法如果如果n从从1到到1万怎么办?万怎么办?本讲稿第五页,共三十页算法算法2:100+(1+99)+(2+98)+(49+51)+50 按照等差数列求和公式:按照等差数列求和公式:sum=(首项首项+尾项尾项)*项数项数)/2 只需要进行一次加法,一次乘法和一次除只需要进行一次加法,一次乘法和一次除法即可,大大节省了运行时间!法即可,大大节省了运行时间!本讲稿第六页,共三十页算法的重要性算法的重要性算法的重要性算法的重要性 同样的问题,有的人写出一段程序也许要几同样的问题,有的人写出一段程序也许要几
4、天几夜能得到结果,而有的人写的程序也许仅仅天几夜能得到结果,而有的人写的程序也许仅仅需要几分钟而已!需要几分钟而已!人和人之间的差距咋就这么大呢?人和人之间的差距咋就这么大呢?本讲稿第七页,共三十页例例2.22.2求求算法如下算法如下算法如下算法如下 :S1S1S1S1:sign=1sign=1sign=1sign=1 S2 S2 S2 S2:sum=1sum=1sum=1sum=1 S3 S3 S3 S3:deno=2deno=2deno=2deno=2 S4S4S4S4:sign=(-1)signsign=(-1)signsign=(-1)signsign=(-1)sign S5 S5 S
5、5 S5:term=sign(1/deno)term=sign(1/deno)term=sign(1/deno)term=sign(1/deno)S6 S6 S6 S6:sum=sum+termsum=sum+termsum=sum+termsum=sum+term S7 S7 S7 S7:deno=deno+1deno=deno+1deno=deno+1deno=deno+1 S8 S8 S8 S8:若:若:若:若deno100deno100deno100deno100返回返回返回返回S4S4S4S4,否则算法结束。,否则算法结束。,否则算法结束。,否则算法结束。单词作变量名,以使算法更易于
6、理解:sum表示累加和,deno是英文分母(denominator)缩写,sign代表数值的符号,term代表某一项。反复执行S4到S8步骤,直到分母大于100为止。一共执行了99次循环,向sum累加入了99个分数。sum最后的值就是多项式的值。本讲稿第八页,共三十页 2.2 算法的特性算法的特性 有穷性:有穷性:有穷性:有穷性:包含有限的操作步骤。包含有限的操作步骤。包含有限的操作步骤。包含有限的操作步骤。(必须存在循环结束条件)必须存在循环结束条件)必须存在循环结束条件)必须存在循环结束条件)确定性:确定性:确定性:确定性:算法中的每一个步骤都应当是确定的。算法中的每一个步骤都应当是确定的
7、。算法中的每一个步骤都应当是确定的。算法中的每一个步骤都应当是确定的。有零个或多个输入:有零个或多个输入:有零个或多个输入:有零个或多个输入:输入是指在执行算法时需要从外界取得必输入是指在执行算法时需要从外界取得必输入是指在执行算法时需要从外界取得必输入是指在执行算法时需要从外界取得必要的信息。要的信息。要的信息。要的信息。有一个或多个输出:有一个或多个输出:有一个或多个输出:有一个或多个输出:算法的目的是为了求解,算法的目的是为了求解,算法的目的是为了求解,算法的目的是为了求解,“解解解解”就是输出。就是输出。就是输出。就是输出。有效性:有效性:有效性:有效性:算法中的每一个步骤都应当能有效
8、地执行,并得到确算法中的每一个步骤都应当能有效地执行,并得到确算法中的每一个步骤都应当能有效地执行,并得到确算法中的每一个步骤都应当能有效地执行,并得到确定的结果定的结果定的结果定的结果 。一个算法应该具有以下特点:一个算法应该具有以下特点:本讲稿第九页,共三十页 2.3 算法的表示算法的表示可以用不同的方法表示算法,常用的有:可以用不同的方法表示算法,常用的有:可以用不同的方法表示算法,常用的有:可以用不同的方法表示算法,常用的有:自然语言自然语言传统流程图传统流程图结构化流程图结构化流程图伪代码伪代码伪代码伪代码用计算机语言表示算法用计算机语言表示算法本讲稿第十页,共三十页 2.3.2 用
9、流程图表示算法用流程图表示算法美国国家标准化协会美国国家标准化协会ANSI(American National ANSI(American National Standard Institute)Standard Institute)Standard Institute)Standard Institute)规定了一些常用的流程图符规定了一些常用的流程图符规定了一些常用的流程图符规定了一些常用的流程图符号:号:号:号:起止框起止框判断框判断框处理框处理框输入输入/输出框输出框注释框注释框流向线流向线连接点连接点本讲稿第十一页,共三十页 将例算法将例算法2.12.1的算法的算法1 1用流程图表示
10、用流程图表示本讲稿第十二页,共三十页将例将例2.22.2的算法用流程图表示的算法用流程图表示 本讲稿第十三页,共三十页流程图的特点流程图的特点流程图的特点流程图的特点 流程图是表示算法的较好的工具。一个流程图流程图是表示算法的较好的工具。一个流程图包括以下几部分包括以下几部分:(1)表示相应操作的框;表示相应操作的框;(2)带箭头的流程线;带箭头的流程线;(3)框内外必要的文字说明。框内外必要的文字说明。本讲稿第十四页,共三十页三种基本算法结构三种基本算法结构三种基本算法结构三种基本算法结构 顺序结构顺序结构 选择结构(分支结构)选择结构(分支结构)循环结构(重复结构)循环结构(重复结构)当型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 程序的算法精选文档 程序 算法 精选 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内