高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc
《高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc》由会员分享,可在线阅读,更多相关《高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc(12页珍藏版)》请在冰点文库上搜索。
![高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc](https://file1.bingdoc.com/fileroot1/2023-5/9/44a7dadb-7700-4baa-ad57-3e750db6585b/44a7dadb-7700-4baa-ad57-3e750db6585b1.gif)
新课标人教A版必修3第一章
算法初步知识点总结及典型题归类解析
一、算法设计
(一)基本知识点
算法的描述一般有三种方法:
自然语言、算法框图(也叫流程图)和程序语言.
(二)典型习题举例
1、例1下列关于算法的说法正确的有________个.( )
①求解某一类问题的算法是惟一的.
②算法必须在有限步操作之后停止.
③算法的每一步操作必须是明确的,不能有歧义或模糊.
④算法执行后一定产生确定的结果.
A.1 B.2
C.3 D.4
解析:
C由算法特性知,算法具有有穷性、确定性、可输出性,故②③④均对,选C.
2.例2已知两个单元分别存放了变量x和y,下面描述交换这两个变量的值的算法中正确的为( )
A.S1 把x的值给y;S2 把y的值给x.
B.S1 把x的值给t;S2 把t的值给y;S3 把y的值给x.
C.S1 把x的值给t;S2 把y的值给x;S3 把t的值给y.
D.S1 把y的值给x,S2 把x的值给t;S3 把t的值给y.
解析:
C 为了达到交换的目的,需要一个中间变量t,通过t使两个变量来交换.
S1 先将x的值赋给t(这时存放x的单元可以再利用);
S2 再将y的值赋给x(这时存放y的单元可以再利用);
S3 最后把t的值赋给y,两个变量x和y的值便完成了交换.
方法小结:
这好比有一碗酱油和一碗醋.我们要把这两碗盛装的物品交换过来,需要一个空碗(即t);先把醋(或酱油)倒入空碗,再把酱油(或醋)倒入原来盛醋(或酱油)的碗,最后把倒入空碗中的醋(或酱油)倒入原来盛酱油(或醋)的碗,就完成了交换.
3.例3请说出下面算法要解决的问题________.
第一步,输入三个数,并分别用a、b、c表示;
第二步,比较a与b的大小,如果a
第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a、b、c.
答:
输入三个数a,b,c,并按从大到小顺序输出.
解析:
第一步是给a、b、c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,∴a>b>c.
第五步运行后,显示a、b、c的值,且从大到小排
二、算法框图及其画法
(一)基本知识点
(1)对于比较简单的算法框图,可以通过对问题的分析,建立相应的数学模型或过程模型,进而选择顺序结构、选择结构、循环结构中的一种或几种画出算法框图即可.
开始
n=2
输出n
n=n+3
n>2010
结束
是
否
图1
(3)顺序结构是任何一个算法都离不开的基本结构;条件结构主要用于一些需要进行条件判断的算法,如分段函数求值、大小关系判断等;循环结构主要用于一些有规律的重复计算,如累加求和、累乘求积等。
(二)典型习题举例
1、例1如图1所示的算法框图中,最后一个输出的数是
解析:
此算法框图为循环结构,
分析框图易知该算法的功能是
输出2010以内除以3余2的正整数,
即输出的数分别为2,5,…,2006,2009,
从而可得最后一个输出的数是2009.故填2009.
2、例2.如果执行图1的框图,输入N=5,则输出的数等于()
A.B.C.D.
方法点拨:
该框图含有循环结构,弄清循环体、变量的初始条件和循环的中止条件,算法功能是求和.
解析:
由程序框图可知,该程序框图的功能计算,
现在输入的N=5,所以满足条件的,故选D.
否
是
开始
输入
k=1,S=0
输出S
结束
图1
小结:
本题是程序框图与数学计算的综合,
在计算时
可以让,
也可以让.
3、例3将两个数交换,使,下面语句正确一组是()
b=a
a=b
a=b
b=a
c=b
b=a
a=c
a=c
c=b
b=a
ABCD
解:
B先把的值赋给中间变量,这样,
再把的值赋给变量,这样,
把的值赋给变量,这样
4、例4
(1)流程图
(1)的算法功能是__________.
(2)流程图
(2)的算法功能是____________.
(3)流程图(3)的算法功能是__________.
(4)流程图(4)的算法功能是___________.
解析:
(1)求输入的两个实数a与b的和.
(2)求以输入的两个正数a,b为直角边长的直角三角形斜边的长.
(3)求输入两数a,b的差的绝对值.
(4)求函数f(x)=|x-3|+1,
即分段函数f(x)=的函数值.
5、例5已知函数,写出求该函数函数值的算法,并画出算法框图.
分析:
函数是分段函数,需根据x的不同取值选择不同的解析式,故应采用选择结构.
解:
算法如下:
第一步:
输入;
第二步,如果,那么使,输出,否则执行第三步;
第三步,如果,那么使,输出,否则执行第四步;
第四步,;
第五步,输出.
相应的算法框图如图2所示.
6、例6.已知函数
右图表示的是给定x的值,求其对应的函数值y的程序框
图,①处应填写;②处应填写.
方法点拨:
分清两段的函数解析式与各自条件的对应关系.
解析:
由可知,
当时,对应的函数解析式为,
所以①处应填写,
则②处应填写.
规律总结:
对程序框图的考查是新课标高考热点之一.不管含什么结构的程序框图,首先要弄清算法功能.对于循环结构,要分清循环体、变量的初始条件和循环的中止条件,特别要注意循环终止时各变量的值.对条件结构,要善于判断,分清在什么条件下流向哪里.“求输出”就是求算法的运行结果,求“填写”就是在把握整个算法流程的基础上补全所缺算法流程,需要一定的判断及逆向想象能力.
(三)巩固练习
输入a,b,c,d
m=a+2b
n=2b+c
p=2c+3d
q=4d
输出m,n,p,q
开始
结束
图1
1.现代化信息时代,为确保信息安全,信息需加密传输,发送方由明文密文(加密),接收方由密文明文(解密),已知加密规则如图1所示,例如,明文1,2,3,4对应密文5,7,18,16.当接收方收到密文14,9,23,28时,解密得到的明文应为()
A.4,6,1,7B.7,6,1,4C.6,4,1,7D.1,6,4,7
2当时,下面的程序段输出的结果是()
IFTHEN
else
PRINTy
ABCD
解:
D该程序揭示的是分段函数的对应法则
三、程序设计
(一)基本知识点
(1)算法设计和算法框图是程序设计的基础,我们可根据算法的三种逻辑结构,对应于五种不同功能的基本语句,进而完成程序设计.
(3)实际问题的程序设计一般是先对问题进行认真的分析,设计出合理的算法,然后将算法用框图表示出来,最后根据算法框图和基本语句写出程序.
(3)忽视各种语句的格式要求易致错.如:
条件语句必须以If语句开始,以EndIf语句结束,而在多个条件语句嵌套或并列使用时,往往会因粗心漏写部分EndIf,从而出错.
(4)忽视变量的取值范围易致错.写循环语句时,要特别注意循环变量、计数变量与累计变量的取值范围,只要其中一个变量的取值有误,程序就是错误的.如:
若计数变量范围有误,则往往会出现多一次或少一次循环的错误.
(二)典型习题举例
1、例1.下列所给的式子,前一个是算术式子,后一个是QBASIC语言中的对应式子,正确的有________个.( )
①e5:
e^5 ②3:
3^3/4③lg7:
LOG10(7)
④:
SQR(3)⑤|x-3|:
ABS(x-3)
A.1 B.2 C.3 D.4
解析:
C在QBASIC语言中幂底数为e时有专用符号exp( ),如ex表达为exp(x).∴e5应为exp(5);
当幂指数为分式等代数式时,应加括号,乘方优先于乘除,∴3应为3^(3/4);
常用对数的指令为LOG10( ),故(3)正确;④⑤都正确,∴选C.
2、例2.下列程序语言中表达式的值正确的是( )
A.6*SQR(4)+3^2*2=154
B.3*(5+4)+SQR(9)^2=17
C.[5+3*(12-7)]/4=5
D.(2+3)*5-4+2*3*SQR(4)^2=72
解析:
选C.A中,6+32×2=12+18=30;
B中,3×9+()2=36;
C中,[5+3(12-7)]÷4=(5+15)÷4=5;
D中,5×5-4+2×3×()2=45.
3、例3执行下面语句的过程中,执行循环体的次数是()
i=1
Do
i=i+1
i=i*i
LoopWhilei<10
输出i.
A.2B.0C.3D.1
分析:
该程序的执行过程是:
第一次执行循环体:
i=1,i=i+1=2,i=i*i=4,i=4<10成立;
第二次执行循环体:
i=4,i=i+1=5,i=i*i=25,i=25<10不成立,退出循环,
故共执行循环体2次.选A.
小结:
此类题目主要考查同学们对算法语句的阅读能力,只要按部就班地将程序运行下去,问题便自然获解.
4、例4.(2010·辽宁锦州)下面的程序框图,输出的结果为( )
A.1 B.2C.4 D.16
解析:
D 运行过程为:
a=1≤3→b=21=2,a=1+1=2,
a=2≤3成立→b=22=4,a=2+1=3,
a=3≤3成立→b=24=16,a=3+1=4,
此时a≤3不成立,输出b=16.
5、例5.下面程序运行后输出结果是3,则输入的x值一定是( )
INPUT x
IF x>0 THEN
y=x
ELSE
y=-x
ENDIF
PRINT y
END
A.3 B.-3C.3或-3 D.0
解析:
C 该程序语句是求函数y=|x|的函数值,∵y=3,∴x=±3.
6、例6
(1)下列程序语句的算法功能是( )
INPUT a,b,c
IF a
a=b
ENDIF
IF aa=c
ENDIF
PRINT a
END
A.输出a,b,c三个数中的最大数
B.输出a,b,c三个数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
解析A 由程序语句可知,当比较a,b的大小后,选择较大的数赋给a;
当比较a,c的大小后,选择较大的数赋给a;
最后打印a,所以此程序的作用是输出a,b,c中最大的数.
小结:
将程序中ab,a>c,则结果是输出a,b,c中的最小值.
(三)巩固练习
1.写出下列程序运行的结果
输出结果为________. 输出结果为________.
解析:
(1)执行第三、四句后,a=4,b=-2,执行第五句后,a=4×(-2)4×=128,故输出a的值为128;
(2)执行第三句后,c=-1,执行第四句后,b=0,故输出a=1,b=0,c=-1;
(3)第一句输入a值2,第二句f=a2-1=3,第三句g=2a+3=7,第四句f=g2-1=48,第五句g=2f+3=99,最后输出f=48,g=99.
(4)第一句输入a=10,b=20,c=30,第二句输出a=10,b=20,c=30,第三句a=20,第四句b=30,第五句c=20,第六句输出a=20,b=30,c=20.
2当时,下面的程序段结果是()
i=1
s=0
WHILEi<=4
s=s*x+1
i=i+1
WEND
PRINTs
END
ABCD
解:
C
四、其他常见题型
(一)进位制
1.以下各数中有可能是五进制数的为( )
A.55B.106C.732D.2134
解析:
D五进制数只需0,1,2,3,4五个数字.
2把“五进制”数转化为“十进制”数,再把它转化为“八进制”数
解:
3、下列各数中最小的数为( )
A.101011
(2) B.1210(3)
C.110(8) D.68(12)
解析:
A 101011
(2)=1×25+1×23+1×2+1=43,1210(3)=1×33+2×32+1×3=48,110(8)=1×82+1×8=72,68(12)=6×12+8=80,故选A.
4.下列二进制数中最大的数是( )
A.111
(2)B.1001
(2)C.110
(2)D.101
(2)
解析:
B 据k进制数的位置原则知,四位数一定大于三位数,故选B.也可以先把它化为十进制数,再比较.
小结:
相同进位制数的大小可以看位数,按“位值”原则比较大小,如132(4)>123(4),101
(2)>11
(2),但不同进位制的数之间比较大小,不适用“位值”原则,一般都是先化为十进制数再比较大小.
5.二进制数算式1010
(2)+10
(2)的值是( )
A.1011
(2) B.1100
(2)
C.1101
(2) D.1000
(2)
解析:
B 1010
(2)+10
(2)=(1×23+0×22+1×21+0×20)+(1×21+0×20)=12=1100
(2),故选B.
小结:
可以按进位制原则,直接象通常的十进制加法一样计算.注意k进制是满k进1.
6.若10y1
(2)=x02(3),求数字x,y的值及与此两数等值的十进制数.
分析:
由二进制及三进制可知,y∈{0,1},x∈{1,2},将二进制数和三进制数都转化为十进制数,再由两数相等及x、y的取值范围可得出x、y的值.
解析:
∵10y1
(2)=x02(3),
∴1×23+0×22+y×2+1=x×32+0×3+2,
将上式整理得9x-2y=7,
由进位制的性质知,
x∈{1,2},y∈{0,1},
当y=0时,x=(舍),
当y=1时,x=1.
∴x=y=1,已知数为102(3)=1011
(2),
与它们相等的十进制数为
1×32+0×3+2=11.
(二).秦九韶算法
1、若用秦九韶算法求多项式f(x)=4x5-x2+2当x=3时的值,则需要做乘法运算和加减法运算的次数分别为( )
A.4,2B.5,3C.5,2 D.6,2
解析:
选C.f(x)=4x5-x2+2=((((4x)x)x-1)x)x+2,所以需要做5次乘法运算和2次加减运算.
2.用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4的值时,先算的是( )
A.4×4=16B.7×4=28C.4×4×4=64 D.7×4+6=34
解析:
选D.因为f(x)=anxn+an-1xn-1+…+a1x+a0=(…((anx+an-1)x+an-2)x+…+a1)x+a0,所以用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4的值时,先算的是7×4+6=34.
3、用秦九韶算法求多项式当时的值
解:
4.用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6的值,当x=-4时,v4的值为( )
A.-57 B.124C.-845 D.220
解析:
D 依据秦九韶算法有v0=a6=3,v1=v0x+a5=3×(-4)+5=-7,v2=v1x+a4=-7×(-4)+6=34,v3=v2x+a3=34×(-4)+79=-57,v4=v3x+a2=-57×(-4)+(-8)=220.
(三)辗转相除法
1用“辗转相除法”求得和的最大公约数是()
ABCD
解:
D
是和的最大公约数,也就是和的最大公约数
2.用更相减损术,求105与30的最大公约数时,需要做减法的次数是( )
A.2 B.3 C.4 D.5
解析:
C 105-30=75,75-30=45,45-30=15,30-15=15.
3.在用辗转相除法求两个正整数a,b(a>b)的最大公约数时,得到表达式a=nb+r,(n∈N),这里r的取值范围是________.
解:
0≤r
12