算法程序的灵魂课件.ppt

算法程序的灵魂课件.ppt

ID:57027649

大小:397.50 KB

页数:37页

时间:2020-07-26

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

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

1、第2章算法——程序的灵魂C程序设计本章内容2.1算法的概念2.2简单算法举例2.3算法的特性2.4怎样表示一个算法2.5结构化程序设计方法算法是程序的灵魂,可见算法在程序设计中的重要性。一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:数据结构+算法=程序程序=算法+数据结构+程序设计方法+语言环境实际上,程序设计应该是:灵魂加工对象工具结构化程序设计(顺序、循环、选择)32.1算法的概

2、念广义的说,为解决一个问题而采用的方法和步骤,就称为算法。方法2:100+(1+99)+(2+98)+…+(49+51)+50=100+49×100+50加了51次例如:可见,算法有优劣之分,要选择合适的算法,保证算法的质量。方法1:1+2,+3,+4,一直加到100,加了99次值得注意的是,不是只有计算问题才有算法。同一个问题,可有不同的算法。4计算机算法可分为两大类别:数值运算算法:求数值解,例如求方程的根、求函数 的定积分等。非数值运算算法:包括的面十分广泛,最常见的是用 于事务管理领域,例

3、如图书检索、人 事管理、行车调度管理等。52.2简单算法举例例2.1例2.3判断2000-2500年中的每一年是否闰年,将结果输出。例2.5给出一个大于或等于3的正整数,判定它是不是一个素数。62.3算法的特性有穷性:包含有限的操作步骤,不能是无限的.确定性:算法中的每一个步骤都应当是确定的.有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出:算法的目的是为了求解,“解”就是输出。没有输出的算法无意义。有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。7用

4、自然语言表示算法(通俗易懂)用流程图表示算法(传统流程图、N-S流程图)用伪代码表示算法用计算机语言表示算法2.4怎样表示一个算法结构化程序设计的三种基本结构算法几种表示方法的比较请看下节8程序的三种基本结构结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序叫结构化程序优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构ABAB流程图N-S图9PAB真假PBA真假选择结构kA1A2AiAnk=k2k=

5、k1k=knk=ki......二分支选择结构多分支选择结构10循环结构当型循环结构直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构11三种基本结构小结顺序结构选择结构(选取结构、分支结构)循环结构(重复结构)当型循环结构(While型)直到型循环结构(Until型)三种结构的特点:只有一个入口和一个出口结构内的每一部分都有机会被执行到。结构内不存在死循环流程内出现死循环图中没有一条从入口到出口的路径通过A框。12开始1piP*i

6、pi+1ii>5结束几种算法表示比较求5!S1:1pS2:2iS3:p*ipS4:i+1iS5:若i<=5,返回s3;否则,结束用自然语言表示用流程图表示1p2IP*ipi+1i直到i>5结束用N-S流程表示main(){inti,t;t=1;i=2;while(i<=5){t=t*i;i=i+1;}printf(“%d”,t);}用C语言表示132.5结构化程序设计方法自顶向下逐步细化模块化设计(分而治之)结构化编程(三种基本结构)结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进

7、行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。采用以下方法保证得到结构化的程序:第二章结束!14例2.1:求1×2×3×4×5步骤1:先求1×2,得到结果2步骤2:将步骤1得到的乘积2再乘以3,得到结果6步骤3:将6再乘以4,得24步骤4:将24再乘以5,得120如果要求1×2×…×1000,则要写999个步骤2.2简单算法举例另一种算法:设两个变量:一个变量代表被乘数,一个变量代表乘数。将每一步骤的乘积放在被乘数变量中。然后乘数加1后,再与被乘数相乘。即5!太繁琐15Step1:

8、使p=1Step2:使i=2Step3:使p×i,乘积放在p中,可表示为:p<=p×iStep4:使i的值加1,即i<=i+1Step5:如果i不大于5,返回重新执行步骤S3以及其后 的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。例如,设p为被乘数,i为乘数。用循环算法来求结果,算法可写为:16S1:p=1S2:i=3S3:p=p×iS4:i=i+2S5:若i≤11,返回S3。否则结束。如果将题目改为:求1×3×5×……×11,其算法稍加改动即可:比较

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

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

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