1、1.1.1 算法的概念算法的概念1.1 1.1 算法与程序框图算法与程序框图 发电子邮件的方法很多,下面是其中的一种操作步骤:;第二步点击“写信”;第三步输入收件人地址;第四步输入主题;第五步输入信件内容第六步点击“发送”.;第一步 登录电子信箱新课导入新课导入假如你的朋友不会发电子邮件,你怎么教会他?假如你的朋友不会发电子邮件,你怎么教会他?我们做任何事情都是在一定条件下按某种顺序执行的一系列操作。解决数学问题也是如此。例如用加减消元法解二元一次方程组时,就可以按照某一步骤进行操作。请你写出解下面二元一次方程组的详细过程请你写出解下面二元一次方程组的详细过程.2121xyxy 第二步第二步,
2、解得解得1;5x 第三步第三步,-2得得 5y=3;第四步第四步,解解得得3;5y 1,53.5xy第五步第五步,得到方程组的解为得到方程组的解为第一步第一步,+2得得 5x=1;解:你能你能写出解一般的二元一次方程组的步骤吗?写出解一般的二元一次方程组的步骤吗?第一步第一步,21(1)(2)bb得:12211221.a ba bxc bc b(3)第二步第二步,解(解(3)得)得 12211221.c bc bxa ba b1111 22 1222(1)0(2)a xb ycaba ba xb yc 2 11 22 11 2.ac acyab ab 第四步第四步,解(解(4)得)得 21(1
3、)(2)aa得:第三步第三步,2 11 22 11 2.a bab ya cac(4)第五步第五步,得到方程组的解为得到方程组的解为 1 22 11 22 12 11 22 11 2,.cbc bxaba ba ca cya bab这这 两个解方程组的两个解方程组的算法算法的适用范围有何不同?的适用范围有何不同?在数学中,算法通常是指按照在数学中,算法通常是指按照一定规则一定规则解决解决某一类问题某一类问题的的明确明确和和有限有限的步骤的步骤.现在,现在,算法通常可以编成计算机程序,让计算机执算法通常可以编成计算机程序,让计算机执行并解决问题行并解决问题.2.2.算法的要求算法的要求(1)写出
4、的算法写出的算法,必须能解决一类问题必须能解决一类问题(例如解任例如解任意一个二元一次方程组意一个二元一次方程组),并且能重复使用并且能重复使用;(2)算法过程要能一步一步执行算法过程要能一步一步执行,每一步执行的每一步执行的操作操作,必须确切必须确切,不能含混不清不能含混不清,而且在有限步之而且在有限步之内完成后能得出结果内完成后能得出结果.1.1.算法的定义算法的定义探究新知探究新知3.3.算法的基本特征算法的基本特征:明确性明确性:算法对每一个步骤都有确切的、非二算法对每一个步骤都有确切的、非二义性的规定义性的规定,即每一步对于利用算法解决问题的即每一步对于利用算法解决问题的人或计算机来
5、说都是可读的、可执行的人或计算机来说都是可读的、可执行的,而不需而不需要计算者临时动脑筋要计算者临时动脑筋.有效性有效性:算法的每一个步骤都能够通过基本运算法的每一个步骤都能够通过基本运算有效地进行算有效地进行,并得到确定的结果;对于相同的并得到确定的结果;对于相同的输入输入,无论谁执行算法无论谁执行算法,都能够得到相同的最终都能够得到相同的最终结果结果有限性有限性:算法应由有限步组成算法应由有限步组成,至少对某些输入至少对某些输入,算法应在有限多步内结束算法应在有限多步内结束,并给出计算结果并给出计算结果信息输出信息输出:一个算法至少要有一个有效的信一个算法至少要有一个有效的信息输出息输出,
6、这就是问题求解的结果这就是问题求解的结果.不唯一性不唯一性:求解某一个题的解法不一定是唯求解某一个题的解法不一定是唯一的一的,对于一个问题可以有不同的算法对于一个问题可以有不同的算法.数据输入数据输入:算法一定要根据输入的初始数据或算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤给定的初值才能正确执行它的每一步骤.例例1.(1)1.(1)设计一个算法判断设计一个算法判断7 7是否为质数是否为质数.第一步第一步,用用2除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以2不能整除不能整除7.第二步第二步,用用3除除7,得到余数得到余数1.因为余数不为因为余数不为0,所
7、以所以3不能整除不能整除7.第三步第三步,用用4除除7,得到余数得到余数3.因为余数不为因为余数不为0,所以所以4不能整除不能整除7.第四步第四步,用用5除除7,得到余数得到余数2.因为余数不为因为余数不为0,所以所以5不能整除不能整除7.第五步第五步,用用6除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以6不能整除不能整除7.因此,因此,7是质数是质数.例例1.(2).(2)设计一个算法判断设计一个算法判断3535是否为质数是否为质数.第一步第一步,用用2除除35,得到余数得到余数1.因为余数不为因为余数不为0,所以所以2不能整除不能整除35.第二步第二步,用用3除除35,得
8、到余数得到余数2.因为余数不为因为余数不为0,所以所以3不能整除不能整除35.第三步第三步,用用4除除35,得到余数得到余数3.因为余数不为因为余数不为0,所以所以4不能整除不能整除35.第四步第四步,用用5除除35,得到余数得到余数0.因为余数为因为余数为0,所以所以5能整除能整除35.因此,因此,35不是质数不是质数.任意给定一个大于任意给定一个大于1的整数的整数n,试设计一个程序试设计一个程序或步骤对或步骤对n是否为质数做出判定是否为质数做出判定.分析分析:回顾这个问题的解题过程回顾这个问题的解题过程.算法步骤算法步骤:第一步第一步:判断判断n是否等于是否等于2.若若n=2,则则n是质数
9、是质数;若若n2,则执行第二步则执行第二步.第二步第二步:依次检验依次检验2(n-1)这些整数是不是这些整数是不是n的的约数约数,即是不是整除即是不是整除n的数的数.若有这样的数若有这样的数,则则n不是质数不是质数;若没有这样的数若没有这样的数,则则n是质数是质数.2200 xx例2:用二分法设计一个求方程 的近似根的算法 对于区间a,b 上连续不断、且f(a)f(b)0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点或其近似值的方法叫做二分法。二分法的基本思想:二分法的基本思想:分析:分析:22()2,20()f xxxf x令
10、则方程的解就是函数的零点。第四步第四步,若若f(a)f(m)0,则含零点的区间为则含零点的区间为a,m;否则,含零点的区间为;否则,含零点的区间为m,b.第二步第二步,给定区间给定区间a,b,满足满足f(a)f(b)0第三步第三步,取中间点取中间点2abm第五步第五步,判断判断f(m)是否等于或者是否等于或者a,b的长的长度是否小于度是否小于d,若是,则,若是,则m是方程的近似解是方程的近似解;否否则,返回第三步则,返回第三步将新得到的含零点的仍然记为将新得到的含零点的仍然记为a,b.第一步第一步,令令 ,给定精确度给定精确度d.2()2f xx算法步骤:算法步骤:a ab b|a-b|a-b
11、|1 12 21 11 11.51.50.50.51.251.251.51.50.250.251.3751.3751.51.50.1250.1251.3751.3751.437 51.437 50.062 50.062 51.406 251.406 251.437 51.437 50.031 250.031 251.406 251.406 251.421 8751.421 8750.015 6250.015 6251.414 6251.414 6251.421 8751.421 8750.007 812 50.007 812 51.414 062 51.414 062 51.417 968 7
12、51.417 968 750.003 906 250.003 906 25当当d d=0.005=0.005时,按照以上算法,可得下面表和图时,按照以上算法,可得下面表和图.y=x2-2121.51.3751.25 于是,开区间于是,开区间(1.4140625,1.41796875)中)中的实数都是当精确度为的实数都是当精确度为0.005时的原方程的近时的原方程的近似解似解.2.2.算法算法的特征是什么?的特征是什么?明确性明确性有效性有效性有限性有限性1.1.算法的概念算法的概念 算法通常指可以用来解决的算法通常指可以用来解决的某一类问题某一类问题的的步骤或程序,这些步骤或程序必须是步骤或程序,这些步骤或程序必须是明确的明确的和和有效的有效的,而且能够在,而且能够在有限有限步之内完成的步之内完成的.课堂小结课堂小结p 经常不断地学习,你就什么都知道。你知道得越多,你就越有力量p Study Constantly,And You Will Know Everything.The More You Know,The More Powerful You Will Be写在最后谢谢大家荣幸这一路,与你同行ItS An Honor To Walk With You All The Way演讲人:XXXXXX 时 间:XX年XX月XX日