北师大版必修三 第二章 算法初步本章知识体系 学案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章算法初步
本章知识体系
专题一算法的设计
例1设计一个算法,求方程x2-4x+2=0在(3,4)之间的近似根,要求精确度为10-4,算法步骤用自然语言描述.
思路探究可以利用二分法的步骤设计算法.
解答算法步骤如下:
第一步,令f (x )=x 2-4x +2,由于f (3)=-1<0,f (4)=2>0,所以设x 1=3,x 2=4. 第二步,令m =x 1+x 2
2,判断f (m )是否等于0,若f (m )=0,则m 为所求的根,结束算法;
若f (m )≠0,则执行第三步.
第三步,判断f (x 1)f (m )>0是否成立,若成立,则令x 1=m ;否则令x 2=m .
第四步,判断|x 1-x 2|<10-4是否成立,若成立,则x 1与x 2之间的任意取值均为满足条件的近似根;若不成立,则返回第二步.
规律方法 (1)算法设计与一般意义上的解决问题不同,它是对一类问题的一般解法的抽象与概括,它往往是把问题的解法划分为若干个可执行的步骤,有时是重复多次,但最终都必须在有限个步骤之内完成.
(2)对于给定的问题,设计其算法时应注意以下四点: ①与解决问题的一般方法相联系,从中提炼与概括步骤; ②将解决问题的过程划分为若干步骤; ③引入有关的参数或变量对算法步骤加以表述; ④用简练的语言将各个步骤表达出来.
已知平面坐标系中两点A (-1,0),B (3,2),写出求线段AB 的垂直平分线方程的一个算法. 解:第一步,计算x 0=-1+32=22=1,y 0=0+22=1,
得AB 的中点N (1,1).
第二步,计算k 1=2-0
3-(-1)=1
2,得AB 的斜率.
第三步,计算k =-1
k 1
=-2,得AB 垂直平分线的斜率.
第四步,由点斜式得直线AB 的垂直平分线的方程:y -1=-2(x -1),即2x +y -3=0.
专题二 算法的选择结构
例2 阅读如图所示的算法框图,如果输出的函数值在区间[14,1
2]内,则输入的实数x
的取值范围是( )
A .(-∞,-2)
B .[-2,-1]
C .[-1,2]
D .(2,+∞)
解答 若x ∉[-2,2],则f (x )=2∉[14,12],不符合题意;当x ∈[-2,2]时,由f (x )=2x ∈[14,1
2],
得x ∈[-2,-1].
答案 B
规律方法 框图表示的是一个分段函数的求值问题,题目是由函数值的范围求自变量的范围.
如图是求实数x 的绝对值的算法程序框图,则判断框①中可填x >0或x ≥0.
解析:本题以绝对值为背景,主要考查了算法框图,重点考查了选择结构中的条件语句,根据绝对值的含义,非负数的绝对值是它本身,负数的绝对值是它的相反数,以及0的特殊
性,故填x>0或x≥0.
专题三算法的循环结构
例3若1+3+5+…+n>2 015,试设计算法框图,寻找满足条件的最小奇数n.
解答因为涉及累加问题,所以算法含有循环结构,写出算法步骤如下:
1.S=0,i=1.
2.S=S+i,i=i+2.
3.判断S>2 015是否成立;
(1)若S>2 015,则i=i-2,输出i;
(2)若S<2 015,返回步骤2.
算法框图:①画顺序结构图,即起止框及两个处理框,并分别填入循环初始条件(如图
①);
②画循环结构图,先画循环体即两个处理框(一个累加,一个计数),再画循环终止条件,即判断框并判断S>2 015,若不成立,则流向循环体进行再循环(如图②);
③画处理框并填入“i=i-2”,输出框输出i以及起止框表示算法结束(如图③).
最后,合成整个算法框图如下图.
规律方法循环结构必包含顺序结构和选择结构,所以本题具有一定的典型性和示范性;如累加、累乘等需要反复执行的算法设计中,宜使用循环结构,这时要密切注意“循环体”、“循环变量”和“循环终止条件”三个重要组成部分的框图设计.
执行如图所示的程序框图,输出的结果为(B)
A.(-2,2) B.(-4,0)
C.(-4,-4) D.(0,-8)
解析:运行程序:x=1,y=1,k=0,s=1-1=0,t=1+1=2,x=0,y=2,k=0+1=1,因为1<3,否,s=-2,t=2,x=-2,y=2,k=2,因为2<3,否,s=-4,t=0,x =-4,y=0,k=3,因为3≥3,是,输出(-4,0).故选B.
专题四 基本算法语句
编写程序的基本方法是“自上而下,逐步求精”,即首先把一个复杂的大问题分解成若干个相对独立的小问题,如果小问题仍较复杂,则可以把这些小问题再继续分解成若干个子问题,这样不断分解,便可使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止,然后,对应每一个小问题或子问题编写出一个功能上相对独立的程序模块来,每个模块各个击破,最后再统一组装,问题便可得到解决.
例4 高等数学中经常用到符号函数sgn(x ),其定义为y =⎩⎪⎨⎪
⎧
1(x >0),0(x =0),-1(x <0).试编写程序,输
入x 的值,输出y 的值.
思路探究 由于此函数是一个分段函数,对于输入的x 的值,应根据x 的取值范围,选择相应的解析式代入求值,故要利用条件语句进行处理.又因为实数x 的取值共分三个范围,所以要用条件语句的嵌套.
解答 算法框图如下图所示.
程序语言如下: 输入 x If x >0 Then
y =1 Else
If x =0 Then
y =0 Else
y =-1