《人教必修3111算法的概念课件.ppt》由会员分享,可在线阅读,更多相关《人教必修3111算法的概念课件.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、普通高中课程标准实验教科书必修普通高中课程标准实验教科书必修算法与程序框图算法与程序框图 在中央电视台幸运在中央电视台幸运5252节目中节目中, ,有一个猜商品有一个猜商品价格的环节价格的环节, ,竟猜者如在规定的时间内大体猜出竟猜者如在规定的时间内大体猜出某种商品的价格某种商品的价格, ,就可获得该件商品就可获得该件商品. .现有一商品现有一商品, ,价格在价格在0 080008000元之间元之间, ,采取怎样的策略才能在较采取怎样的策略才能在较短的时间内说出正确短的时间内说出正确( (大体上大体上) )的答案呢的答案呢? ?第一步第一步:报报“4000”;第二步第二步:若主持人说高了若主持
2、人说高了(说明答案在说明答案在04000之间之间),就报就报“2000”,否则否则(答数答数在在40008000之间之间)报报“6000”;第三步第三步: :重复第二步的报数方法取中间重复第二步的报数方法取中间数数, ,直至得到正确结果直至得到正确结果. .一般地一般地, ,对于一类问题的机械式地、统一地、对于一类问题的机械式地、统一地、按部就班地求解过程称为算法按部就班地求解过程称为算法(algorithm)(algorithm)它它是解决某一问题的程序或步骤是解决某一问题的程序或步骤. .按照这样的理解按照这样的理解, ,我们可以设计出很多具体数我们可以设计出很多具体数学问题的算法学问题的
3、算法. .下面看几个例子下面看几个例子: :所谓所谓 “ “算法算法”就是解题方法的精确描述就是解题方法的精确描述. .从更广从更广义的角度来看义的角度来看, ,并不是只有并不是只有“计算计算”的问题才有算的问题才有算法法, ,日常生活中处处都有日常生活中处处都有. .如如乐谱乐谱是乐队演奏的算是乐队演奏的算法法, ,菜谱菜谱是做菜肴的算法是做菜肴的算法, ,珠算口诀珠算口诀是使用算盘的是使用算盘的算法算法. .第一步第一步:第二步第二步:第三步第三步:(消元)(消元)(解一元一次方程)(解一元一次方程)+ +2 2,得,得 711x 解解得得117x (代入求解)代入求解)117x 将将 代
4、入代入, ,得得67y 写一写写一写解方程组解方程组32324xyx y 写出写出的步骤的步骤写出解第二个方程组的算法:写出解第二个方程组的算法:第一步:第一步:第二步:第二步:第三步:第三步:2 11 22 11 2()a babya ca c解,得 2 11 22 11 2a ca cya ba b将带入得2a1a 得32324xyx y 1 22 12 11 2bcb cxa bab111222a x b y ca x b y c1 22 1(0)aba b【2】给出求】给出求1+2+3+4+5+6的一个算法的一个算法.解法解法1.1.按照逐一相加的程序进行按照逐一相加的程序进行. .第
5、一步第一步: :计算计算1+2,1+2,得得3;3;第二步第二步: :将第一步中的运算结果将第一步中的运算结果3 3与与3 3相加得相加得6;6;第三步第三步: :将第二步中的运算结果将第二步中的运算结果6 6与与4 4相加得相加得10;10;第四步第四步: :将第三步中的运算结果将第三步中的运算结果1010与与5 5相加得相加得15;15;第五步第五步: :将第四步中的运算结果将第四步中的运算结果1515与与6 6相加得相加得21.21.解法解法2.2.可以运用下面公式直接计算可以运用下面公式直接计算. .(1)12342n nn第一步第一步: :取取 n = =6; ;第二步第二步: :计
6、算计算 ; ;2)1( nn第三步第三步: :输出计算结果输出计算结果. .点评点评: :解法解法1 1繁琐繁琐, ,步骤较多步骤较多; ; 解法解法2 2简单,步简单,步骤较少骤较少. . 找出好的算法是我们的追求目标找出好的算法是我们的追求目标. .在数学中,现代意义上的在数学中,现代意义上的 “ “算法算法”通常是指可通常是指可以用计算机来解决的某一类问题的程序或步骤,以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成在有限步之内完成. .2.2.算法的要求算法的要求(1)写出的算法写出的算法,必
7、须能解决一类问题必须能解决一类问题(例如解任例如解任意一个二元一次方程组意一个二元一次方程组),并且能重复使用并且能重复使用;(2) 算法过程要能一步一步执行算法过程要能一步一步执行,每一步执行的每一步执行的操作操作,必须确切必须确切,不能含混不清不能含混不清,而且在有限步之而且在有限步之内完成后能得出结果内完成后能得出结果.1.1.算法的定义算法的定义3.3.算法的基本特征算法的基本特征: :明确性明确性: :算法对每一个步骤都有确切的、非二算法对每一个步骤都有确切的、非二义性的规定义性的规定, ,即每一步对于利用算法解决问题的即每一步对于利用算法解决问题的人或计算机来说都是可读的、可执行的
8、人或计算机来说都是可读的、可执行的, ,而不需而不需要计算者临时动脑筋要计算者临时动脑筋. . 有效性有效性: :算法的每一个步骤都能够通过基本运算法的每一个步骤都能够通过基本运算有效地进行算有效地进行, ,并得到确定的结果;对于相同的并得到确定的结果;对于相同的输入输入, ,无论谁执行算法无论谁执行算法, ,都能够得到相同的最终都能够得到相同的最终结果结果讲授新课有限性有限性: :算法应由有限步组成算法应由有限步组成, ,至少对某些输入至少对某些输入, ,算法应在有限多步内结束算法应在有限多步内结束, ,并给出计算结果并给出计算结果3.3.算法的基本特征算法的基本特征: :信息输出信息输出:
9、一个算法至少要有一个有效的信一个算法至少要有一个有效的信息输出息输出,这就是问题求解的结果这就是问题求解的结果.不唯一性不唯一性:求解某一个题的解法不一定是唯求解某一个题的解法不一定是唯一的一的, 对于一个问题可以有不同的算法对于一个问题可以有不同的算法.讲授新课4.4.算法的描述算法的描述: : 描述算法可以有不同的方式描述算法可以有不同的方式, ,常用的有常用的有自自然语言、程序框图、程序设计语言然语言、程序框图、程序设计语言等等. .数据输入数据输入: :算法一定要根据输入的初始数据或算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤给定的初值才能正确执行它的每一步骤. .
10、 自然语言就是人们日常使用的语言自然语言就是人们日常使用的语言, ,可以是可以是汉语、英语或数学语言等汉语、英语或数学语言等. .用自然语言描述算法用自然语言描述算法的优点是通俗易懂的优点是通俗易懂, ,当算法中的操作步骤都是顺当算法中的操作步骤都是顺序执行时比较容易理解序执行时比较容易理解. .缺点是如果算法中包含缺点是如果算法中包含判断和转向判断和转向, ,并且操作步骤较多时并且操作步骤较多时, ,就不那么直就不那么直观清晰了观清晰了. .(1)(1)自然语言自然语言(2)(2)程序框图程序框图(3)(3)程序设计语言程序设计语言1.1.21.1.2程序框图程序框图中讲解中讲解1.21.2
11、基本算法语句基本算法语句中讲解中讲解练习练习任意给定一个正实数任意给定一个正实数a a,试设计一个算法求,试设计一个算法求以以a a为直径的圆的面积。为直径的圆的面积。第一步:输入第一步:输入a a的值的值. .第二步:第二步:_._.第三步:第三步:_._.第四步:输出圆的面积的值第四步:输出圆的面积的值. .解解例例1:(1)设计一个算法,判断)设计一个算法,判断7是否为质数。是否为质数。(2)设计一个算法,判断)设计一个算法,判断35是否为质数。是否为质数。 (1)解:)解:第一步:用第一步:用2除除7得到余数得到余数1,因为余,因为余数不为数不为0,所以,所以2不能整除不能整除7。第二
12、步:用第二步:用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是质数。是质数。(2)解: 第一步,用第一步,用2除除35,得到余数,得到余数1,因为余数,因为余数不为不为0,所以,所以2不能整除不能整除35。第二
13、步,用第二步,用3除除35,得到余数,得到余数2,因为余数不,因为余数不为为0,所以,所以3不能整除不能整除35。第三步,用第三步,用4除除35,得到余数,得到余数3,因为余数不,因为余数不为为0,所以,所以4不能整除不能整除35。第四步,用第四步,用5除除35,得到余数,得到余数0,因为余数,因为余数为为0,所以,所以5能整除能整除35。因此,。因此,35不是质数。不是质数。任意给定一个大于任意给定一个大于2的整数的整数n,试设计,试设计一个程序或步骤对一个程序或步骤对n是否为质数作出判断。是否为质数作出判断。第二步:令第二步:令i=2;第三步:用第三步:用i除除n得到余数得到余数r,判断余
14、数,判断余数r是否为是否为0,若是,若是,则则n不是质数,若不是,则将不是质数,若不是,则将i的值增加的值增加1,仍用,仍用i表示。表示。解:解:探究探究第一步:给定一个大于第一步:给定一个大于2的整数;的整数;第四步,判断第四步,判断i是否大于(是否大于(n-1),若是,则),若是,则n是质数,若不是,则返回第三步。是质数,若不是,则返回第三步。练习练习任意给定一个大于任意给定一个大于1的正整数的正整数n,设计一个算法,设计一个算法求出求出n的所有因数。的所有因数。第一步第一步:输入一个大于输入一个大于1的正整数的正整数n.解解第二步:依次以第二步:依次以2(n-1)的整数)的整数d为除为除
15、数去除数去除n,检查余数是否为,检查余数是否为0。若是,则。若是,则d是是n的因数;若不是,则的因数;若不是,则d不是不是n的因数。的因数。第三步:在第三步:在n的因数中加入的因数中加入1和和n第四步:得到第四步:得到n的所有因数的所有因数 例例利用利用”二分法二分法”求方程求方程x2-2=0(x0)的近似解的算法的近似解的算法.第一步,令第一步,令f(x)=x2-2,给定精确度,给定精确度d。第二步,确定区间第二步,确定区间a,b,满足,满足f(a)f(b)0第三步,取区间中点第三步,取区间中点m=(a+b)/2。第四步,若第四步,若f(a)f(m)0,则含零点的区间为,则含零点的区间为a,
16、m;否则,含零点的区间为;否则,含零点的区间为m,b。将新得到。将新得到的含零点的区间仍记为的含零点的区间仍记为a,b。第五步,判断第五步,判断a,b的长度是否小于的长度是否小于d或或f(m)是是否等于否等于0,若是则,若是则m是方程的近似解;否则返回第是方程的近似解;否则返回第三步。三步。【1】用自然语言描述求一元二次方程用自然语言描述求一元二次方程 ax2+bx+c=0 的根的算法的根的算法.第一步第一步:计算计算=b2-4ac;第二步第二步:如果如果0,则原方程无实数解则原方程无实数解 ;否则否则(0)时,时,,a2bx1 .a2bx2 第三步第三步:输出输出x1, x2或无实数解的信息
17、或无实数解的信息.1.1.解方程解方程( (方程组方程组) )不等式的算法不等式的算法题型探究【2】写出解写出解 x2-4x+30 的算法的算法.第一步第一步:求出对应方程的根求出对应方程的根1,3;第二步第二步:确定根的大小确定根的大小1 3 ;第三步第三步:写出解集写出解集x|1xmax,则则max=b;第四步第四步:如果如果cmax,则则max=c;第五步第五步:如果如果dmax,则则max=d;第六步第六步:输出输出max.题型探究点评点评: :算法要求算法要求“按部就班按部就班”地做地做, ,每做一步都每做一步都有唯一的结果有唯一的结果, ,且有限步之后总能得到结果且有限步之后总能得到结果. .小结:小结: 算法的特征是什么?算法的特征是什么?n明确性明确性n有效性有效性n有限性有限性算法的概念:算法的概念:算法通常指可以用来解决的某算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的。确的和有效的,而且能够在有限步之内完成的。
限制150内