高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc
《高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc》由会员分享,可在线阅读,更多相关《高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc(12页珍藏版)》请在冰豆网上搜索。
![高中数学人教A版必修三第一章算法初步知识点总结及典型例题分析.doc](https://file1.bdocx.com/fileroot1/2022-10/27/517a2462-96ab-40ee-963e-08ea877c6bbb/517a2462-96ab-40ee-963e-08ea877c6bbb1.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,最