2017-2018版高中数学第二章算法初步疑难规律方法学案3_第1页
2017-2018版高中数学第二章算法初步疑难规律方法学案3_第2页
2017-2018版高中数学第二章算法初步疑难规律方法学案3_第3页
2017-2018版高中数学第二章算法初步疑难规律方法学案3_第4页
2017-2018版高中数学第二章算法初步疑难规律方法学案3_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学必求其心得,业必贵于专精学必求其心得,业必贵于专精PAGE29学必求其心得,业必贵于专精PAGE第二章算法初步1算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了,广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.每个算法都闪耀着人类的智慧,阅读和学习这些东西会给我们带来一种难以用语言表达的满足感和快感.在以后的学习和工作中我们会不断从实际应用中了解和领会算法是如何解决各个领域的实际问题,推动人类文明的发展的.一、算法的特征1.确定性算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,至少不能出现无限循环或死循环.在此基础上越简洁越快越好.越简洁,占用内存越少,对设备的要求越基本;越快,这个意义就不用说了吧.比如一个计算对方导弹轨迹的算法,如果等你算出来,那边导弹已经落地了,那还有什么意义?二、算法的思想专业的事交给专业的人去做.普通人只要按专业人士给出的步骤一步一步地去完成,这就是算法的思想,即程序思想,你也可以理解为傻瓜化思想.另外,算法强调的是通性通法,即给出一个算法,实际上是给出了一种解决一类问题的方法.比如你给出一个计算圆的面积的算法,它应该能计算各种半径的圆的面积,而不是只适用于半径为某一具体数的圆.三、特别提示1.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求的近似值却没有要求近似的精确度,则该问题不能求解.2.现代算法主要是面向计算机的,如果算法中没有输出,程序也能运行,但是运行结果无法输出.如果想要得到结果,那就要有输出.3.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.四、典例分析例1已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.分析对于已知等边三角形的边长求面积的题目同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.但学会清晰条理地表达自己的想法,也是一个基本的要求.解算法步骤如下:第一步,输入a的值.第二步,计算l=eq\f(a,3)的值.第三步,计算S=eq\f(\r(3),4)×l2的值.第四步,输出S的值.例2下面给出了一个问题的算法:第一步,输入x.第二步,若x≥4,则执行第三步,否则执行第四步.第三步,输出2x-1.第四步,输出x2-2x+3.这个算法解决的问题是什么?分析依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法.解这个算法先是输入一个变量x,当x≥4时输出2x-1,当x<4时输出x2-2x+3,不难发现这个算法解决的问题是求分段函数f(x)=eq\b\lc\{\rc\(\a\vs4\al\co1(2x-1,x≥4,,x2-2x+3,x〈4))的函数值.2典型算法举例1.解方程(方程组)、不等式的算法例1用自然语言描述求一元二次方程ax2+bx+c=0的根的算法.思维切入对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.解用自然语言来描述算法,第一步,计算Δ=b2-4ac;第二步,如果Δ〈0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)x1=eq\f(-b+\r(b2-4ac),2a),x2=eq\f(-b-\r(b2-4ac),2a),输出x1,x2的值.点评第二步中包含了一个判断Δ=b2-4ac是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b2-4ac小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.例2写出解x2-4x+3〈0的算法.思维切入只要把平时的固定解法有条理地写出来,即为解不等式的算法.解第一步,求出对应方程的根x1=1,x2=3;第二步,确定根的大小x1〈x2;第三步,写出解集{x|1<x<3}.2.套用公式求值的算法例3已知摄氏温度C与华氏温度F的关系是F=C×eq\f(9,5)+32,写出由摄氏温度求华氏温度的算法.思维切入这是一个函数求值问题,给C赋值再代入解析式求F。解第一步,输入摄氏温度C;第二步,代入F=C×eq\f(9,5)+32;第三步,输出华氏温度F。点评平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班",这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.3.判断性质型问题的算法例4试描述判断圆(x-a)2+(y-b)2=r2和直线Ax+By+C=0位置关系的算法.思维切入直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d>r,则直线与圆相离,d=r则直线与圆相切,d<r则直线与圆相交.因此我们可以先求出圆心到直线的距离d,然后再和r比较.解第一步,输入圆心的坐标、直线方程的系数和半径r;第二步,计算z1=Ax0+By0+C;第三步,计算z2=A2+B2;第四步,计算d=eq\f(|z1|,\r(z2));第五步,如果d〉r则相离,如果d=r则相切,如果d〈r则相交.点评算法要求分解成简单计算,不要直接计算d=eq\f(|Ax0+By0+C|,\r(A2+B2))。一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一个模块,而不需要全盘翻工.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=eq\b\lc\{\rc\(\a\vs4\al\co1(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=eq\b\lc\{\rc\(\a\vs4\al\co1(-x+1,x>0,,0,x=0,,x+3,x〈0,))请设计算法框图,要求输入自变量x,输出函数值y。分析输入自变量x的值,首先判断x与0的大小关系,再代入相应的表达式求函数值.解算法框图如图.点评求分段函数的函数值,需先判断再执行步骤,需要引入选择结构.在使用选择结构时,要注意判断条件的设定不重不漏,确保各种可能的判断值有正确、唯一的流向.二、实际应用问题例2邮政电子汇款单笔最高限额为1万元,每笔汇款的资费标准为汇款金额的1%,最低收费为2元,最高收费为50元.试编写一算法框图求出当汇款x(0〈x≤10000)元时,应交纳资费多少元.分析由题意分析,当x≤200时,应交纳资费2元,当x≥5000时,应交纳资费50元,所以引入选择结构,200和5000是两个分段点.解算法框图如图.点评很多在一些需要判断的实际问题,比如水电费,纳税额,结构工资,身体各项指标是否正常等,一般都会用到选择结构,在设计算法框图时,可先根据题意,设计算法,再根据算法画出算法框图.5循环结构的应用在循环结构中,经常会出现两个变量:计数变量和累计变量.计数变量往往出现在循环结构中,起到循环计数的作用,这个变量一般出现在执行或终止循环体的条件中;而累计变量用于输出结果,往往与计数变量同步执行,一般有累加与累乘两种.下面举例说明循环结构的应用.一、求和或求积问题例1设计两个求1+3+5+…+2011的值的算法的算法框图.分析本题是一个累加问题,由于加数较多,采用逐一相加的思路不可取,引入变量,应用循环结构解决:(1)设一个循环变量为i,初始值为1;再设一个累加变量为S,初始值为0.(2)循环体为S=S+i,i=i+2。(3)终止条件为i〉2011。解两种方法:算法框图如图1和如图2所示.点评涉及求多项的和与积的算法框图要用到循环结构和选择结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法框图时要注意前后两个加数相差2,此时计数变量不是i=i+1,而是i=i+2,要根据题意灵活地改变算法中的相应部分.二、叠加求值例2画出求式子(共9个3)的值的一个算法框图.分析本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a1=eq\f(1,3),第一次循环得到a2=eq\f(1,3+a1),第二次循环得到a3=eq\f(1,3+a2),……,a9=eq\f(1,3+a8),共循环了8次.解算法框图如图所示.点评如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况。6三种逻辑结构辨与析算法中有三种逻辑结构,即顺序结构、选择结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构顺序结构按照语句的先后顺序,从上而下依次执行这些语句,该结构不具备控制流程的作用,是任何一个算法都离不开的基本结构.选择结构根据是否满足某种条件来选择程序的走向.当条件满足时,运行一个分支,不满足时,运行另一个分支.循环结构从某处开始,按照一定的条件,反复执行某一处理步骤的情况.用来处理一些进行反复操作的问题。二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的算法框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在算法框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个算法框图或算法是否正确、合理的方法和试金石.7条件语句小聚1.“If—Then"语句“If-Then”语句的一般格式如下If条件Then语句EndIf对应的框图如图1所示图1计算机在执行“If—Then”语句时,首先对If后的条件进行判断,如果符合条件,就执行Then后面的语句,若不符合条件,则直接结束该条件语句,转而执行后面的语句.2.“If—Then—Else”语句“If—Then—Else”语句的一般格式如下If条件Then语句1Else语句2EndIf对应的框图如图2所示图2计算机在执行“If—Then—Else”语句时,首先对If后的条件进行判断,如果符合条件,则执行Then后面的“语句1";若不符合条件,则执行Else后面的“语句2”.3.条件语句“If—Then—Else"可以嵌套,其格式为If条件1Then语句1ElseIf条件2Then语句2Else语句3EndIfEndIf注意:使用条件语句时应注意以下几点:(1)条件语句必须以If语句开始,以EndIf语句结束,一个EndIf语句必须和一个If语句对应.(2)如果我们的程序只需对条件为真的情况作出处理,不需处理条件为假的情况,则条件语句省略Else,格式由If—Then—Else语句变成If-Then语句。8透析循环语句两种循环语句1.For语句的一般形式是For循环变量=初始值To终值循环体Next执行步骤:当计算机执行For语句时,一般先执行一次循环体,当循环变量在初始值与终值之间时,执行循环体;当循环变量超过终值时,不再执行循环体,跳出循环体执行后面的语句.2.DoLoop语句的一般形式是Do循环体LoopWhile条件为真执行步骤:计算机执行DoLoop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行LoopWhile后的语句。9算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用算法框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1北京成功举办了2008年第29届奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出算法框图.解算法步骤如下:第一步,投票;第二步,统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转第一步;第三步,宣布主办城市.算法框图如图所示:点评算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论