数学必修三111算法的概念.ppt
什么是算法呢?什么是算法呢? 一般地一般地, , 按照一定规则解决按照一定规则解决某一类问题的明确和有限的步骤某一类问题的明确和有限的步骤称为称为算法算法(algorithm).(algorithm).什么是算法呢?什么是算法呢? 一般地一般地, , 按照一定按照一定规则解决规则解决某一类问题的某一类问题的明确明确和和有限有限的步骤的步骤称为称为算法算法(algorithm).(algorithm).乐谱乐谱是乐队演奏的算法是乐队演奏的算法菜谱菜谱是做菜肴的算法是做菜肴的算法珠算口诀珠算口诀是使用算盘的算法是使用算盘的算法日常生活中的算法:日常生活中的算法:算法的含义(广义)完成某项工作的方法和步骤(广义)完成某项工作的方法和步骤(现代)可以用计算机来解决的一类问题的程序和步骤.(教材)在数学中,算法通常是按照一定规则解决某一类问题的明确和有限的步骤.算法的特征算法的特征确切性确切性: :算法的每一个步骤都是确切的算法的每一个步骤都是确切的, ,能有效执能有效执 行且得到确定结果行且得到确定结果, ,不能模棱两可不能模棱两可. .有穷性有穷性: :一个算法必须在执行有穷步之后结束,一个算法必须在执行有穷步之后结束, 并且每一步都必须在有穷时间内完成并且每一步都必须在有穷时间内完成. .可行性可行性: :算法中描述的操作都是可以通过已经实算法中描述的操作都是可以通过已经实 现的基本运算执行有限次来实现的现的基本运算执行有限次来实现的. 不唯一性不唯一性: :求解某一个问题的算法不一定只有唯求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法一的一个,可以有不同的算法. .普遍性普遍性: :解决带有普遍性的一类问题解决带有普遍性的一类问题. .练习练习判断下列关于算法的说法是否确:判断下列关于算法的说法是否确:1、求解某一类问题的算法是唯一的;、求解某一类问题的算法是唯一的;2、算法必须在有限步操作之后停止:、算法必须在有限步操作之后停止:3、算法的每一步必须是明确的,不能有歧、算法的每一步必须是明确的,不能有歧义或模糊:义或模糊:4、算法执行后一定产生确定的结果:、算法执行后一定产生确定的结果:2121xyxy写出解方程组的步骤:+2,得 5x=1 . 解,得 . 15x 2,得 5y3 . 解,得 .35y 得到方程组的解为 . 1 53 5xy第一步,第二步,第三步,第四步,第五步,算法的步骤设计: 写出解一般的二元一次方程组的算法写出解一般的二元一次方程组的算法. .1111 22 1222(1)0(2)a xb yca ba ba xb yc推推 广广第一步第一步,21(1)(2)bb得 :12211221a ba bxc bc b( 3) 第二步第二步,解(解(3)得)得 12211221c bc bxa ba b 写出解一般二元一次方程组的算法写出解一般二元一次方程组的算法. .1111 22 1222(1)0(2)a xb yca ba ba xb yc推推 广广21(1)(2)aa得 :第三步第三步,21122112a ba bya ca c( 4)21122112a ca cya ba b 第四步第四步,解(解(4)得)得 第五步第五步,得到方程组的解为得到方程组的解为 1221122121122112c bc bxa ba ba ca cya ba b(1)(1)设计一个算法判断设计一个算法判断7 7是否为质数是否为质数. .例例 1第一步第一步, 用用2除除7,得到余数得到余数1.因为余数不为因为余数不为0, 所以所以2不能整除不能整除7.第二步第二步, 用用3除除7,得到余数得到余数1.因为余数不为因为余数不为0, 所以所以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,得到余数得到余数2.因为余数不为因为余数不为0, 所以所以3不能整除不能整除35.第三步第三步, 用用4除除35,得到余数得到余数3.因为余数不为因为余数不为0, 所以所以4不能整除不能整除7.第四步第四步, 用用5除除35,得到余数得到余数0.因为余数为因为余数为0, 所以所以5能整除能整除35.因此,因此,35不是质数不是质数.第三步:用第三步:用i除除n,得到余数是,得到余数是r.第四步:判断第四步:判断r是否为是否为0,若是,则,若是,则n不是质数;不是质数;否则,将否则,将i的值增加的值增加1,仍用,仍用i表示表示. 第五步:判断第五步:判断i(n-1)是否成立是否成立.若是,则若是,则n是质是质数,结束算法;否则,返回第三步数,结束算法;否则,返回第三步.用二分法设计一个求方程用二分法设计一个求方程 的近似正根的算法,精确度的近似正根的算法,精确度0.05.220 x 22.(1)0,(2)0 1,2xffab第一步:令f x因设().2 ( )0( )0, ababf mf mm第二步:令m因方程的根在区间( , )内判断是否为 .若则 为所求;若否,则进行第三步.( )( )0,; ( )( )0,.f af mamf af mbm第三步:若则令 若则令 0.05 abab第四步:判断 是否成立?若是,则 , 之间的任意取值均为满足条件的近似根;若否,则返回第二步.例例 2与一般的解决问题的过程相比,你认为算法最重要的特征是什么?(教材P5)1.任意给定一个正实数任意给定一个正实数a,试设计一个算法求,试设计一个算法求以以a为直径的圆的面积为直径的圆的面积.第一步:输入第一步:输入a的值的值.第二步:第二步:_.第三步:第三步:_.第四步:输出圆的面积的值第四步:输出圆的面积的值.练练 习习计算圆的面积计算圆的面积: S=r2计算计算r=a/22.2.任意给定一个大于任意给定一个大于1 1 的正整数的正整数n,n,设计一个算设计一个算法求出法求出n n的所有因数的所有因数. .第二步:令第二步:令i=1.第一步:第一步:给定一个大于给定一个大于1 的正整数的正整数n.第三歩:用第三歩:用i i除除n,n,得到余数得到余数r;r;第四步:判断第四步:判断“r=0”是否成立是否成立.若是,则若是,则i是是n的因数;的因数;否则,否则,i不是不是n的因数的因数.第五歩:使第五歩:使i i的值增加的值增加1 1,仍用,仍用i i表示;表示;第六步:判断第六步:判断“in”是否成立是否成立.若是,则结束算法;若是,则结束算法;否则,返回第三歩否则,返回第三歩.小结:小结:算法的特征是什么?算法的特征是什么?n确切性确切性n可行性可行性n有穷性有穷性算法的概念:算法的概念:算法通常指可以用来解决的某算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的确的和有效的,而且能够在有限步之内完成的.n不唯一性不唯一性n普遍性普遍性探究探究给出求给出求1+2+3+4+5+6的一个算法的一个算法.解法解法1.1.按照逐一相加的程序进行按照逐一相加的程序进行. .第一步第一步:计算计算1+2,得得3;第二步第二步:将第一步中的运算结果将第一步中的运算结果3与与3相加得相加得6;第三步第三步:将第二步中的运算结果将第二步中的运算结果6与与4相加得相加得10;第四步第四步:将第三步中的运算结果将第三步中的运算结果10与与5相加得相加得15;第五步第五步:将第四步中的运算结果将第四步中的运算结果15与与6相加得相加得21.解法解法2.2.可以运用下面公式直接计算可以运用下面公式直接计算. .(1)12342n nn 第一步第一步: :令令 n = =6; ;第二步第二步: :计算计算 ; ;2)1( nn第三步第三步: :输出计算结果输出计算结果. .点评点评: :解法解法1 1繁琐繁琐, ,步骤较多步骤较多; ; 解法解法2 2简单,步简单,步骤较少骤较少. . 找出好的算法是我们的追求目标找出好的算法是我们的追求目标. .探究探究给出求给出求1+2+3+4+5+6的一个算法的一个算法.作业作业: :资料和课时作业资料和课时作业. .