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