C语言教学课件之第2章算法

C语言教学课件之第2章算法

ID:40841135

大小:643.00 KB

页数:36页

时间:2019-08-08

C语言教学课件之第2章算法_第1页
C语言教学课件之第2章算法_第2页
C语言教学课件之第2章算法_第3页
C语言教学课件之第2章算法_第4页
C语言教学课件之第2章算法_第5页
资源描述:

《C语言教学课件之第2章算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、知识改变命运学习成就未来2.1算法的概念2.2简单算法举例2.3算法的特性2.4怎样表示一个算法2.5结构化程序设计方法第2章程序的灵魂—算法本章大纲程序的灵魂——算法(1学时)教学内容:算法的概念算法的特性;算法的常用表示方法:流程图基本要求:理解算法的概念及特性;了解怎样设计算法;掌握算法的表示方法;熟悉结构化程序设计方法。重点:算法的常用表示方法难点:算法的常用表示方法2.1算法的概念广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。算法成熟,已汇编成册种类繁多,要求各异,难规范化非数值运算算法数值运算算法2.2简单算法举例步

2、骤1:先求1×2,得到结果2。步骤2:将步骤1得到的乘积2再乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。如果想求1×2×…×1000,难道要写999个步骤吗?例2.1求1×2×3×4×5。理解设两个变量,一个变量p代表被乘数,一个变量i代表乘数,乘积放在被乘数变量p中。将算法改写如下:S1:使p=1S2:使i=2S3:使p×i,乘积仍放在变量p中,可表示为p×i=>pS4:使i的值加1,即i+1=>iS5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5

3、!的值。循环算法解决这类问题最拿手了!如果求1×3×5×7×9×11怎么办呢?自己想想啦!2.3算法的特性1.有穷性1.包含有限的操作步骤2.指“在合理的范围之内”3.“合理限度”,由人们的常识和需要而定算法中的每一个步骤都应当是确定的2.确定性理解3.有零个或多个输入所谓输入是指在执行算法时需要从外界取得必要的信息。每个步骤都应当能有效地执行,并得到确定的结果。4.有一个或多个输出5.有效性没有输出的算法是没有意义的。图2.23个输入1个输出算法求3个数中的最大的数abc3个数中的最大的数补充内容:算法的评价1.时间复杂度2.空间复杂度度量

4、算法执行的时间长短度量算法所需存储空间的大小了解2.4怎样表示一个算法自然语言传统流程图结构化流程图N-S流程图伪代码PAD图计算机语言2.4.1用自然语言表示算法通俗易懂1.文字冗长,尤其是描述分支和循环的算法,不方便2.容易出现“歧义性”。张先生对李先生说他的孩子考上了大学。到底谁考上了?张先生的孩子考上了?李先生的孩子考上了?了解2.4.2用流程图表示算法用一些图框表示各种操作,直观形象,易于理解。规定了一些常用的流程图符号(见图2.3)。起止框输入/输出框判断框掌握图2.3处理框流程线连接点注释框例2.6将例2.1求5!的算法用流程图

5、表示。2.4.3三种基本结构和改进的流程图1.传统流程图的弊端1.对流程线的使用没有严格限制2.使流程图变得毫无规律。3.算法难以阅读,也难以修改4.算法的可靠性和可维护性难以保证(1)顺序结构,如图2.14所示,虚线框内是一个顺序结构。2.三种基本结构1966年,Bohra和Jacopini提出的图2.14(2)选择结构(选取结构,分支结构)如图2.15所示。无论p条件是否成立,只能执行A框或B框之一在执行完A或B之后,都经过b点,然后脱离本选择结构A或B两个框中可以有一个是空的图2.15图2.16(3)循环结构:我也叫重复结构1.是当给定

6、的条件p1成立时,执行A框操作2.执行完A后,再判断条件p1是否成立,如果仍然成立,再执行A框3.如此反复执行A框,直到某一次p1条件不成立为止,此时不执行A框,4.从b点脱离循环结构①当型(While型)循环结构对应while语句1.它的功能是先执行A框,然后判断给定的p2条件是否成立2.如果p2条件不成立,则再执行A,然后再对p2条件作判断,如果p2条件仍然不成立,又执行A……3.如此反复执行A,直到给定的p2条件成立为止,此时不再执行A4.从b点脱离本循环结构。②直到型(Until型)循环C语言中没有until语句图2.18当型循环风把

7、门吹开了。门被风吹开了。图2.19直到型循环意思相同,可以互相转换(1)只有一个入口。(2)只有一个出口。(3)结构内的每一部分都有机会被执行到。(4)结构内不存在“死循环”菱形判断框有两个出口。不要混淆哦!看清楚哦,是有机会,不是一定!三种基本结构的特点:图2.20没有通路图2.21死循环2.4.4用N-S流程图表示算法1.1973年美国学者I.Nassi和B.Shneiderman提出2.去掉了带箭头的流程线3.全部算法写在一个矩形框内4.自上而下执行5.适于结构化程序设计6.尤其适合表达复杂的循环结构(2)选择结构(1)顺序结构图2.2

8、4图2.25N-S流程图用以下的流程图符号:像不像一个方方正正的盒子?所以也叫盒图!图2.26当型循环(3)循环结构图2.27直到型循环图2.28(3)示例:2.4

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

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

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