2017-2018版高中数学 第二章 算法初步 1 算法的基本思想学案 北师大版必修3
2018版高中数学北师大版必修三学案:第二章 算法初步 1 算法的基本思想 精品

[学习目标] 1.通过几个具体问题的求解过程,体会算法的基本思想.2.了解算法的含义和特征.3.会用自然语言描述简单的具体问题的算法.知识点一算法的含义及特征1.算法的概念在解决某些问题时,需要设计出一系列可操作的或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.2.算法的特征(1)有限性:一个算法的步骤序列是有限的,必须在有限的操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一问题的解法不一定是唯一的,对于同一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.3.算法与计算机计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.知识点二算法的设计1.设计算法的目的设计算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.2.设计算法的要求(1)写出的算法必须能解决一类问题.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法步骤有效,且计算机能够执行.思考一次青青草原园长包包大人带着灰太狼、懒羊羊和一捆青草过河.河边只有一条船,由于船太小,只能装下两样东西.在无人看管的情况下,灰太狼要吃懒羊羊,懒羊羊要吃青草,请问包包大人如何才能带着他们平安过河?答包包大人采取的过河的算法可以是第一步,包包大人带懒羊羊过河;第二步,包包大人自己返回;第三步,包包大人带青草过河;第四步,包包大人带懒羊羊返回;第五步,包包大人带灰太狼过河;第六步,包包大人自己返回;第七步,包包大人带懒羊羊过河.题型一算法的概念例1下列关于算法的说法,正确的个数有()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1 B.2C.3 D.4答案 C解析由于算法具有有限性、确定性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.反思与感悟算法实际上是解决问题的一种程序性方法,它通常解决某一个或某一类问题,在用算法解决问题时,体现了特殊与一般的数学思想.跟踪训练1下列说法中是算法的有________(填序号).①从上海到拉萨旅游,先坐飞机,再坐客车;②解一元一次不等式的步骤是去分母、去括号、移项、合并同类项,系数化为1;③求以A(1,1),B(-1,-2)两点为端点的线段AB的中垂线方程,可先求出AB中点坐标,再求k AB及中垂线的斜率,最后用点斜式方程求得线段AB的中垂线方程;④求1×2×3×4的值,先计算1×2=2,再计算2×3=6,6×4=24,得最终结果为24;⑤12x>2x+4.答案①②③④解析①说明了从上海到拉萨的行程安排.②给出了解一元一次不等式这类问题的解法.③给出了求线段的中垂线的方法及步骤.④给出了求1×2×3×4的值的过程并得出结果.故①②③④都是算法.题型二算法的设计例2所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解算法如下:第一步,给出任意一个正整数n(n>1).第二步,若n=2,则输出“2是素数”,判断结束.第三步,令m=1.第四步,将m的值增加1,仍用m表示.第五步,如果m≥n,则输出“n是素数”,判断结束.第六步,判断m能否整除n,①如果能整除,则输出“n不是素数”,判断结束;②如果不能整除,则转第四步.反思与感悟设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决该问题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;(4)用简练的语言将这个步骤表示出来.跟踪训练2判断一个大于2的整数是否为质数的算法步骤如何设计?解第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>n-1”是否成立.若是,则n是质数,结束算法;否则,返回第三步.题型三算法的应用例3一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?解方法一算法如下.第一步,任取2枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚就是假银元,若天平平衡,则进行第二步.第二步,取下右边的银元放在一边,然后把剩下的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.方法二算法如下.第一步,把9枚银元平均分成3组,每组3枚.第二步,先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组.第三步,取出含假银元的那一组,从中任取2枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.反思与感悟对于查找、变量代换、文字处理等非数值型计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算法.跟踪训练3“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.解第一步,首先确定最小的满足除以3余2的正整数:2;第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,…第三步,在上列数中确定最小的满足除以5余3的正整数:8.第四步,然后在自然数内,在8的基础上依次加上15的倍数,得到8,23,38,53,….第五步,在上列数中确定最小的满足除以7余4的正整数应为53.对算法的含义及特征的理解例4计算下列各式中的S值,能设计算法求解的是________________.(1)S=1+2+3+ (100)(2)S=1+2+3+…+100+…;(3)S=1+2+3+…+n(n∈N*).错解算法是为解决某一类问题而设计的一系列操作或可计算的步骤,也就是说在实际的算法中的值是具体的,因此(1)正确;而(3)中的值不具体,错误;对于(2)显然不符合算法的有限性,故只有(1)正确.错解分析错识的根本原因在于对算法的理解不透彻.自我矫正算法是为解决某一类问题而设计的一系列操作或可计算的步骤,也就是说在实际的算法中n的值是具体确定的,因此(1)(3)是正确的,而算法又是具有有限性的,即执行有限步操作后一定能解决问题,而(2)显然不符合算法的有限性,所以(2)不正确.答案(1)(3)1.下列关于算法的说法中正确的是()A.算法是某个具体的解题过程B.算法执行后可以不产生确定的结果C.解决某类问题的算法不是唯一的D.算法可以无限地操作下去不停止答案 C解析算法与一般意义上具体问题的解法,既有区别,又有联系,算法的获得要借助一类问题的求解方法,而这一类具体问题都可以用这种方法来解决,因此A不对;算法中的每一步都应该是确定的,并且能有效执行,得到确定的结果,而不能含糊其辞或有歧义,所以B不正确;算法的操作步骤必须是有限的,必须在有限的步骤内完成,因此D不对;算法具有不唯一性,C正确.2.下列四种自然语言叙述中,能称为算法的是()A.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭必须要有米答案 B解析算法是做一件事情或解决一个问题等的程序或步骤,故选B.3.在用二分法求方程零点的算法中,下列说法正确的是()A .这个算法可以求所有的零点B .这个算法可以求任何方程的零点C .这个算法能求所有零点的近似解D .这个算法可以求变号零点近似解 答案 D解析 二分法的理论依据是函数的零点存在定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.4.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步: (1)计算c =a 2+b 2;(2)输入直角三角形两直角边长a ,b 的值; (3)输出斜边长c 的值. 其中正确的顺序是________. 答案 (2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.5.下面是解决一个问题的算法: 第一步:输入x .第二步:若x ≥4,转到第三步;否则转到第四步. 第三步:输出2x -1. 第四步:输出x 2-2x +3.当输入x 的值为________时,输出的数值最小值为________. 答案 1 2解析 所给算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1(x ≥4),x 2-2x +3(x <4)的函数值问题,当x ≥4时,f (x )=2x -1≥2×4-1=7;当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2,所以f (x )min =2,此时x =1.即输入x 的值为1时,输出的数值最小,最小值为2.1.算法的特点:有限性、确定性、顺序性与正确性、不唯一性、普遍性. 2.算法设计的要求:(1)写出的算法必须能够解决一类问题,并且能够重复使用. (2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,在有限步后能得到结果.。
[推荐学习]2018北师大版高中数学必修三学案:第二章 1 算法的基本思想
![[推荐学习]2018北师大版高中数学必修三学案:第二章 1 算法的基本思想](https://img.taocdn.com/s3/m/b7515bf57f1922791688e872.png)
学习目标 1.了解算法的含义,体会算法的思想,能够用自然语言叙述算法.2.掌握正确的算法应满足的要求.3.学会将一整数分解成素因数之积,会设计求两整数的最大公因数的算法,了解“韩信点兵”问题及二分法求方程近似解.知识点一算法的概念思考有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.梳理一般地,算法是解决某类问题的一系列____________,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用________帮助完成的.同一个问题可能存在____种算法,一个算法也可以解决某一类问题.知识点二算法的特点思考设想一下电脑程序需要计算无限多步,会怎么样?梳理一般地,算法的特点有:(1)有穷性一个算法应包括________的操作步骤,能在执行有穷的操作步骤之后________.(2)确定性算法的计算规则及相应的计算步骤必须是唯一确定的.(3)可行性算法中的每一个步骤都是可以在________的时间内完成的基本操作,并能得到________的结果.类型一生活中的算法案例例1在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出示了一台价值在1 000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话:参与者:800元!主持人:高了!参与者:400元!主持人:低了!参与者:600元!主持人:低了!……试把参与者的竞猜策略概括成一系列的步骤.反思与感悟按照上述方法,继续判断,直到游戏结束.像这样的一系列步骤通常称为解决这个问题的一个算法.生活中有很多蕴含算法思想的案例.跟踪训练1一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.类型二数学中的算法思想例2设计一个算法,求840与1 764的最大公因数.反思与感悟以上这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.跟踪训练2设计一个算法,求98与63的最大公因数.例3“韩信点兵”问题韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力.采用下述点兵方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.反思与感悟在完成上述步骤后,就找到了所求的数53,这5个步骤称为解决“韩信点兵”问题的一个算法.跟踪训练3在例3中,我们颠倒一下3,5,7的顺序,请再设计一个算法.类型三用二分法求方程近似解例4求方程x3+x2-1=0在[0,1]上的近似解,精度为0.1.反思与感悟 二分法求方程近似解的基本思想:逐渐缩小有解区间的长度,直到满足精度的要求.虽然看似烦琐,但很适合计算机执行.跟踪训练4 用二分法设计一个求方程x 2-2=0的近似正根的算法,精度为0.05.1.下列关于算法的说法,正确的个数为( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A .1B .2C .3D .42.已知一个算法:(1)给出三个数x 、y 、z ;(2)计算M =x +y +z ;(3)计算N =13M ; (4)得出每次计算的结果.则上述算法是( )A .求和B .求余数C.求平均数D.先求和再求平均数3.看下面的四段话,其中不是解决问题的算法是________.(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.答案精析问题导学知识点一思考先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理步骤或程序计算机多知识点二思考若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.梳理(1)有限结束(3)有限确定题型探究例1解 1.报出首次价格T1;2.根据主持人的回答确定价格区间:(1)若报价小于商品价格,则商品的价格区间为(T1,1 000);(2)若报价大于商品价格,则商品的价格区间为(0,T1);(3)若报价等于商品价格,则游戏结束.3.如果游戏没有结束,则报出上面确定的价格区间的中点T2.跟踪训练1解 1.两个小孩同船过河去;2.一个小孩划船回来;3.一个大人划船过河去;4.对岸的小孩划船回来;5.两个小孩同船渡过河去.例2解算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.跟踪训练2解算法步骤如下:1.先将98进行素因数分解:98=2×72;2.然后将63进行素因数分解:63=32×7;3.确定它们的公共素因数:7;4.确定公共素因数的指数:公共素因数的指数是1;5.最大公因数为7.例3解算法步骤如下:1.首先确定最小的满足除以3余2的正整数:2;2.依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…3.在上列数中确定最小的满足除以5余3的正整数:8;4.然后依次加上15,得到8,23,38,53,…不难看出,这些数既满足除以3余2,又满足除以5余3;5.在第4步得到的一列数中找出满足除以7余4的最小数53,这就是我们要求的数.跟踪训练3解算法步骤如下:1.首先确定最小的除以7余4的正整数:4;2.依次加7就得到所有除以7余4的正整数:4,11,18,25,32,39,46,53,60,…3.在第2步得到的一列数中确定最小的除以5余3的正整数:18;4.然后依次加上35,得到18,53,88,…5.在第4步得到的一列数中找出最小的满足除以3余2的正整数:53.例4解根据上述分析,可以通过下列步骤求得方程的近似解:设f(x)=x3+x2-1,1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],1-0.5=0.5>0.1;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],1-0.75=0.25>0.1;8.取[0.75,1]的区间中点0.875;9.计算f(0.875)=0.435 546 875;10.由于f(0.75)·f(0.875)<0,可得新的有解区间[0.75,0.875],0.875-0.75=0.125>0.1;11.取[0.75,0.875]的区间中点0.812 5;12.计算f(0.812 5)=0.196 533 203 125;13.由于f(0.75)·f(0.812 5)<0,可得新的有解区间[0.75,0.812 5],0.812 5-0.75=0.062 5<0.1. 所以,区间[0.75,0.812 5]中的任一数值,都可以作为方程的近似解.跟踪训练4解 1.因为f(1)=-1,f(2)=2,f(1)·f(2)<0,则区间[1,2]为有解区间,精度2-1=1>0.05;2.取[1,2]的中点1.5;3.计算f(1.5)=0.25;4.由于f(1)·f(1.5)<0,可得新的有解区间[1,1.5],精度1.5-1=0.5>0.05;5.取[1,1.5]的中点1.25;6.计算f(1.25)=-0.437 5;7.由于f(1.25)·f(1.5)<0,可得新的有解区间[1.25,1.5],精度1.5-1.25=0.25>0.05;…当得到新的有解区间[1.406 25,1.437 5]时,由于|1.437 5-1.406 25|=0.031 25<0.05,该区间精度已满足要求,所以取区间[1.406 25,1.437 5]的任一数值,都可以作为方程的一个近似解.当堂训练1.C 2.D 3.(3) 4.(2)(1)(3)。
2017_2018版高中数学第二章算法初步习题课学案北师大版必修3

学习目标 1.提高把具体问题的求解转化为算法步骤的能力.2.能正确选择并运用三种逻辑结构框图表示具体问题的算法.3.提高读图能力.
知识点一 三种逻辑结构
试探1 咱们前后学了三种逻辑结构,你能简述一下何时会用到它们吗?
试探2 循环结构是个难点.你以为循环结构的关键在哪里?需要注意些什么?
跟踪训练1 已知函数y= 试设计一个算法,输入x的值,求对应的函数值.
类型二 画算法框图
例2 设计求1×2×3×4×…×2 013×2 014的值的算法,并画出算法框图.
反思与感悟 算法要求指令明确,在有限步内解决问题,故用自然语言设计算法时不能大而化之.一旦用自然语言表述出算法,转换为算法框图相对简单,但画时要用对框图,并尽可能使主线在一条纵轴上,以增强算法框图的层次.
1.算法共有三种逻辑结构,即顺序结构、选择结构和循环结构,以下说法正确的选项是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多能够包括两种逻辑结构
C.一个算法必需含有上述三种逻辑结构
D.任何一个算法都离不开顺序结构
2.以下关于算法框图的描述中,正确的有( )
①关于一个算法来讲,算法框图是唯一的;
3.B [由算法框图知:第一次循环,S=1,i=1+1=2,不知足条件i>4,继续循环;
第二次循环,S=1+4=5,i=2+1=3,不知足条件i>4,继续循环;
第三次循环,S=5+9=14,i=3+1=4,不知足条件i>4,继续循环;
第四次循环,S=14+16=30,i=4+1=5,知足条件i>4,终止循环,输出S=30,应选B.]
第四步,计算y=x2.
第五步,输出y.
例2 解 算法如下:
第一步,设M的值为1.
高中数学北师大版必修3第二章《算法初步》(算法的基本思想)word教案

算法的基本思想一、教学内容:新课程高中数学(北师大版)必修3第二章《算法初步》第一节:算法的基本思想。
二、教学目标:1、通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义及其基本特征;2、通过分析具体问题,抽象出算法的过程,培养抽象概括能力、语言表达能力和逻辑思维能力;3、通过算法的学习,进一步让学生体验到数学与现实世界的关系、数学与计算机技术的关系、提高学生学习数学的兴趣。
三、教学重点:1、了解算法的含义及其基本特征;2、掌握算法的表示形式。
四、教学难点:算法的表示形式。
五、教学方法:任务驱动法。
六、教学过程:(一)情景导入:在与学生的寒暄中引入今天的课题,并让学生来猜猜老师衣服的价格,提出问题:“怎样才能在有限的次数范围内猜中衣服的价格呢?”师:采用对半价格区间去猜数比较合理,在数学上我们称这种方法为“二分法”下节课我们要重点学习这种方法的应用。
师:可见我们在处理一个问题时,若是有一个好的指导思想,我们在具体行动中就不会显得很盲目,按照既定的策略,在有限的步骤内就可以达到目的。
今天我们这节课的课题就是研究有关解决问题的基本思想方法,在数学上,我们称之为“算法”。
这里的“算法”不是指狭义上的计算方法,而是广义范围内一切解决问题的思想方法。
下面我们再通过几个实例来体会一下算法的基本思想及其算法具有哪些特征。
(二)新课:师:我们先看一下书上的例子例:请设计算法,将936分解成素因素的乘积。
师:请同学们在最短的时间内分解好,提问。
=⨯⨯⨯⨯⨯生:9362223313师:请用语言描述你的思路过程。
若是学生很难用语言描述,老师要及时引导。
解:算法步骤如下:1. 判断936是否为素数:否=⨯2. 确定936的最小素因数:2. 93624683. 判断468是否为素数:否=⨯⨯4. 确定468的最小素因数:2. 936222345. 判断234是否为素数:否=⨯⨯⨯6. 确定234的最小素因数:2. 9362221177. 判断117是否为素数:否=⨯⨯⨯⨯8. 确定234的最小素因数:3. 9362223399. 判断39是否为素数:否=⨯⨯⨯⨯⨯10.确定234的最小素因数:3. 936222331311. 判断13是否为素数:是素数,分解结束 .师:以上就是分解素因数的一个算法,其实算法就是解决问题的一系列步骤,依照这些步骤,按部就班就可以完成任务。
2017_2018版高中数学第二章算法初步疑难规律方法学案北师大版必修3

第二章算法初步1 算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了,广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.每个算法都闪耀着人类的智慧,阅读和学习这些东西会给我们带来一种难以用语言表达的满足感和快感.在以后的学习和工作中我们会不断从实际应用中了解和领会算法是如何解决各个领域的实际问题,推动人类文明的发展的.一、算法的特征1.确定性算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,至少不能出现无限循环或死循环.在此基础上越简洁越快越好.越简洁,占用内存越少,对设备的要求越基本;越快,这个意义就不用说了吧.比如一个计算对方导弹轨迹的算法,如果等你算出来,那边导弹已经落地了,那还有什么意义?二、算法的思想专业的事交给专业的人去做.普通人只要按专业人士给出的步骤一步一步地去完成,这就是算法的思想,即程序思想,你也可以理解为傻瓜化思想.另外,算法强调的是通性通法,即给出一个算法,实际上是给出了一种解决一类问题的方法.比如你给出一个计算圆的面积的算法,它应该能计算各种半径的圆的面积,而不是只适用于半径为某一具体数的圆.三、特别提示1.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求的近似值却没有要求近似的精确度,则该问题不能求解.2.现代算法主要是面向计算机的,如果算法中没有输出,程序也能运行,但是运行结果无法输出.如果想要得到结果,那就要有输出.3.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.四、典例分析例1 已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.分析对于已知等边三角形的边长求面积的题目同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.但学会清晰条理地表达自己的想法,也是一个基本的要求.解 算法步骤如下:第一步,输入a 的值.第二步,计算l =a3的值. 第三步,计算S =34×l 2的值. 第四步,输出S 的值.例2 下面给出了一个问题的算法:第一步,输入x .第二步,若x ≥4,则执行第三步,否则执行第四步.第三步,输出2x -1.第四步,输出x 2-2x +3.这个算法解决的问题是什么?分析 依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法.解 这个算法先是输入一个变量x ,当x ≥4时输出2x -1,当x <4时输出x 2-2x +3,不难发现这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧ 2x -1,x ≥4,x 2-2x +3,x <4的函数值.2 典型算法举例1.解方程(方程组)、不等式的算法例1 用自然语言描述求一元二次方程ax 2+bx +c =0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法. 解 用自然语言来描述算法,第一步,计算Δ=b 2-4ac ;第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)x 1=-b +b 2-4ac 2a,x 2=-b -b 2-4ac 2a,输出x 1,x 2的值. 点评 第二步中包含了一个判断Δ=b 2-4ac 是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b 2-4ac 小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.例2 写出解x 2-4x +3<0的算法.思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法.解 第一步,求出对应方程的根x 1=1,x 2=3;第二步,确定根的大小x 1<x 2;第三步,写出解集{x |1<x <3}.2.套用公式求值的算法例3 已知摄氏温度C 与华氏温度F 的关系是F =C ×95+32,写出由摄氏温度求华氏温度的算法.思维切入 这是一个函数求值问题,给C 赋值再代入解析式求F .解 第一步,输入摄氏温度C ;第二步,代入F =C ×95+32; 第三步,输出华氏温度F .点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.3.判断性质型问题的算法例4 试描述判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法.思维切入 直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d >r ,则直线与圆相离,d =r 则直线与圆相切,d <r 则直线与圆相交.因此我们可以先求出圆心到直线的距离d ,然后再和r 比较.解 第一步,输入圆心的坐标、直线方程的系数和半径r ;第二步,计算z 1=Ax 0+By 0+C ;第三步,计算z 2=A 2+B 2;第四步,计算d =|z 1|z 2; 第五步,如果d >r 则相离,如果d =r 则相切,如果d <r 则相交.点评 算法要求分解成简单计算,不要直接计算d =|Ax 0+By 0+C |A 2+B 2.一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一个模块,而不需要全盘翻工.4.累加、累乘问题的算法例5 用自然语言描述求解mul =1×2×3×4×5×6问题的算法.思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.解 第一步,计算1×2,得2;第二步,将第一步中的运算结果2与3相乘得6;第三步,将第二步中的运算结果6与4相乘得24;第四步,将第三步中的运算结果24与5相乘得120;第五步,将第四步中的运算结果120与6相乘得720.点评如果让人一步一步地做,太枯燥了.但这恰好是计算机的优势.所以算法好不好,还分让谁来执行,对人来讲是奇笨无比的办法,对计算机却可能是一个好办法.思维拓展该算法包含一个重复操作的过程是循环结构,我们可将算法改造得更为简练、科学.解第一步,设i=1,P=1;第二步,如果i≤6执行第三步,否则执行第五步;第三步,计算P×i并将结果代替P;第四步,将i+1代替i,转去执行第二步;第五步,输出P.点评i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.3 算法框图画法全知晓一、画算法框图的基本步骤第一步,设计算法,因为算法的设计是画算法框图的基础,所以画算法框图前,首先写出相应的算法步骤,并分析算法需要用哪种基本逻辑结构(顺序结构、选择结构、循环结构)完成.第二步,把算法步骤转化为对应的算法框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.第三步,将所有步骤的算法框图用流程线连接起来,并加上终端框,得到整个表示算法的算法框图.二、画算法框图的规则1.使用标准的框图符号.2.框图一般按从上到下、从左到右的方向来画.3.除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号.4.在图形符号内描述的语言要简练清楚.三、典例分析1.顺序结构顺序结构是最简单的算法结构,是任何一个算法都离不开的结构.若一个算法由若干个依次执行的步骤组成,则在画算法框图时,可直接由顺序结构完成.因为在其他的结构中都会涉及到顺序结构,所以关于顺序结构的画法,在此不再单独叙述.2.选择结构设计算法框图时,若是分段函数或执行时需要先判断才能执行的问题,则需要用到判断框,引入选择结构.例1 如图,在边长为4的正方形ABCD 的边上有一点P ,沿着BCDA 的方向由点B 向点A 运动,设点P 运动的路程为x (0<x <12),△APB 的面积为y ,画出y 关于x 的关系式的算法框图.分析 随着点P 的位置不同,△APB 的面积与路程x 有不同的对应关系,所以需要先判断点P 的位置,这就需要用到选择结构,先根据题意写出算法,再根据算法画出算法框图.即 第一步,按照题意,y 与x 的关系满足分段函数:y =⎩⎪⎨⎪⎧ 2x ,0<x ≤4,8,4<x ≤8,212-x ,8<x <12.第二步,用合适的含选择结构的算法框图表示该分段函数.解 算法框图如图所示.点评 该题中的分段函数是分三段的函数,需引入两个判断框.至于判断框的内容是没有顺序的,但与下一图形的内容或操作必须相互对应.同时,在画算法框图时,要特别注意图形符号的规范性.3.循环结构如果问题中进行了重复的运算,且有相同的规律,就可根据需要引入相关变量,利用这些规律组成一个循环体,用循环结构来解决.例2 某机械厂为增加产值进行了技术革新.据统计2009年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,问最早要到哪一年生产总值才能超过600万元,试用算法框图表示.分析 用变量n ,a 分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n 年后的生产总值为a =500(1+0.05)n,此时为(2009+n )年.由于题中进行了重复的运算,故应引入循环结构.解 算法框图如图所示.4 例说选择结构选择结构是三种基本逻辑结构之一,可以解决一些含有条件判断的算法问题,如分段函数求值问题、比较大小问题、分类讨论问题和一些实际问题等.下面就其应用略举两例,供同学们学习时参考.一、分段函数求值问题例1 已知函数y =⎩⎪⎨⎪⎧ -x +1,x >0,0,x =0,x +3,x <0,请设计算法框图,要求输入自变量x ,输出函数值y .分析 输入自变量x 的值,首先判断x 与0的大小关系,再代入相应的表达式求函数值. 解 算法框图如图.点评求分段函数的函数值,需先判断再执行步骤,需要引入选择结构.在使用选择结构时,要注意判断条件的设定不重不漏,确保各种可能的判断值有正确、唯一的流向.二、实际应用问题例2 邮政电子汇款单笔最高限额为1万元,每笔汇款的资费标准为汇款金额的1%,最低收费为2元,最高收费为50元.试编写一算法框图求出当汇款x (0<x≤10 000)元时,应交纳资费多少元.分析由题意分析,当x≤200时,应交纳资费2元,当x≥5 000时,应交纳资费50元,所以引入选择结构,200和5 000是两个分段点.解算法框图如图.点评很多在一些需要判断的实际问题,比如水电费,纳税额,结构工资,身体各项指标是否正常等,一般都会用到选择结构,在设计算法框图时,可先根据题意,设计算法,再根据算法画出算法框图.5 循环结构的应用在循环结构中,经常会出现两个变量:计数变量和累计变量.计数变量往往出现在循环结构中,起到循环计数的作用,这个变量一般出现在执行或终止循环体的条件中;而累计变量用于输出结果,往往与计数变量同步执行,一般有累加与累乘两种.下面举例说明循环结构的应用.一、求和或求积问题例1 设计两个求1+3+5+…+2 011的值的算法的算法框图.分析 本题是一个累加问题,由于加数较多,采用逐一相加的思路不可取,引入变量,应用循环结构解决:(1)设一个循环变量为i ,初始值为1;再设一个累加变量为S ,初始值为0.(2)循环体为S =S +i ,i =i +2.(3)终止条件为i >2 011. 解 两种方法:算法框图如图1和如图2所示.点评 涉及求多项的和与积的算法框图要用到循环结构和选择结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法框图时要注意前后两个加数相差2,此时计数变量不是i =i +1,而是i =i +2,要根据题意灵活地改变算法中的相应部分.二、叠加求值例2 画出求式子(共9个3)的值的一个算法框图.分析 本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a 1=13,第一次循环得到a 2=13+a 1,第二次循环得到a 3=13+a 2,……,a 9=13+a 8,共循环了8次. 解 算法框图如图所示.点评如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.6 三种逻辑结构辨与析算法中有三种逻辑结构,即顺序结构、选择结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构顺序结构按照语句的先后顺序,从上而下依次执行这些语句,该结构不具备控制流程的作用,是任何一个算法都离不开的基本结构.选择结构根据是否满足某种条件来选择程序的走向.当条件满足时,运行一个分支,不满足时,运行另一个分支.循环结构从某处开始,按照一定的条件,反复执行某一处理步骤的情况.用来处理一些进行反复操作的问题.二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的算法框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在算法框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个算法框图或算法是否正确、合理的方法和试金石.7 条件语句小聚1.“If—Then”语句“If—Then”语句的一般格式如下If 条件Then语句End If对应的框图如图1所示图1计算机在执行“If—Then”语句时,首先对If后的条件进行判断,如果符合条件,就执行Then后面的语句,若不符合条件,则直接结束该条件语句,转而执行后面的语句.2.“If—Then—Else”语句“If—Then—Else”语句的一般格式如下If 条件Then语句1Else语句2End If对应的框图如图2所示图2计算机在执行“If—Then—Else”语句时,首先对If后的条件进行判断,如果符合条件,则执行Then后面的“语句1”;若不符合条件,则执行Else后面的“语句2”.3.条件语句“If—Then—Else”可以嵌套,其格式为If 条件1 Then语句1ElseIf 条件2 Then语句2Else语句3End IfEnd If注意:使用条件语句时应注意以下几点:(1)条件语句必须以If语句开始,以End If语句结束,一个End If语句必须和一个If语句对应.(2)如果我们的程序只需对条件为真的情况作出处理,不需处理条件为假的情况,则条件语句省略Else,格式由If—Then—Else语句变成If—Then语句.8 透析循环语句两种循环语句1.For语句的一般形式是For循环变量=初始值To终值循环体Next执行步骤:当计算机执行For语句时,一般先执行一次循环体,当循环变量在初始值与终值之间时,执行循环体;当循环变量超过终值时,不再执行循环体,跳出循环体执行后面的语句.2.Do Loop语句的一般形式是循环体Loop While 条件为真计算机执行Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Loop While后的语句.9 算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用算法框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1 北京成功举办了2008年第29届奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出算法框图.解算法步骤如下:第一步,投票;第二步,统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转第一步;第三步,宣布主办城市.算法框图如图所示:点评算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2 某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一半多1万元,以此类推,到第10名恰得奖金1万元,请设计一个算法语句求科研所最初拿出多少奖金进行奖励,并画出算法框图.解 第10名的奖金额S 1=1万元,第9名和第10名的总奖金额S 2=(1+1)×2=4万元,第8名、第9名和第10名的总奖金额S 3=(4+1)×2=10万元......总奖金额S 10=(S 9+1)×2,得递推公式S 1=1,S n +1=(S n +1)×2,n =1,2, (9)算法语句:S =1i =1DoS =S +1*2i =i +1Loop While i<10输出S .算法框图如图所示:三、李白酒壶中的酒例3 李白是我国唐代的一位伟大诗人,平时很喜欢喝酒,有一首打油诗讲了李白买酒的一件趣事,“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”问:李白的酒壶中原来有多少酒?请用算法解释,画出算法框图并写出算法语句.解 通过逆向思考,李白遇到第三枝花时,壶中有1斗酒,遇到第三个店时,壶中有12斗酒;遇到第二枝花时,壶中有1+12=32斗酒,遇到第二个店时,壶中有12×32=34斗酒;遇到第一枝花时,壶中有1+34=74斗酒,遇到第一个店时,壶中有12×74=78斗酒. 根据以上分析可得算法步骤如下:第一步,S =0;第二步,I =1;第三步,S =S +12;第四步,I =I +1;第五步,如果I >3,则输出S ;否则,转第三步. 算法框图如图所示:算法语句:S =0I =1DoS =S +1/2I =I +1Loop While I <=3输出S .。
高中数学 第二章 算法初步 2.1 算法的基本思想教案 北师大版必修3

第二章算法初步算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并融入社会生活的方方面面,算法思想已经成为现代人应具备的一种数学素养.需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想.在这一章中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验算法框图在解决问题中的作用;通过模仿、操作、探索,学习设计算法框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力.算法作为新名词,在以前的数学教科书中没有出现过,但是算法本身,同学们并不陌生.解方程的算法、解不等式的算法、因式分解的算法,都是同学们熟知的内容.只是算法的基本思想、特点,学习算法的必要性等问题没有专门涉及.因此,本章中的算法的基本思想,将针对同学们熟悉的一些问题,分析解决这些具体问题的算理,整理出相应问题的解决步骤,然后抽象概括出更具一般意义的算法.通过这个过程,让学生体会算法的程序化思想.同时,针对同样的问题,我们给出不同的算法,让同学们意识到:同一个问题可能存在着多种算法,算法之间有优劣之分.接下来,通过求方程近似解,让同学们意识到学习算法的必要性——将问题的解决过程即算法交给计算机完成,能够极大地提高效率.接下来,介绍算法的基本结构.顺序结构和选择结构是学生比较容易接受的,循环结构则比较难以理解.分析造成理解困难的原因之一是变量以及对变量的处理——赋值.在循环结构的学习中,总结了循环结构的三个要素——循环变量、循环体和循环的终止条件,并提供了可供学生模仿、操作的算法算法框图.排序算法可以说是应用最广泛的算法了,而且又易于理解,便于接受,是算法教学的良好素材.教科书选择这个问题作为专题来讨论,给学生提供了一个完整的分析、设计算法的过程,也给了学生一个应用前面所学的关于变量和结构的知识的机会.在前面的学习中,我们分别用自然语言和算法框图来描述算法,这两种方式各有优缺点.要将算法最终交给计算机执行,需要用程序语言来表述算法,程序语言有很多种,但是有一些基本语句是这些语言都要用到的:输入输出语句、赋值语句、条件语句、循环语句,在本章的最后介绍了这几种基本语句.值得注意的是:1.注重对算法基本思想的理解.算法是高中数学课程中的新内容,其思想非常重要,但并不神秘.例如,运用消元法解二元一次方程组、求最大公因数等的过程本质上就是算法.本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成算法框图;为了能在计算机上实现,还需要将自然语言或算法框图翻译成计算机语言.本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.2.算法教学必须通过实例进行.使学生在解决具体问题的过程中学习一些基本逻辑结构和语句.有条件的学校,应鼓励学生上机尝试运行程序.在实例的选择中,我们要把握这样一些原则:亲和原则:选取的例子要贴近学生,或者来自学生的生活实践,或者是学生所学过的数学知识.趣味性原则:选取的实例一般要有丰富的背景,本身要有趣味性.基础性原则:问题本身的算理并不难,只要蕴涵丰富的算法思想即可.可操作性原则:所选取问题的算法一般能在计算机上实现.3.算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法.通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值.但是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理及算法步骤,然后抽象概括出一般意义的算法,画出算法算法框图,并在这个过程中,学习使用变量、赋值,学习更好地表述算法,以便在计算机上操作执行.算法的教学中,变量的理解、赋值的应用、循环结构的理解是重点和难点,教师要注意分散这些难点.学生对算法思想的认识、概念的把握、知识的灵活应用及能力的形成不是一次完成的,而是要把这些作为教学目标渗透在整章的学习中.整体设计教学分析算法在中学数学课程中是一个新的概念,但其没有一个精确化的定义,教科书只对它作了如下描述:“算法是解决某一类问题的步骤和程序.”为了让学生更好地理解这一概念,教科书用5个例子来说明算法的实质.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时教学过程导入新课思路 1.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物完好地转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.思路 2.大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路 3.算法不仅是数学及其应用的重要组成部分,也是计算科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.如听音乐、看电影、玩游戏、打字、画卡通画、处理数据都能通过计算机实现,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题1.解二元一次方程组有几种方法?2.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用加减消元法解二元一次方程组的步骤.3.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用代入消元法解二元一次方程组的步骤.4.请写出解一般二元一次方程组的步骤.5.根据上述实例谈谈你对算法的理解.6.请同学们总结算法的特征.7.请思考我们学习算法的意义.讨论结果:1.代入消元法和加减消元法.2.回顾二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1②的求解过程,我们可以归纳出以下步骤:第一步,①+②×2,得5x =1.③第二步,解③,得x =15.第三步,②-①×2,得5y =3.④第四步,解④,得y =35.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.3.用代入消元法解二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,②我们可以归纳出以下步骤:第一步,由①得x =2y -1.③第二步,把③代入②,得2(2y -1)+y =1.④第三步,解④得y =35.⑤第四步,把⑤代入③,得x =2×35-1=15.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.4.对于一般的二元一次方程组⎩⎪⎨⎪⎧ a 1x +b 1y =c 1,a 2x +b 2y =c 2, ①②其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得(a 1b 2-a 2b 1)x =b 2c 1-b 1c 2.③第二步,解③,得x =b 2c 1-b 1c 2a 1b 2-a 2b 1. 第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y =a 1c 2-a 2c 1.④第四步,解④,得y =a 1c 2-a 2c 1a 1b 2-a 2b 1. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =b 2c 1-b 1c 2a 1b 2-a 2b 1,y =a 1c 2-a 2c 1a 1b 2-a 2b 1.5.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.6.算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.7.在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路11在给定素数表的条件下,设计算法,将936分解成素因数的乘积.(4 000以内的素数表见教科书附录1)分析:1.查表判断936是否为素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步.2.确定936的最小素因数:2. 936=2×468.3.查表判断468是否为素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数.重复进行上述步骤,直到找出936的所有素因数.解:算法步骤如下:1.判断936是否为素数:否.2.确定936的最小素因数:2. 936=2×468.3.判断468是否为素数:否.4.确定468的最小素因数:2. 936=2×2×234.5.判断234是否为素数:否.6.确定234的最小素因数:2 936=2×2×2×117.7.判断117是否为素数:否.8.确定117的最小素因数:3. 936=2×2×2×3×39.9.判断39是否为素数:否.10.确定39的最小素因数:3. 936=2×2×2×3×3×13.11.判断13是否为素数:13是素数,所以分解结束.分解结果是936=2×2×2×3×3×13.点评:以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题.我们把这一系列步骤称为解决这个问题的一个算法.变式训练设计一个算法,求840与1 764的最大公因数.分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解:840=23×3×5×7, 1 764=22×32×72.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22×31×71=84.解:算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.例2 一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.图1解:按照下列步骤,就能将假银元找出来:1.任取2枚银元分别放在天平的两边.如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步.2.取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.这种算法最少要称1次,最多要称7次.是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:图21.把银元分成3组,每组3枚.2.先将两组分别放在天平的两边.如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里.3.取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元.点评:经分析发现,后一种算法只需称量2次,这种做法要明显好于前一种做法.当然,这两种方法都具有一般性,同样适用于n枚银元的情形.这是信息论中的一个模型,可以帮助我们找出某些特殊信息.从上面的问题中可以看出,同一个问题可能存在着多种算法,其中一些可能要比另一些好.在实际问题和算法理论中,找出好的算法是一项重要的工作.思路2例1 (1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数.分析:(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则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是质数.(2)类似地,可写出“判断35是否为质数”的算法:①用2除35,得到余数1.因为余数不为0,所以2不能整除35.②用3除35,得到余数2.因为余数不为0,所以3不能整除35.③用4除35,得到余数3.因为余数不为0,所以4不能整除35.④用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1 997是否为质数就比较麻烦了,因此,我们需要寻找更实用的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.解:1.给定大于2的整数n.2.令i=2.3.用i除n,得到余数r.4.判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.5.判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第3步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b]〔满足f(a)·f(b)<0〕“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:1.令f(x)=x2-2,给定精度d.2.确定区间[a,b],满足f(a)·f(b)<0.3.取区间中点m=a+b 2.4.若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].5.判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d近似解.实际上,上述步骤也是求2的近似解的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……变式训练求方程f(x)=x3+x2-1=0在区间[0,1]上的近似解,精度为0.01.解:根据上述分析,可以通过下列步骤求得方程的近似解:1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间,精度1-0=1>0.01;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],精度1-0.5=0.5>0.01;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],精度1-0.75=0.25>0.01;……当得到新的有解区间[0.75,0.757 82]时,由于|0.757 82-0.75|=0.007 82<0.01,该区间精度已满足要求,所以取区间[0.75,0.757 82]的中点0.753 91,它是方程的一个近似解.例3 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:1.人带两只狼过河,并自己返回.2.人带一只狼过河,自己返回.3.人带两只羚羊过河,并带两只狼返回.4.人带一只羚羊过河,自己返回.5.人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简洁、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使问题变得简单,而且可以提高工作效率.变式训练喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.如何安排这几个步骤?请给出两种算法,并加以比较.分析:本题主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:1.洗刷水壶.2.烧水.3.洗刷茶具.4.沏茶.算法二:1.洗刷水壶.2.烧水,烧水的过程当中洗刷茶具.3.沏茶.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:1.输入一元二次方程的系数:a,b,c.2.计算Δ=b2-4ac的值.3.判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法,并且具有确定性、逻辑性、有穷性.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t (分钟),通话费用为y (元),如何设计一个程序,计算通话的费用?解:算法分析:数学模型实际上为y 关于t 的分段函数.关系式如下:y =⎩⎪⎨⎪⎧ 0.22,0<t ≤3,0.22+0.1t -3,t >3,t ∈Z ,0.22+0.1[t -3]+1,t >3,t ∉Z .其中[t -3]表示取不大于t -3的整数部分.算法步骤如下:1.输入通话时间t .2.如果t ≤3,那么y = 0.22;否则判断t ∈Z 是否成立,若成立执行y = 0.2+0.1× (t -3);否则执行y = 0.2+0.1×( [t -3]+1).3.输出通话费用y .课堂小结1.正确理解算法这一概念.2.结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、练习2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,也有几何算法等,因此这是一节很好的课例.备课资料备选习题中国古代有一个著名的算法案例:鸡兔49个头,100条腿往地里走,问鸡兔各多少?请写出计算鸡兔数的算法.分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想.应用解二元一次方程组的方法来求解鸡兔同笼问题.解:算法如下:1.设有鸡x 只,兔y 只,则有⎩⎪⎨⎪⎧ x +y =49,2x +4y =100.①② 2.将方程组中的第一个方程两边乘以-2加到第二个方程中去,得到⎩⎪⎨⎪⎧x +y =49,4-2y =100-49×2, 解得y =1.3.将y =1代入①,得x =48.因此鸡有48只,兔有1只.。
2017_2018版高中数学第二章算法初步章末温习课学案北师大版必修3

第二章算法初步学习目标 1.加深对算法思想的明白得.2.增强用算法框图清楚层次地表达算法的能力.3.进一步体会由自然语言到算法框图再到程序的慢慢精准的进程.1.算法的概念算法能够明白得为由大体运算及规定的运算顺序所组成的完整的解题步骤,或看成按要求设计好的________、________计算序列,而且如此的步骤或序列能够解决____________.2.算法框图算法框图由__________组成,依照________________用________将框图连接起来.结构可分为________结构、________结构和________结构.3.算法语句大体算法语句有________语句、________语句、________语句、________语句、________语句五种,它们对应于算法的三种逻辑结构:顺序结构、选择结构、循环结构.用大体语句编写程序时要注意各类语句的____________,条件语句应注意If与________________配套利用,缺一不可,而________可选;循环语句应注意____________的准确表达和____________的步长设置.类型一算法设计例1 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.反思与感悟算法设计应注意:(1)与解决问题的一样方式有联系,从中提炼出算法;(2)将解决问题的进程分为假设干个可执行步骤;(3)引入有关的参数或变量对算法步骤加以表达;(4)用最精练的语言将各个步骤表达出来;(5)算法的执行要在有限步内完成.跟踪训练1 某工厂2021年生产小轿车200万辆,技术革新后估量每一年的生产数量比上一年增加5%,问最先哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法.类型二算法框图及设计例2 给出以下10个数:5,9,80,43,95,73,28,17,60,36.要求把大于40的数找出来并输出.试画出该问题的算法框图.反思与感悟算法的设计是画算法框图的基础,咱们通过对问题的分析,写出相应的算法步骤.画算法框图之前应先对算法问题设计的合法性和合理性进行探讨,然后分析算法的逻辑结构和各步骤的功能(输入、输出、判定、赋值和计算),画出相应的算法框图.跟踪训练2 阅读如下图的算法框图,运行相应的程序,若是输入某个正整数n后,输出的s∈(10,20),那么n 的值为( )A.3 B.4 C.5 D.6类型三算法语句的设计例3 给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算第30个数的大小,此刻已给出了该问题算法的算法框图(如图).(1)请在图中判定框①处和执行框②处填上适合的语句,使之能完成该题算法功能;(2)依照算法框图写出算法语句.反思与感悟用大体语句编写程序时要注意各类语句的格式要求,专门是条件语句和循环语句,应注意这两类语句中条件的表达和循环语句中有关变量的取值范围.跟踪训练3 某人用分期付款的方式购买一台价钱为1 150元的冰箱,若是购买时先付150元,以后每一个月付50元,并加入上次余款利息,一个月后付第一个月的分期付款,假设月利率为1%,购买冰箱的钱全数付清后,实际付出的款额是多少元?请编写一个算法语句解决那个问题.1.二分法作为一个优秀算法,有以下说法( )①适用于求所有函数的零点;②必然能在有限步内达到要求的精准度;③每一步的指令都十分明确,只需按指令机械执行;④能很方便地移植到运算机上执行,代替人完成枯燥的、重复的、烦琐的工作.其中正确的说法有( )A.①②③ B.①②④C.①③④ D.②③④2.依照如下图的算法框图,要使得输出的结果在区间[-1,0]上,那么输入的x能够是( )A.2 B.3 C.5 D.63.假设算法框图所给的运行结果为S=20,那么判定框中应填入的关于k的条件是( )A.k=9 B.k≤8C.k<8 D.k>84.运算机执行下面的程序段后,输出的结果是( )a=1b=3a=a+bb=a-b输出a,bA.1,3 B.4,1C.0,0 D.6,05.将下面的语句改编成Do Loop语句.S=0For i=1 To 1 000S=S+iNext输出S.1.算法往往是把问题的解法划分为假设干个可执行的步骤,有些步骤乃至重复多次,但最终都必需在有限个步骤之内完成.2.对算法框图的考查之一是程序的运行结果;考查之二是补全算法框图中的条件或循环体等.3.算法设计和算法框图是程序设计的基础,编写程序的大体方式是“自上而下,慢慢求精”.答案精析知识梳理1.有限的 确切的 一类问题2.框图 算法进行的顺序 流程线 顺序 选择 循环3.输入 输出 赋值 条件 循环 格式要求 Then 、End If Else 循环条件 循环变量题型探讨例1 解 第一步,计算x 0=-1+32=1,y 0=0+22=1,得AB 的中点N (1,1). 第二步,计算k 1=2-03--1=12,得直线AB 的斜率. 第三步,计算k =-1k 1=-2,得直线AB 的垂直平分线的斜率. 第四步,由点斜式方程得直线AB 的垂直平分线的方程,并输出.跟踪训练1 解 算法如下:第一步,令n =1,a =200,r =0.05.第二步,T =ar (计算年增量).第三步,a =a +T (计算年产量).第四步,若是a ≤300,那么n =n +1,返回第二步;不然执行第五步.第五步,N =2 014+n .第六步,输出N .例2 解 算法框图如下:跟踪训练2 B [逐项验证.假设n =3,输出s =7∉(10,20).若n =4,输出s =15∈(10,20),选B.]例3 解 (1)①i≥30 ②P =P +i(2)算法语句如下:P =1i =1DoP =P +ii =i +1跟踪训练3 解 购买时付款150元,余款1 000元,分20次分期付款,而且每次要加上余款的利息,能够看出每次付款数是如此一列数:a i =50+(21-i )×50×1%(i =1,2,…20).算法语句如下:当堂训练1.D [二分法只适合求零点左右双侧函数值异号的零点,虽能解决一类问题,但不适合所有函数求零点.]2.A [由算法框图可得输出值y =⎩⎪⎨⎪⎧ x 2, x <0,4-2x , x ≥0,若y ∈[-1,0],那么⎩⎪⎨⎪⎧ -1≤x 2≤0,x <0,或⎩⎪⎨⎪⎧ -1≤4-2x ≤0,x ≥0,解得2≤x ≤52.] 3.D [据算法框图可适当k =9时,S =11;k =8时,S =11+9=20.∴应填入“k >8”.]4.B [由语句知a =1+3=4,b =4-3=1.]5.解。
2017-2018学年高中数学北师大版3教学案:第二章§1算法的基本思想含解析

错误!预习课本P75~83,思考并完成以下问题(1)算法的概念是什么?(2)算法的特征有哪些?(3)设计算法需要注意哪些问题?错误!1.算法的概念在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.这种描述不是算法的严格定义,但是反映了算法的基本思想.[点睛]算法与一般意义上数学问题的解法的联系和区别(1)联系:算法和解法是一般与特殊,抽象与具体的关系.例如,教材给出二分法求根的算法,根据这样的求解步骤可以求得任意方程的近似根.(2)区别:算法是解决一类问题的所需程序和步骤的统称,也可以理解为数学的“通法",解法是解决一个具体问题的解题过程.2.算法的主要特征(1)有穷性:一个算法的步骤是有限的,它应在有限步操作之后停止,而不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行和得到确定的结果,而不应当模棱两可.(3)有序性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都要准确无误,才能解决问题.(4)不唯一性:求解某一个问题的算法不是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题都可以设计合理的算法去解决.[小试身手]1.判断正误.(正确的打“√”,错误的打“×”)(1)算法就是某个问题的解题过程.( )(2)解决某一个具体问题时,算法不同,结果不同.( )(3)算法执行步骤的次数不可以很大,否则无法实施.()答案:(1)×(2)×(3)×2.下列描述不能看作算法的是( )A.做米饭需要刷锅,淘米,添水,加热这些步骤B.洗衣机的使用说明书C.从济南到台湾旅游,先坐火车,再坐飞机D.解方程2x2+x-1=0时需先判断判别式的符号解析:选D 因为A、B、C都描述了解决问题的过程,可以看作算法,而D只描述了一个事实,没说明如何解决问题,不是算法.3.下列关于算法的说法正确的是( )A.某算法可以无止境地运算下去B.一个问题的算法步骤是可逆的C.完成一件事情的算法有且只有一种D.算法的每一步操作都是明确的解析:选D 根据算法的特征进行判断.选项A中,由于算法具有有穷性,因此不可以无止境地运算下去;选项B中,算法中的步骤是按顺序一步步进行下去的,因此是不可逆的;选项C中,由于算法具有不唯一性,因此完成一件事情的算法不是只有一种;D正确,算法中的每一个步骤应当是明确无误的,不应产生歧义.算法的概念[典例] 下列对算法的理解不正确的是( )A.一个算法应包含有限的步骤,而不能是无限的B.算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤C.算法中的每一步都应当有效地执行,并得到确定的结果D.一个问题只能设计出一个算法[解析] 由算法的特征可知,D不正确.[答案]D解答这类问题的方法为特征判断法,主要从以下三方面判断:(1)看是否满足顺序性.算法实际上就是顺序化的解题过程,是指可以用计算机来解决某一类问题的程序或步骤.(2)看是否满足明确性.算法的每一步都是确定的,而不是含糊的、模棱两可的.(3)看是否满足有限性.一个算法必须在有限步后结束.如果一个解题步骤永远不能结束,那么就永远得不到答案.因此,有始无终的解题步骤不是算法.此外,算法的不唯一性也要考虑到.[活学活用]有关算法的描述有下列几种说法:①对一类问题都有效;②对个别问题有效;③计算可以一步一步地进行,每一步都有唯一的结果;④是一种通法,只要按部就班地做,总能得到结果.其中说法正确的是________.解析:算法通常是指可以用计算机来解决的某一类问题的程序或步骤,所以①正确,②错误.由于程序必须是明确的,有效的,而且在有限步之内完成,故③④正确.综上知,①③④正确.答案:①③④算法的设计[典例] 错误![解] (加减消元法):算法步骤如下:1.①×5-②得(2×5-4)x=7×5-11;⑤2.解⑤得x=4;3.①×2-②得(1×2-5)y=7×2-11;⑥4.解⑥得y=-1;5.得到方程组的解为错误!设计具体问题的算法的一般步骤(1)分析问题,找出解决问题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;(4)用简练的语言将这个步骤表示出来.[活学活用]写出求1+2+3+4+5+6的一个算法.解:算法步骤如下:1.计算1+2得到3;2.将步骤1中的运算结果3与3相加得到6;3.将步骤2中的运算结果6与4相加得到10;4.将步骤3中的运算结果10与5相加得到15;5.将步骤4中的运算结果15与6相加得到21。
【数学】高中数学算法初步1算法的基本思想学案北师大版

【关键字】数学§1算法的基本思想1.通过对解决具体问题的过程与步骤的分析,体会算法的思想,了解算法的含义.2.学会用自然语言来描述算法;初步学会为一个具体问题设计算法.算法(1)定义:在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些______称为解决这些问题的算法.这种描述不是算法的严格定义,但是反映了算法的基本思想.(2)算法的性质:①确定性:算法中的每一步都应该是确定的,并且能有效地执行并得到确定的结果,而不能含糊其辞,含有歧义.②有限性:对于一个算法来说,它的操作步骤必须是有限的,必须在有限的步骤之内完成.③普遍性:一个算法通常能解决一类问题,不是仅仅解决一个单独的问题.(3)作用:使________代替人完成某些工作.(4)注意:解决一个问题可能有多个算法,但有优劣之分,其中操作简单、步骤少且能解决一类问题的算法称为最优算法.算法与一般意义上具体问题的解法既有联系又有区别,它们之间是一般与特殊、抽象与具体的关系.算法的获得要借助于一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,这些步骤称为解决这些问题的算法,这种解决问题的思想方法称为算法的思想.【做一做1】下列对算法的理解不正确的是( ).A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)B.算法要求是一步步执行,每一步都能得到唯一的结果C.算法一般是机械的,有时要进行大量重复的计算,它的优点是是一种通法D.任何问题都可以用一个算法来解决【做一做2】求半径r=2的圆的周长,写出算法.一个好的算法应满足哪些要求?剖析:一般来说,一个好的算法应满足以下要求:(1)写出的算法必须能解决一类问题(例如解任意一个二元一次方程组),并且能够重复使用;(2)算法的过程要能一步一步执行,每一步操作,必须明确,不能含混不清,而且要在有限步之内得出结果;(3)算法要简洁,要清晰可读,不能繁杂,也就是说在解决同一类问题的许多种不同的算法中,我们所确定的算法步骤应该是最简单有效的,即最优化算法.题型一算法的概念【例题1】下列关于算法的叙述中,不正确的是( ).A.计算机解决任何问题都需要算法B.只有将要解决的问题分解为若干步骤,并且用计算机能够识别的语言描述出来,计算机才能解决问题C.算法执行后可以不产生确定的结果D.解决同一个问题的算法并不唯一,而且每一个算法都要一步一步执行,每一步都要产生确切的结果题型二求正约数的算法设计【例题2】求18的所有正约数,请设计两种算法.分析:分别对1,2,3,…,18逐一检验,或者对18进行因数分解,写出相关步骤即可.深思:解决一个问题可以有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但算法二运用了因数分解原理,这样步骤就比算法一少了许多,因此更为科学.本题体现了算法的特征:(1)一个算法往往具有代表性,能够解决一类问题;(2)算法不是唯一的;(3)两种算法各自体现了不同的思想内涵.题型三计算问题的算法设计【例题3】写出求两底面半径分别为1和4,高为4的圆台的侧面积、表面积及体积的算法.分析:可先由两底面半径r1,r2和高h计算出圆台母线长l,进而求出圆台侧面积S 侧=π(r1+r2)l.同时由r1,r2计算出两底面积S1,S2,然后由体积公式V=(S1+S2+)·h 及表面积公式S=S1+S2+S侧求得结果.深思:写数值性问题的算法一定要掌握有关知识及公式的正确运用和计算,要注意过程的条理化和步骤的清晰化.题型四用二分法求方程近似解的算法设计【例题4】用二分法设计一个求方程x2-2=0的近似解的算法.分析:若令f(x)=x2-2,则求方程x2-2=0的近似解,就是求函数f(x)的零点的近似值.借助用二分法求函数零点近似值的方法,我们便可以设计出求方程近似解的算法.深思:从本例可以发现,求解某类问题的算法不同于求解一个具体问题的方法,它必须能解决一类问题.只要有了解决问题的算法,不管借助的工具是纸笔、计算器,还是计算机,都能按照算法步骤求得相同的结果.题型五易错辨析【例题5】设计一个解方程ax2+bx+c=0的算法.错解:小华采用的算法描述如下:1.计算Δ=b2-4ac;2.若Δ<0,则输出“方程无实根”;3.若Δ>0,则输出方程的根.错因分析:上述算法中有两处错误:第一处是没有考虑a是否为0,显然a=0时,方程无判别式,上述算法无效;第二处错误是漏掉了Δ=0的情况.1下列关于算法的说法中,正确的是( ).A.算法就是某个问题的解题过程B.算法执行后可以不产生确定的结果C.解决某类问题的算法不一定是唯一的D.算法可以无限地操作下去不停止2下列语句表达中是算法的有( ).①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②12x>2x+4;③求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.A.0个 B.1个C.2个 D.3个3给出算法:1.输入n=10.2.令i=1,S=0.3.判断i≤n是否成立,若不成立,输出S,结束算法;若成立,执行下一步.4.令S 的值加i ,仍用S 表示,令i 的值增加1,仍用i 表示,返回第3步.该算法的功能是_______________________________________________________. 4已知长方体的长、宽、高分别为3,4,5,设计算法求其体积.5写出解方程x 2-2x -3=0的一个算法.答案:基础知识·梳理(1)步骤 (3)计算机【做一做1】D【做一做2】分析:直接用公式C =2πr 求解.解:算法如下:1.取r =2.2.计算C =2πr .3.输出C .典型例题·领悟【例题1】C 算法的主要特征是确定性和顺序性,确定性包括结果明确,每一步产生的结果和最后的结果都是明确的;顺序性包括步骤确切,每一步执行什么是明确的;因此,C 项不正确,故选C.【例题2】解:算法一:1.1是18的正约数,将1列出;2.2是18的正约数,将2列出;3.3是18的正约数,将3列出;4.4不是18的正约数,将4删除;……18.18是18的正约数,将18列出.算法二:1.18=2×9;2.18=2×32;3.列出18的所有正约数:1,2,3,32,2×3,2×32.【例题3】解:算法步骤如下:1.取r 1=1,r 2=4,h =4;2.计算l =(r 2-r 1)2+h 2;3.计算S 1=πr 21,S 2=πr 22,S 侧=π(r 1+r 2)l ;4.计算S 表=S 1+S 2+S 侧;5.计算V =13(S 1+S 1S 2+S 2)h . 【例题4】解:我们先假设所求近似值与精确解的差的绝对值不超过0.005.算法步骤如下:1.令f (x )=x 2-2.因为f (1)<0,f (2)>0,所以设x 1=1,x 2=2.2.令m =x 1+x 22,判断f (m )是否为0.若是,则m 为所求;若否,则继续判断f (x 1)·f (m )大于0还是小于0.3.若f (x 1)·f (m )>0,则令x 1=m ;否则,令x 2=m .4.判断|x 1-x 2|<0.005是否成立.若是,则x 1,x 2之间的任意取值均为满足条件的近似根;若否,则返回第2步.【例题5】正解:1.输入a ,b ,c 的值.2.若a =0,b ≠0,则输出方程的根x =-c b;若a =b =0,c ≠0,则输出“方程无实根”;若a =b =c =0,则输出“方程有无数个实根”.3.若a ≠0,计算Δ=b 2-4ac :若Δ<0,则输出“方程无实根”;若Δ≥0,则输出方程的根x 1=-b -Δ2a ,x 2=-b +Δ2a. 随堂练习·巩固1.C 2.C3.计算1+2+3+4+5+6+7+8+9+10的值4.分析:利用公式V 长方体=长×宽×高,写出算法.解:算法如下:1.输入长方体的长a ,宽b ,高h .2.计算V =abh .3.输出V .5.解:方法一:1.移项,得x 2-2x =3;①2.①两边同时加1并配方,得(x -1)2=4;②3.②式两边开方,得x -1=±2;③4.解③得x =3,或x =-1.方法二:1.计算方程的判别式并判断其符号,Δ=(-2)2-4×1×(-3)=16>0;2.将a =1,b =-2,c =-3代入求根公式x =-b ±b 2-4ac 2a,得x 1=3,x 2=-1.此文档是由网络收集并进行重新排版整理.word 可编辑版本!。
2017_2018学年高中数学第2章算法初步1算法的大体思想教学案北师大版必修3

练一练
1.以下语句表达中是算法的有( )
①从济南到巴黎能够先乘火车到北京,再坐飞机抵达;
② x>2x+4;
③求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.
A.0个B.1个C.2个D.3个
解析:选C①中说明了从济南到巴黎的行程安排,完成任务.关于②没有说明如何去做.③说明了求直线MN的方程的算法步骤.
讲一讲
2.给出解方程ax2+bx+c=0(a、b、c为实常数)的一个算法.
[尝试解答] 算法步骤如下:
1.当a=0,b=0,c=0时,解集为全部实数;
2.当a=0,b=0,c≠0时,原方程无实数解;
3.当a=0,b≠0时,原方程的解为x=- ;
4.当a≠0且b2-4ac>0时,方程有两个不等实根x1= ,x2= ;
解析:选C算法指的是解决一类问题的方式或步骤,选项C只是一个纯数学问题,没有解问题的步骤,不属于算法.
3.以下表达能称为算法的个数为( )
①植树需要运苗、挖坑、栽苗、浇水这些步骤.
②顺序进行以下运算:1+1=2,2+1=3,3+1=4,…,99+1=100.
③从枣庄乘火车到徐州,从徐州乘飞机到广州.
D.用二分法求方程x2-2=0的近似根(精准到0.01)是一个算法
解析:选D算法中的程序或步骤应是明确的,有效的,且在有限步之内能够解决问题.
2.以下能够看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先温习再做作业,以后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
【解题高手】【易错题】
设计一个算法,求1+2+3+4+5+6+7+8+9+10的值.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 算法的基本思想学习目标 1.了解算法的含义,体会算法的思想,能够用自然语言叙述算法.2.掌握正确的算法应满足的要求.3.学会将一整数分解成素因数之积,会设计求两整数的最大公因数的算法,了解“韩信点兵”问题及二分法求方程近似解.知识点一算法的概念思考有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.梳理一般地,算法是解决某类问题的一系列____________,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用________帮助完成的.同一个问题可能存在____种算法,一个算法也可以解决某一类问题.知识点二算法的特点思考设想一下电脑程序需要计算无限多步,会怎么样?梳理一般地,算法的特点有:(1)有穷性一个算法应包括________的操作步骤,能在执行有穷的操作步骤之后________.(2)确定性算法的计算规则及相应的计算步骤必须是唯一确定的.(3)可行性算法中的每一个步骤都是可以在________的时间内完成的基本操作,并能得到________的结果.类型一生活中的算法案例例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出示了一台价值在1 000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话:参与者:800元!主持人:高了!参与者:400元!主持人:低了!参与者:600元!主持人:低了!……试把参与者的竞猜策略概括成一系列的步骤.反思与感悟按照上述方法,继续判断,直到游戏结束.像这样的一系列步骤通常称为解决这个问题的一个算法.生活中有很多蕴含算法思想的案例.跟踪训练1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.类型二数学中的算法思想例2 设计一个算法,求840与1 764的最大公因数.反思与感悟以上这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.跟踪训练2 设计一个算法,求98与63的最大公因数.例3 “韩信点兵”问题韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力.采用下述点兵方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.反思与感悟在完成上述步骤后,就找到了所求的数53,这5个步骤称为解决“韩信点兵”问题的一个算法.跟踪训练3 在例3中,我们颠倒一下3,5,7的顺序,请再设计一个算法.类型三用二分法求方程近似解例4 求方程x3+x2-1=0在[0,1]上的近似解,精度为0.1.反思与感悟 二分法求方程近似解的基本思想:逐渐缩小有解区间的长度,直到满足精度的要求.虽然看似烦琐,但很适合计算机执行.跟踪训练4 用二分法设计一个求方程x 2-2=0的近似正根的算法,精度为0.05.1.下列关于算法的说法,正确的个数为( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A .1B .2C .3D .42.已知一个算法:(1)给出三个数x 、y 、z ;(2)计算M =x +y +z ;(3)计算N =13M ;(4)得出每次计算的结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数3.看下面的四段话,其中不是解决问题的算法是________.(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.答案精析问题导学知识点一思考先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理步骤或程序计算机多知识点二思考若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.梳理(1)有限结束(3)有限确定题型探究例1 解 1.报出首次价格T1;2.根据主持人的回答确定价格区间:(1)若报价小于商品价格,则商品的价格区间为(T1,1 000);(2)若报价大于商品价格,则商品的价格区间为(0,T1);(3)若报价等于商品价格,则游戏结束.3.如果游戏没有结束,则报出上面确定的价格区间的中点T2.跟踪训练1 解 1.两个小孩同船过河去;2.一个小孩划船回来;3.一个大人划船过河去;4.对岸的小孩划船回来;5.两个小孩同船渡过河去.例2 解算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.跟踪训练2 解算法步骤如下:1.先将98进行素因数分解:98=2×72;2.然后将63进行素因数分解:63=32×7;3.确定它们的公共素因数:7;4.确定公共素因数的指数:公共素因数的指数是1;5.最大公因数为7.例3 解算法步骤如下:1.首先确定最小的满足除以3余2的正整数:2;2.依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…3.在上列数中确定最小的满足除以5余3的正整数:8;4.然后依次加上15,得到8,23,38,53,…不难看出,这些数既满足除以3余2,又满足除以5余3;5.在第4步得到的一列数中找出满足除以7余4的最小数53,这就是我们要求的数.跟踪训练3 解算法步骤如下:1.首先确定最小的除以7余4的正整数:4;2.依次加7就得到所有除以7余4的正整数:4,11,18,25,32,39,46,53,60,…3.在第2步得到的一列数中确定最小的除以5余3的正整数:18;4.然后依次加上35,得到18,53,88,…5.在第4步得到的一列数中找出最小的满足除以3余2的正整数:53.例4 解根据上述分析,可以通过下列步骤求得方程的近似解:设f(x)=x3+x2-1,1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],1-0.5=0.5>0.1;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],1-0.75=0.25>0.1;8.取[0.75,1]的区间中点0.875;9.计算f(0.875)=0.435 546 875;10.由于f(0.75)·f(0.875)<0,可得新的有解区间[0.75,0.875],0.875-0.75=0.125>0.1;11.取[0.75,0.875]的区间中点0.812 5;12.计算f(0.812 5)=0.196 533 203 125;13.由于f(0.75)·f(0.812 5)<0,可得新的有解区间[0.75,0.812 5],0.812 5-0.75=0.062 5<0.1.所以,区间[0.75,0.812 5]中的任一数值,都可以作为方程的近似解.跟踪训练4 解 1.因为f(1)=-1,f(2)=2,f(1)·f(2)<0,则区间[1,2]为有解区间,精度2-1=1>0.05;2.取[1,2]的中点1.5;3.计算f(1.5)=0.25;4.由于f(1)·f(1.5)<0,可得新的有解区间[1,1.5],精度1.5-1=0.5>0.05;5.取[1,1.5]的中点1.25;6.计算f(1.25)=-0.437 5;7.由于f(1.25)·f(1.5)<0,可得新的有解区间[1.25,1.5],精度1.5-1.25=0.25>0.05;…当得到新的有解区间[1.406 25,1.437 5]时,由于|1.437 5-1.406 25|=0.031 25<0.05,该区间精度已满足要求,所以取区间[1.406 25,1.437 5]的任一数值,都可以作为方程的一个近似解.当堂训练1.C 2.D 3.(3) 4.(2)(1)(3)本文档仅供文库使用。
百度文库是百度发布的供网友在线分享文档的平台。
百度文库的文档由百度用户上传,需要经过百度的审核才能发布,百度自身不编辑或修改用户上传的文档内容。
网友可以在线阅读和下载这些文档。
百度文库的文档包括教学资料、考试题库、专业资料、公文写作、法律文件等多个领域的资料。
百度用户上传文档可以得到一定的积分,下载有标价的文档则需要消耗积分。
当前平台支持主流的doc(.docx)、.ppt(.pptx)、.xls(.xlsx)、.pot、.pps、.vsd、.rtf、.wps、.et、.dps、.pdf、.txt 文件格式。