• 782.99 KB
  • 2022-04-12 发布

2020版高中数学第一章算法初步学案(含解析)新人教b版必修3

  • 14页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
第一章算法初步1 算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了.广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础,它可理解为由基本运算及规定的运算顺序所构成的完整的解题步骤.一、算法的特征1.确定性确定性:算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,不能出现无限循环或死循环.这里说的“有限性”一般指算法在合理的范围以内,一般由人们的常识和需要以及计算机性能而定.例如,计算机执行一个算法需要一千年才能结束,这个算法虽然有限,但超过了合理的限度,因而也不是一个有效算法.二、算法的思想在数学中,计算一个函数值、求解一个方程、证明一个结论等等,我们都需要有一个清晰的思路,一步一步去完成,这就是算法的思想,即程序化思想.它强调的是通性通法,给出一个算法实际上是给出了一种解决问题(特别是数学问题)的方法.三、特别提示1.在算法的理解方面,是指使用一系列运算规则,能在有限步骤内求解某类问题,其中每条规则必须是明确定义的,可行的.2.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求近似值却没有要求近似的精确度,则该问题不能求解.3.在设计算法时,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.4.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.5.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.四、典例分析例1 已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.n分析 对于已知等边三角形的边长求面积的题目.同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.解 算法步骤如下:S1 输入a的值.S2 计算l=的值.S3 计算S=×l2的值.S4 输出S的值.例2 下面给出了一个问题的算法:S1 输入x.S2 若x≥4,则执行第三步,否则执行第四步.S3 输出2x-1.S4 输出x2-2x+3.这个算法解决的问题是什么?分析 依据题目给出的算法步骤依次执行,分别写出其对应的结果就可以很容易解决此题.解 这个算法先是输入一个变量x,当x≥4时输出2x-1,当x<4时输出x2-2x+3,不难发现这个算法解决的问题是求分段函数f(x)=的函数值.2 典型算法举例1.解方程(方程组)、不等式的算法例1 用自然语言描述求一元二次方程x2+bx+c=0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.解 用自然语言来描述算法,S1 计算Δ=b2-4ac.S2 如果Δ<0,则原方程无实数解,否则(Δ≥0)x1=,x2=.S3 输出x1,x2或无实数解的信息.评注 第二步中包含了一个判断Δ=b2-4acn是否小于零的条件,并根据判断结果进行不同的处理,在算法中称作条件分支结构.例2 写出解x2-4x+3<0的算法.思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法.解 S1 求出对应方程的根x1=1,x2=3.S2 确定根的大小x1r,则直线与圆相离,d=r则直线与圆相切,dr则相离;如果d=r则相切;如果d2015.解 方法一 程序框图如图1所示,方法二 程序框图如图2所示.评注 涉及求多项的和与积的程序框图要用到循环结构和条件分支结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计程序框图时要注意前后两个加数相差2,此时计数变量不是i=i+1,而是i=i+2,要根据题意灵活地改变算法中的相应部分.二、叠加求值n例2 画出求式子(共9个3)的值的一个程序框图.分析 本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a1=,第一次循环得到a2=,第二次循环得到a3=,…,a9=,共循环了8次.解 程序框图如图所示.评注 如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.6 三种逻辑结构辨析算法中有三种逻辑结构,即顺序结构、条件分支结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构顺序结构按照语句的先后顺序,从上而下依次执行这些语句,该结构不具备控制流程的作用,是任何一个算法都离不开的基本结构.条件分支结构根据某种条件是否满足来选择程序的走向.当条件满足时,运行一个分支,不满足时,运行另一个分支.循环结构n从某处开始,按照一定的条件,反复执行某一处理步骤的情况.用来处理一些反复进行操作的问题.二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个条件分支结构只有一个出口,不要将菱形框的出口和条件分支结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的程序框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在程序框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个程序框图或算法是否正确、合理的方法和试金石.三、典例剖析1.顺序结构例1 已知点P(x0,y0)和直线l:Ax+By+C=0,画出求点P(x0,y0)到直线l的距离d的算法的程序框图.分析 利用点到直线的距离公式可画出其程序框图.解 程序框图如图所示.n评注 顺序结构是由若干个依次执行的处理步骤组成的,这是任何一个算法都离不开的基本结构,它是最简单的算法结构,在程序框图中的体现就是用流程线自上而下地连接起来,按顺序执行算法的步骤.2.条件分支结构例2 画出解方程ax+b=0(a,b为常数)的一个算法的程序框图.分析 在求解方程时,需要在方程两边同时除以a,这时对a是否为0的情况要加以讨论,当a=0时,又要对b是否为0分情况讨论.解 程序框图如图所示.评注 条件分支结构中要先根据指定条件进行判断,再由判断的结果决定选择执行哪一条路径.3.循环结构例3 某校高一(1)班共有60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号被3整除的同学参加体检,已知同学们的学号是从1到60号,请画出一个算法的程序框图,使其能够输出参加体检的同学的学号.解 程序框图如图所示.评注 循环结构按照一定的条件,反复执行某一处理步骤.循环结构要在某个条件下终止循环,这就需要条件分支结构来判断,在循环结构中都有一个计数变量和一个累加变量,计数变量用于记录循环次数,累加变量用于输出结果,计数变量和累加变量一般是同步执行的,累加一次,计数一次.n7 算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用程序框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1 北京成功举办了2008年第29届夏季奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出程序框图.解 算法步骤如下:S1 投票.S2 统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转S1.S3 宣布主办城市.程序框图如图:点评 算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2 某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一半多1万元,以此类推,到第10名恰得奖金1万元,请设计一个算法的程序求科研所最初拿出多少奖金进行奖励.解 第10名的奖金额S1=1万元,第9名和第10名的总奖金额S2=(1+1)×2=4万元,第8名、第9名和第10名的总奖金额S3=(4+1)×2=10万元……总奖金额S10=(S9+1)×2,得递推公式S1=1,Sn+1=(Sn+1)×2,n=1,2,…,9.n程序:          S=1;i=1;while i<10S=(S+1)*2;i=i+1;endS程序框图:三、李白酒壶中的酒例3 李白是我国唐代的一位伟大诗人,平时很喜欢喝酒,有一首打油诗讲了李白买酒的一件趣事,“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”问:李白的酒壶中原来有多少酒?请用算法解释,画出程序框图.解 通过逆向思考,李白遇到第三枝花时,壶中有1斗酒,遇到第三个店时,壶中有斗酒;遇到第二枝花时,壶中有1+=斗酒,遇到第二个店时,壶中有×=斗酒;遇到第一枝花时,壶中有1+=斗酒,遇到第一个店时,壶中有×=斗酒.根据以上分析可得算法步骤如下:S1 S=0.S2 I=1.S3 S=.S4 I=I+1.S5 如果I>3,则输出S;否则,转S3.n程序框图如图所示.

相关文档