《教育专题:算法的概念.ppt》由会员分享,可在线阅读,更多相关《教育专题:算法的概念.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第一章第一章 算法初步算法初步1.1 1.1 算法与程序框图算法与程序框图1.1.1 1.1.1 算法的概念算法的概念高中新课程数学必修高中新课程数学必修知识探究(一):算法的概念知识探究(一):算法的概念思考思考1:1:解方程组解方程组思考2:用加减消元法解二元一次方程组 x-2y=-1 2x+y=1 的具体步骤是什么?对比教材给出的解法,有什么不同?写出类似的求解步骤:写出类似的求解步骤:根据这个例子说说什么是算法呢?根据这个例子说说什么是算法呢?对于一般的二元一次方程组对于一般的二元一次方程组 一一般般地地,按按照照一一定定规规则则解解决决某某一一类类问问题题的的明明确确和和有有限限的
2、的步步骤骤称称为为算算法法(algorithm)(algorithm)。它是解决某一类问题的程序或步骤它是解决某一类问题的程序或步骤.你认为哪些是关键字词?在在数数学学中中,现现代代意意义义上上的的“算算法法”通通常常是是指指可可以以用用计计算算机机来来解解决决的的某某一一类类问问题题的的程程序序或或步步骤骤,这这些些程程序序或或步步骤骤必必须须是是明明确确和和有有效的,而且能够在有限步之内完成效的,而且能够在有限步之内完成.2.2.算法的要求算法的要求(1)写出的算法写出的算法,必须能解决一类问题必须能解决一类问题(例如解任例如解任意一个二元一次方程组意一个二元一次方程组),并且能重复使用并
3、且能重复使用;(2)算法过程要能一步一步执行算法过程要能一步一步执行,每一步执行的每一步执行的操作操作,必须确切必须确切,不能含混不清不能含混不清,而且在有限步之而且在有限步之内完成后能得出结果内完成后能得出结果.1.1.算法定义的理解算法定义的理解3.3.算法的基本特征算法的基本特征:明明确确性性:算算法法对对每每一一个个步步骤骤都都有有确确切切的的,能能有有效执行且得到确定结果的效执行且得到确定结果的,不能模棱两可。不能模棱两可。有有效效性性:算算法法从从初初始始步步骤骤开开始始,分分为为若若干干明明确确的的步步骤骤,每每一一步步都都只只能能有有一一个个确确定定的的继继任任者者,只只有有执
4、执行行完完前前一一步步才才能能进进入入到到后后一一步步,并并且且每每一一步步都都确确定定无误后无误后,才能解决问题。才能解决问题。有限性有限性:算法应由有限步组成算法应由有限步组成,至少对某些输入至少对某些输入,算法应在有限多步内结束算法应在有限多步内结束,并给出计算结果并给出计算结果不不唯唯一一性性:求求解解某某一一个个问问题题的的解解法法不不一一定定是是唯唯一一的的,对于同一个问题可以有不同的解法对于同一个问题可以有不同的解法 按照这样的理解按照这样的理解,我我们可以设计出很多具体们可以设计出很多具体数学问题的算法数学问题的算法.下面看下面看几个例子几个例子:知识探究(二)知识探究(二):
5、算法的步骤设计算法的步骤设计第四步第四步,用,用5 5除除 ,得到余数,得到余数2,2,所以所以5 5不能整除不能整除7.7.第五步第五步,用,用6 6除除 ,得到余数,得到余数1,1,所以所以6 6不能整除不能整除7.7.因此,因此,7 7是质数是质数.思考思考1:1:如果让计算机判断如果让计算机判断 是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?7第一步第一步,用,用2 2除除 ,得到余数,得到余数1,1,所以所以2 2不能整除不能整除7.7.7第二步第二步,用,用3 3除除 ,得到余数,得到余数1,1,所以所以3 3不能整除不能整除7.7.7第三步第三步,用,用4 4除除
6、,得到余数,得到余数3,3,所以所以4 4不能整除不能整除7.7.777知识探究(二)知识探究(二):算法的步骤设计算法的步骤设计第四步第四步,用,用5 5除除 ,得到余数,得到余数,所以所以5 5 能整除能整除 .第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,1,所以所以6 6不能整除不能整除 .因此,因此,7 7是质数是质数.思考思考1:1:如果让计算机判断如果让计算机判断 是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?7第一步第一步,用,用2 2除除 ,得到余数,得到余数1,1,所以所以2 2不能整除不能整除 .7第二步第二步,用,用3 3除除 ,得到余数,得
7、到余数,所以所以3 3不能整除不能整除 .7第三步第三步,用,用4 4除除 ,得到余数,得到余数3,3,所以所以4 4不能整除不能整除 .773535351 235351 0不7 357 357 35735因此,因此,3535不是质数不是质数.知识探究(二)知识探究(二):算法的步骤设计算法的步骤设计第四步第四步,用,用5 5除除7 7,得到余数,得到余数2,2,所以所以5 5不能整除不能整除7.7.第五步第五步,用,用6 6除除 ,得到余数,得到余数1,1,所以所以6 6不能整除不能整除7.7.因此,因此,7 7是质数是质数.思考思考1:1:如果让计算机判断如果让计算机判断 是否为质数,如是
8、否为质数,如何设计算法步骤?何设计算法步骤?7第一步第一步,用,用2 2除除 ,得到余数,得到余数1,1,所以所以2 2不能整除不能整除 .第二步第二步,用,用3 3除除 ,得到余数,得到余数 ,所以所以3 3不能整除不能整除 .第三步第三步,用,用4 4除除 ,得到余数,得到余数,所以所以4 4不能整除不能整除 .7897 897 897 89127 897 8931789 第八十七步第八十七步,用,用8888除除8989,得到余数,得到余数1,1,所以所以8888不能不能 整除整除89.89.因此,因此,8989是质数是质数.思考思考4:4:用用2 28888逐一去除逐一去除8989求余数
9、,需要求余数,需要8787个个步骤,这些步骤基本是重复操作,我们可以步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步按下面的思路改进这个算法,减少算法的步骤骤.(1 1)用)用i i表示表示2 28888中的任意一个整数,并从中的任意一个整数,并从2 2开始取数;开始取数;(2 2)用)用i i除除8989,得到余数,得到余数r.r.若若r=0r=0,则,则8989不不是质数;若是质数;若r0r0,将,将i i用用i+1i+1替代,再执行同替代,再执行同样的操作;样的操作;(3 3)这个操作一直进行到)这个操作一直进行到i i取取8888为止为止.你能按照这个思路,
10、设计一个你能按照这个思路,设计一个“判断判断8989是否是否为质数为质数”的算法步骤吗?的算法步骤吗?用用i i除除8989,得到余数,得到余数r r;令令i=2i=2;若若r=0r=0,则,则8989不是质数,结束算不是质数,结束算法;若法;若r0r0,将,将i i用用i+1i+1替代;替代;判断判断“i i8888”是否成立?若是,是否成立?若是,则则8989是质数,结束算法;否则,是质数,结束算法;否则,返回第二步返回第二步.第一步,第一步,第四步,第四步,第三步,第三步,第二步,第二步,算法设计算法设计:思考思考5:5:一般地,判断一个大于一般地,判断一个大于2 2的整数是否的整数是否
11、为质数的算法步骤如何设计?为质数的算法步骤如何设计?第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.1.1.知识结构知
12、识结构算法的概念算法的概念算法的步骤算法的步骤 算法的特点算法的特点算法算法课堂小结2.2.算算法法的的特特点点:思思路路简简单单清清晰晰,叙叙述述复复杂杂,步步骤骤繁繁琐琐,计计算算量量大大,完完全全依依靠靠人人力力难难以以完完成成.而而这这些些恰恰恰恰就就是是计计算算机机的的特特长长,它它能能不不厌厌其其烦烦地地完完成成枯枯燥燥的的、重重复复的的繁繁琐琐的的工工作作.正正因因为为这这些些,现现代代算算法法的的作作用用之之一一就就是是使使计计算算机机代代替替人人完完成成某某些些工工作作,这也是我们学习算法的重要原因之一这也是我们学习算法的重要原因之一.课堂小结3.3.设计设计算法的注意事项算法的注意事项:(1)(1)认认真真分分析析问问题题,联联系系解解决决此此问问题题的的一一般般数数学学方法方法;(2)(2)综合考虑此类问题中可能涉及的各种情况综合考虑此类问题中可能涉及的各种情况;(3)(3)借助有关的变量或参数对算法加以表达借助有关的变量或参数对算法加以表达;(4)(4)将解决问题的过程划分为若干个步骤将解决问题的过程划分为若干个步骤;(5)(5)然后用简练的语言将各个步骤表示出来然后用简练的语言将各个步骤表示出来.作业作业:P P5 5练习:练习:1 1,2.2.