1高中数学北师大版(必修3)专题五算法初步一、重难点知识归纳1、算法的基本概念(1)算法定义描述:一般地,对于一类有待求解的问题,如果建立了一套通用的解题方法,按部就班地实施这套方法就能使该类问题得以解决,那么这套解题方法是求解该类问题的一种算法.(2)算法的特性:①有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的.②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.③可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.④输入:一个算法中有零个或多个输入.⑤输出:一个算法中有一个或多个输出.2、三种基本逻辑结构(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构.(2)选择结构:选择结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.程序框图如下:2(3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构.程序框图如下:3二、典型例题剖析例1、设计求|x-2|的算法,并画出程序框图.例2、设计算法求的值,要求画出程序框图.例3、有10个互不相等的数,写出找出其中一个最大数的算法和程序框图.例4、某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法,画出程序框图.例1、解:算法如下:⑴若x2,则|x-2|等于2-x,⑵若x≥2,则|x-2|等于x-2.其程序框图如图:4例2、解:这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如下图所示:例3、解:(一)算法S1:输入一个数,放在MAX中S2:i=1S3:输入第1个数,放入x中S4:若xMAX,则MAX=xS5:i=i+1S6:若i≤9,返回S3继续执行,否则停.5(二)程序框图例4、解析:我们用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有算法步骤如下:第一步,输入通话时间t;第二步,如果t≤3,那么c=0.2;否则令c=0.2+0.1(t-3);第三步,输出通话费用c.程序框图如图所示:6算法初步检测一、选择题1、算法共有三种逻辑结构,即顺序结构,选择结构和循环结构,下列说法正确的是()A.一个算法只能含有一种逻辑结构B.一个算法最多可以包含两种逻辑结构C.一个算法必须含有上述三种逻辑结构D.一个算法可以含有上述三种逻辑结构的任意组合2、将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是()A.B.C.D.3、下面为一个求20个数的平均数的程序,在横线上应填充的语句为()7A.20B.20C.i=20D.i=204、下面程序运行的结果是()A.1,2,3B.2,3,1C.2,3,2D.3,2,15、下列给出的赋值语句中正确的是()A.3=AB.M=-MC.B=A=2D.x+y=06、372和684的最大公因数是()A.36B.12C.186D.5897、用二分法求方程x2-2=0的近似根的算法中要用哪种算法结构()A.顺序结构B.选择结构C.循环结构D.以上都用8、对赋值语句的描述正确的是()8①可以给变量提供初值②将表达式的值赋给变量③可以给一个变量重复赋值④不能给同一变量重复赋值A.①②③B.①②C.②③④D.①②④9、给出以下四个问题:①输入一个数x,输出它的相反数;②求面积为6的正方形的周长;③求三个数a,b,c中的最大数;④求函数的函数值.其中不需要用条件语句来描述其算法的有()A.1个B.2个C.3个D.4个10、用冒泡法对一组数:37,21,3,56,9,7进行排序时,经过多少趟排序后,得到一组数:3,9,7,21,37,56()A.2B.3C.4D.5二、解答题11、给定一个年份,写出该年是不是闰年的算法和程序框图.12、意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子?试画出解决此问题的程序框图.答案及提示:1-10DBACBBDAAB11、解析:算法如下:S1:输入一个年份xS2:若z能被100整除,则执行S3否则执行S4S3:若x能被400整除,则x为闰年,否则x不为闰年S4:若x能被4整除,则x为闰年,否则x不为闰年程序框图如下:912、分析:根据题意可知,第一个月有1对小兔,第二个月有1对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和,设第N个月有两F对兔子,第N-1个月有S对兔子,第N-2个月有Q对兔子,则有F=S+Q,一个月后,即第N+1个月时,式中变量S的新值应变第N个月兔子的对数(F的旧值),变量Q的新值应变为第N-1个月兔子的对数(S的旧值),这样,用S+Q求出变量F的新值就是N+1个月兔子的数,依此类推,可以得到一个数序列,数序列的第12项就是年底应有兔子对数,我们可以先确定前两个月的兔子对数均为1,以此为基准,构造一个循环程序,让表示“第×个月的I从3逐次增加1,一直变化到12,最后一次循环得到的F”就是所求结果.流程图如下:10