章末优化总结
算法设计
算法设计与一般意义上的解决问题不同,它是对一类问题的一般解法的抽象和概括,算法设计应注意:
(1)与解决问题的一般方法相联系,从中提炼出算法;
(2)将解决问题的过程分为若干个可执行的步骤;
(3)引入有关的参数或变量对算法步骤加以表达;
(4)用最简练的语言将各个步骤表达出来.
已知平面直角坐标系中的两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.
[解] 第一步,计算x0==1,y0==1,得AB的中点N(1,1).
第二步,计算k1==,得AB的斜率.
第三步,计算k=-=-2,得AB垂直平分线的斜率.
第四步,得线段AB垂直平分线的方程y-y0=k(x-x0),
即y-1=-2(x-1).
程序框图的画法
程序框图是用规定的程序框 ( http: / / www.21cnjy.com )、流程线及文字说明来准确、直观形象地表示算法的图形,画程序框图前,应先对问题设计出合理的算法,然后分析算法的逻辑结构,画出相应的程序框图.在画循环结构的程序框图时应注意选择合理的循环变量及判断框内的条件.
画出一个计算1×3×5×…×99的程序框图.
[解] 法一:当型循环结构程序框图如图(1)所示:
法二:直到型循环结构程序框图如图(2)所示:
程序框图的识别与解读
识别程序框图和完善程序框图是高考的重点和热点 ( http: / / www.21cnjy.com ).解决这类问题:首先,要明确程序框图中的顺序结构、条件结构和循环结构;第二,要识别程序框图的运行,理解框图解决的实际问题;第三,按照题目的要求完成解答.另外框图的考查常与函数和数列等结合.
若执行如图所示的框图,输入x1=1,x2=2,x3=4,x4=8,则输出的数等于________.
[解析] 输出的是四个数的平均数,
即输出的是=.
[答案]
用基本算法语句编写程序
基本算法语句有输入、输出语句、赋 ( http: / / www.21cnjy.com )值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件结构、循环结构.用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中判断条件的表述及循环语句中有关变量的取值范围.
请写出如图所示的程序框图描述的算法的程序.
[解] 这是一个求分段函数y=的函数值的算法,输入、输出框分别对应输入、输出语句,判断框对应条件语句.
所求算法程序为:
INPUT xIF x>1 THEN y=x-1ELSE IF x<-1 THEN y=x+1 ELSE y=2*x+1 END IFEND IFPRINT yEND
1.下列给出的赋值语句正确的有( )
(1)赋值语句2=A;(2)赋值语句x+y=2;(3)赋值语句A-B=-2;(4)赋值语句A=A*A.
A.0个 B.1个
C.2个 D.3个
解析:选B.对于(1)赋值语句中“=” ( http: / / www.21cnjy.com )左、右不能互换,即不能给常量赋值,左边必须为变量,右边必须是表达式,若改写为A=2就正确了;(2)赋值语句不能给一个表达式赋值,所以(2)是错误的;同理(3)也是错误的,这四种说法中只有(4)是正确的.
2.(2014·高考课标全国卷Ⅱ)执行如图所示的程序框图,如果输入的x,t均为2,则输出的S=( )
A.4 B.5
C.6 D.7
解析:选D.x=2,t=2,M=1,S=3,k=1.
k≤t,M=×2=2,S=2+3=5,k=2;
k≤t,M=×2=2,S=2+5=7,k=3;
3>2,不满足条件,输出S=7.
3.写出如图所示的程序框图的运行结果:若R=8,则a=________.
解析:a=2=4.
答案:4
4.用秦九韶算法求f(x)=x3-3x2+3x+2当x=2时的值,并探索有无更简便算法.
解:(1)由已知f(x)=((x-3)x+3)x+2,
按从内到外的顺序,依次计算一次多项式当x=2时的值.
v0=1,
v1=1×2-3=-1,
v2=(-1)×2+3=1,
v3=1×2+2=4,
所以当x=2时多项式的值为4.
(2)探索:由于x=2时多项式的值为4,
所以13=(x-1)3=x3-3x2+3x-1.
所以有(x3-3x2+3x-1)+3=1+3=4.
即当x=2时,多项式的值为4.
[A.基础达标]
1.给出以下几个问题:
①输入x, 输出它的相反数
②求面积为6的正方形的周长
③求函数f(x)=的函数值
其中不需要用条件语句来描述其算法的有( )
A.1个 B.2个
C.3个 D.0个
解析:选B.①、②不需要使用条件语句.
2.用秦九韶算法计算多项式f(x ( http: / / www.21cnjy.com ))=2x7+x6+x5+x4+3x3+x2+2x+1当x=2时的函数值时,需要做的加法和乘法的次数分别是( )
A.7,4 B.4,7
C.7,7 D.4,4
解析:选C.f(x)=2x7+x6 ( http: / / www.21cnjy.com )+0×x5+0×x4+3x3+0×x2+2x+1=((((((2x+1)x+1)x+1)x+3)x+1)x+2)x+1,所以需要做7次加法,7次乘法.
3.(2015·济南期末)执行如图所示的程序框图,若输入n=7,则输出的值为( )
A.2 B.3
C.4 D.5
解析:选D.依题意可知,k=1,n=1 ( http: / / www.21cnjy.com )3;k=2,n=25;k=3,n=49;k=4,n=97;k=5,n=193>100,满足条件.故输出k的值为5.
4.(2015·衡阳模拟)执行如图所示的程序框图,若输入的N的值为6,则输出的p的值为( )
A.120 B.720
C.1 440 D.5 040
解析:选B.由程序框图,可得k=1, ( http: / / www.21cnjy.com )p=1,1<6;k=2,p=2,2<6;k=3,p=6,3<6;k=4,p=24,4<6;k=5,p=120,5<6;k=6,p=720,6=6,不满足条件.故输出的p的值为720.
5.(2015·湖南师大附中月考)执行如图所示的程序框图,则计算机输出的所有点(x,y)所满足的函数为( )
A.y=x+1 B.y=2x
C.y=2x-1 D.y=2x
解析:选D.由题意,该程序共输出4个点(1,2),(2,4),(3,8),(4,16),易知这4个点都在函数y=2x的图象上.
6.计算函数y=的算法步骤为 ( http: / / www.21cnjy.com ):第一步,输入x;第二步,如果x<0,则使y=x+1,否则执行第三步;第三步,________,第四步,输出y.(将第三步完整填写)
解析:第三步为y=x-1.
答案:y=x-1
7.(2015·长沙模拟)执行如图所示的程序框图,若输入x=8,则输出的k=________.
解析:依题意,得x=88,k ( http: / / www.21cnjy.com )=1,x<2 015;x=888,k=2,x<2 015;x=8 888,k=3,x>2 015,满足条件.故输出的k的值为3.
答案:3
8.(2014·高考山东卷)执行如图所示的程序框图,若输入的x的值为1,则输出的n的值为________.
解析:由x2-4x+3≤0,解得1≤x≤3.
当x=1时,满足1≤x≤3,所以x=1+1=2,n=0+1=1;
当x=2时,满足1≤x≤3,所以x=2+1=3,n=1+1=2;
当x=3时,满足1≤x≤3,所以x=3+1=4,n=2+1=3;
当x=4时,不满足1≤x≤3,所以输出n=3.
答案:3
9.小明第一天背一个单词,第二天背两个单词,以后每一天都比前一天多背一个单词.问他前十天共背了多少个单词?(给出该问题的算法语句)
解:
s=0i=1WHILE i<=10 s=s+i i=i+1WENDPRINT sEND
10.某中学男子体育组的百米赛跑的成绩(单 ( http: / / www.21cnjy.com )位:秒)如下:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.设计一个算法从这些成绩中搜索出所有小于12.1秒的成绩,画出程序框图,并编写相应的程序.
解:程序框图:
程序:
i=1WHILE i<=10INPUT GiIF Gi<12.1 THENPRINT GiEND IFi=i+1WENDEND
[B.能力提升]
1.将二进制数10 011(2)化为五进制为( )
A.32 B.33
C.34 D.35
解析:选C.由10 011(2)=24+2+20=19,得19=3×5+4=34(5).
2.(2014·高考课标全国卷Ⅰ)执行如图所示的程序框图,若输入的a,b,k分别为1,2,3,则输出的M=( )
A. .
C. .
解析:选D.当n=1时,M=1+=,a=2,b=;
当n=2时,M=2+=,a=,b=;
当n=3时,M=+=,a=,b=;
n=4时,终止循环.输出M=.
3.
INPUT xIF x<0 THENy=π*x/2+3ELSE IF x>0 THENy=-π*x/2+5 ELSEy=0 END IFEND IFPRINT yEND
如果输入x=-2,则输出结果y为________.
解析:若输入x=-2,则满足第一个条件x<0成立,故执行y=*x+3,即可得到结果.
答案:-π+3
4.执行下面的程序输出的结果是________.
i=1s=0WHILE i<=4s=s*2+1i=i+1WENDPRINT sEND
解析:当i=1时,s=0×2+1=1;当i=2时,s=1×2+1=3;当i=3时,s=3×2+1=7;当i=4时,s=7×2+1=15.
答案:15
5.设计算法求+++…+的值.要求画出程序框图.
解:程序框图如图:
6.(选做题)到银行办理个人异地汇款(不超 ( http: / / www.21cnjy.com )过100万)时,银行要收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,手续费按汇款额的1%收取;超过5 000元,一律收取50元手续费,请为银行设计一个程序要求输入汇款额x元,输出银行应收取的手续费y.
解:程序如下:
INPUT xIF x>0 AND x<=100 THENy=1ELSEIF x<=5 000 THENy=0.01*xELSEy=50END IFEND IFPRINT yEND
(时间:100分钟,满分:120分)
一、选择题(本大题共10小题,每小题5分,共50分.在每小题给出的四个选项中,只有一项是符合题目要求的)
1.下面对算法描述正确的一项是( )
A.算法只能用自然语言来描述
B.算法只能用图形方式来表示
C.同一个问题可以有不同的算法
D.同一问题的算法不同,结果必然不同
解析:选C.算法可以用自然语言、程序框图、程序语句等来描述,同一个问题可以有不同的算法,但结果是相同的.
2.算法共有三种逻辑结构,即顺序结构、条件结构和循环结构,下列说法正确的是( )
A.一个算法只含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可以含有上述三种逻辑结构
解析:选D.一个算法中具体含有哪种结构,主要看如何解决问题或解决怎样的问题,以上三种逻辑结构在一个算法中都有可能体现,故选D.
3.(2015·日照高一检测)如果执行如图所示的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )
A.A+B为a1,a2,…,aN的和
B.为a1,a2,…,aN的算术平均数
C.A和B分别是a1,a2,…,aN中最大的数和最小的数
D.A和B分别是a1,a2,…,aN中最小的数和最大的数
解析:选C.由于x=ak,且x>A时,将 ( http: / / www.21cnjy.com )x值赋给A,因此最后输出的A值是a1,a2,…,aN中最大的数;由于x=ak,且x<B时,将x值赋给B,因此最后输出的B值是a1,a2,…,aN中最小的数,故选C.
4.(2014·高考湖南卷)执行如图所示的程序框图,如果输入的t∈[-2,2],则输出的S属于( )
A.[-6,-2] B.[-5,-1]
C.[-4,5] D.[-3,6]
解析:选D.由程序框图知,当 ( http: / / www.21cnjy.com )0≤t≤2时,输出S=t-3,此时S∈[-3,-1];当-2≤t<0时,执行t=2t2+1后1<t≤9,执行1<t≤9时,输出S=t-3,此时S∈(-2,6].因此输出S的值属于[-3,6].
5.下面的程序框图输出的数值为( )
A.62 B.126
C.254 D.510
解析:选B.根据所给程序框图可知S=21+22+23+24+25+26=126,故选B.
6.下列程序的功能是( )
S=1i=3WHILE S<=10 000 S=S*i i=i+2WENDPRINT iEND
A.求1×2×3×4×…×10 000的值
B.求2×4×6×8×…×10 000的值
C.求3×5×7×9×…×10 001的值
D.求满足1×3×5×…×n>10 000的最小正整数n
解析:选D.法一:S是累乘变量,i是计数变量,每循环一次,S乘以i一次且i增加2.
当S>10 000时停止循环,输出的i值是使1×3×5×…×n>10 000成立的最小正整数n.
法二:最后输出的是计数变量i,而不是累乘变量S.
7.用秦九韶算法求多项式f(x)=208+9x2+6x4+x6当x=-4时的值时,v2的值为( )
A.-4 B.1
C.17 D.22
解析:选D.v0=1;v1=1×(-4)+0=-4;v2=-4×(-4)+6=22.
8.(2015·武汉市调研)执行如图所示的程序框图,若输出的结果是9,则判断框内m的取值范围是( )
A.(42,56] B.(56,72]
C.(72,90] D.(42,90]
解析:选B.第一次运行: ( http: / / www.21cnjy.com )S=2,k=2;第二次运行:S=6,k=3;…;第七次运行:S=56,k=8;第八次运行:S=2+4+6+…+16=72,k=9,输出结果.故判断框中m的取值范围是(56,72].
9.(2013·高考天津卷)阅读如图所示的程序框图,运行相应的程序,则输出n的值为( )
A.7 B.6
C.5 D.4
解析:选D.n=1,S=0.
第一次:S=0+(-1)1×1=-1,-1<2,n=1+1=2,
第二次:S=-1+(-1)2×2=1,1<2,n=2+1=3,
第三次:S=1+(-1)3×3=-2,-2<2,n=3+1=4,
第四次:S=-2+(-1)4×4=2,2=2,
满足S≥2,跳出循环,输出n=4.
10.(2015·厦门质检)如图是判断“美数”的流程图,在[30,40]内的所有整数中,“美数”的个数是( )
A.3 B.4
C.5 D.6
解析:选A.依题意可知, ( http: / / www.21cnjy.com )题中的“美数”包括12的倍数与能被3整除但不能被6整除的数.由此不难得知,在[30,40]内的“美数”有3×11、12×3、3×13这三个数.
二、填空题(本大题共5小题,每小题4分,共20分.把答案填在题中横线上)
11.三个数390,455,546的最大公约数是________.
解析:390与455的最大公约数是65,65与546的最大公约数为13,可以用辗转相除法或更相减损术来求.
答案:13
12.把七进制数1 620(7)化为二进制数为________.
解析:1 620(7)=1×73+6×72+2×7+0=651,
651=1 010 001 011(2),
∴1 620(7)=1 010 001 011(2).
答案:1 010 001 011(2)
13.下面程序运行后输出的结果为________.
x=-5y=-20IF x<0 THENy=x-3ELSEy=x+3END IFPRINT x-y,y-xEND
解析:∵输入x=-5<0,
∴y=x-3=-5-3=-8,
∴输出x-y=-5-(-8)=3,y-x=-8-(-5)=-3.
答案:3,-3
14.对任意非零实数a,b,若a b的运算原理如图所示,则log28 =________.
解析:log28<,由题意知,log28 =3 4==1.
答案:1
15.阅读如图所示的程序框图,运行相应的程序,输出的S值等于________.
解析:第一次循环:S=1,k=1<4,S=2×1-1=1,k=1+1=2.
第二次循环:k=2<4,S=2×1-2=0,k=2+1=3.
第三次循环:k=3<4,S=2×0-3=-3,k=3+1=4,
当k=4时,k<4不成立,循环结束,此时S=-3.
答案:-3
三、解答题(本大题共5小题,共50分.解答时应写出必要的文字说明、证明过程或演算步骤)
16.(本小题满分8分)用秦九韶算法计算函数f(x)=2x5+3x4+2x3-4x+5当x=2时的函数值.
解:根据秦九韶算法,把多项式改写成如下形式:
f(x)=((((2x+3)x+2)x+0)x-4)x+5.
从内到外的顺序依次计算一次多项式当x=2时的值:
v0=2;
v1=2×2+3=7;
v2=v1×2+2=16;
v3=v2×2+0=32;
v4=v3×2-4=60;
v5=v4×2+5=125.
所以,当x=2时,多项式的值等于125.
17.(本小题满分8分)已知函数y=画出程序框图,对每一个输入的x值,都得到相应的函数值.
解:程序框图如图所示:
18.(本小题满分10分)以下是某次数学考 ( http: / / www.21cnjy.com )试中某班15名同学的成绩(单位:分):72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求用程序框图将这15名同学中成绩高于80分的同学的平均分数求出来.
解:程序框图如图所示:
19.(本小题满分12分)已知某算法的程序 ( http: / / www.21cnjy.com )框图如图所示,若将输出的(x,y)值依次记为(x1,y1),(x2,y2),…,(xn,yn),…
(1)若程序运行中输出的一个数组是(9,t),求t的值;
(2)程序结束时,共输出(x,y)的组数为多少;
(3)写出程序框图的程序语句.
解:(1)开始时,x=1时,y=0;接着x=3,y=-2;然后x=9,y=-4,所以t=-4;
(2)当n=1时,输出一对,当n=3时,又输出一对,…,当n=2 013时,输出最后一对,共输出(x,y)的组数为1 007;
(3)程序框图的程序语句如下:
x=1y=0n=1DOPRINT (x,y)n=n+2x=3*xy=y-2LOOP UNTIL n>2 014END
20.(本小题满分12分)一个数被3除余2,被7除余4,被9除余5,求满足条件的最小正整数.画出程序框图,并写出程序.
解:此问题即求不定方程组的正整数解,首先可以从m=2开始检验条件,若三个条件任何一个不满足,则m递增1,一直到m同时满足3个条件为止.程序框图如图:
程序如下:
m=2WHILE m MOD 3<>2 OR m MOD 7<>4 OR m MOD 9<>5 m=m+1WENDPRINT mEND2015-2016学年高中数学 第一章 集合与函数概念教案(打包9套)1.3 算法案例
1.问题导航
(1)什么叫辗转相除法?
(2)什么叫更相减损术?
(3)辗转相除法与更相减损术的区别是什么?
(4)什么是秦九韶算法?
(5)学习了十进制,知道十进制是使用0~9十个数字,那么二进制、五进制、七进制分别使用哪些数字?
2.例题导读
通过对例1的学习,学会用更相减损术求最大公约数;
通过对例2的学习,学会用秦九韶算法求多项式的值;
通过对例3的学习,学会如何将二进制化为十进制;
通过对例4的学习,学会如何将k进制化为十进制;
通过对例5的学习,学会如何将十进制化为二进制;
通过对例6的学习,学会十进制化为k进制的方法:即“除k取余法”(k∈N,2≤k≤9).
1.辗转相除法与更相减损术
(1)辗转相除法:又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
(2)更相减损术:我国古代数学专著《九章算术》中介绍的一种求两个正整数的最大公约数的算法.
2.秦九韶算法
功能 它是一种用于计算一元n次多项式的值的方法
改写后的形式 f(x)=anxn+an-1xn-1+…+a1x+a0=(anxn-1+an-1xn-2+…+a1)x+a0=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=…=(…((anx+an-1)x+an-2)x+…+a1)x+a0
计算方法 从括号最内层开始,由内向外逐层计算v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,vn=vn-1x+a0,…这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.
3.进位制
(1)进位制
进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几.
(2)其他进位制与十进制间的转化
①其他进位制化成十进制
其他进位制的数化成十进制时,表示成不同位上数字与基数的幂的乘积之和的形式.
②十进制化成k进制的方法——“除k取余法”.
1.用更相减损术求294和84的最大公约数时,需做减法运算的次数是( )
A.2 B.3
C.4 D.5
解析:选C.294-84=210,210-84=126,126-84=42,84-42=42,共做4次减法运算.
2.用秦九韶算法计算多项式f(x)=3x6+ ( http: / / www.21cnjy.com )4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是( )
A.6,6 B.5,6
C.5,5 D.6,5
答案:A
3.完成下列进位制之间的转化.
(1)1 034(7)=________(10);
(2)119(10)=________(6).
解析:(1)1 034(7)=1×73+0×72+3×7+4×70=368.
(2)
∴119(10)=315(6).
答案:(1)368 (2)315
4.当所给的多项式按x的降幂排列“缺项”时,用秦九韶算法改写多项式时,应注意什么?
解:所缺的项写成系数为零的形式,即写成0·xn的形式.
1.对于任何一个数,我们可以用不同的进位制来表示.
2.表示各种进位制数一般在数字右下角加注来表示,如111 001(2)表示二进制数,34(5)表示5进制数.
3.电子计算机一般都使用二进制.
4.利用除k取余法,可以把任何一个十进制数化为k进制数,并且操作简单、实用.
5.通过k进制数与十进制数的转化,我们也可以将一个k进制数转化为另一个不同基数的M进制数.
6.利用秦九韶算法可以减少计算次数提高计算效率.
求最大公约数
用辗转相除法求612与468的最大公约数,并用更相减损术检验所得结果.
(链接教材P36例1)
[解] 用辗转相除法:
612=468×1+144,468=144×3+36,144=36×4,
即612和468的最大公约数是36.
用更相减损术检验:
612和468为偶数,两次用2约简得1 ( http: / / www.21cnjy.com )53和117,153-117=36,117-36=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,
所以612和468的最大公约数为9×2×2=36.
方法归纳
(1)利用辗转相除法求给定的两个数的最大公 ( http: / / www.21cnjy.com )约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.
(2)利用更相减损术求两个正整数的最大公约数 ( http: / / www.21cnjy.com )的一般步骤是:首先判断两个正整数是否都是偶数.若是,用2约简,也可以不除以2,直接求最大公约数,这样不影响最后结果.
1.(1)1 624与899的最大公约数是________.
解析:1 624=899×1+725,
899=725×1+174,
725=174×4+29,
174=29×6,
故1 624与899的最大公约数是29.
答案:29
(2)用辗转相除法求80和36的最大公约数,并用更相减损术检验所得结果.
解:辗转相除法:
80=36×2+8,36=8×4+4,8=4×2+0.
故80和36的最大公约数是4.
用更相减损术检验:
80-36=44,
44-36=8,
36-8=28,
28-8=20,
20-8=12,
12-8=4,
8-4=4,
∴80和36的最大公约数是4.
秦九韶算法及其应用
(2015·福州高一检测)用秦九韶算法写出当x=3时f(x)=2x5-4x3+3x2-5x+1的值.
[解] ∵f(x)=((((2x+0)x-4)x+3)x-5)x+1,
v0=2,
v1=2×3+0=6,
v2=6×3-4=14,
v3=14×3+3=45,
v4=45×3-5=130,
v5=130×3+1=391,
所以f(3)=391.
方法归纳
利用秦九韶算法将f(x)改写成如下形式 ( http: / / www.21cnjy.com )f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0,其计算步骤为:先计算v1=anx+an-1,再计算v2=v1x+an-2,每次都是把上一次的结果乘以x再与下一个系数相加,其计算量为乘法n次,加法n次.
2.利用秦九韶算法求多项式f(x)=3x6+12x5+8x4-3.5x3+7.2x2+5x-13当x=6时的值,写出详细步骤.
解:f(x)=(((((3x+12)x+8)x-3.5)x+7.2)x+5)x-13.
v0=3,
v1=v0×6+12=30,
v2=v1×6+8=188,
v3=v2×6-3.5=1 124.5,
v4=v3×6+7.2=6 754.2,
v5=v4×6+5=40 530.2,
v6=v5×6-13=243 168.2.
所以f(6)=243 168.2.
进位制
(1)把二进制数101 101(2)化为十进制数;
(2)把十进制数458转化为四进制数.
(链接教材P41例3、例4)
[解] (1)101 101(2)=1×25+0×24+1×23+1×22+0×21+1×20=32+8+4+1=45,
所以二进制数101 101(2)转化为十进制数为45.
(2)
458=13 022(4).
[互动探究] 将本例(1)中的二进制数101 101(2)转化为三进制数.
解:101 101(2)=1×25+0×24+1×23+1×22+0×21+1×20=45,
∴45=1 200(3),∴101 101(2)=1 200(3).
方法归纳
(1)将k进制转化为十进 ( http: / / www.21cnjy.com )制的方法是:先将这个k进制数写成各个数位上的数字与k的幂的乘积之和的形式,再按照十进制的运算规则计算出结果.(2)十进制转化为k进制,采用除k取余法,也就是除基数,倒取余.
3.(1)二进制数算式1 010(2)+10(2)的值是( )
A.1 011(2) B.1 100(2)
C.1 101(2) D.1 000(2)
解析:选B.二进制数的加法是逢二进一,所以选B.
(2)下列各组数中最小的数是( )
A.1 111(2) B.210(6)
C.1 000(4) D.101(8)
解析:选A.统一化为十进制数为1 111(2)=15;210(6)=78;1 000(4)=64;101(8)=65.
易错警示 因忽略零系数项而致误
利用秦九韶算法求多项式f(x)=x6-5x5+6x4+x2+3x+2当x=-2时的值为( )
A.320 B.-160
C.-320 D.300
[解析] 将多项式变式为f(x)=(( ( http: / / www.21cnjy.com )(((x-5)x+6)x+0)x+1)x+3)x+2,v0=1,v1=-2+(-5)=-7,v2=-7×(-2)+6=20,v3=20×(-2)+0=-40,v4=-40×(-2)+1=81,v5=81×(-2)+3=-159,v6=-159×(-2)+2=320.
[答案] A
[错因与防范]
(1)考虑x=-2而认为多项式的值为负值.
(2)易忽略多项式中系数为0的项,致使多项式改写不正确.
(3)解题时注意多项式变形后有几次乘法和几次加法.
(4)要注意所给多项式的项数,特别是系数为0的项.
4.(1)用秦九韶算法计算多项式f(x)=12+35x-8x2+6x4+5x5+3x6在x=-4时的值时,v3的值为( )
A.-144 B.-136
C.-57 D.34
解析:选B.根据秦九韶算法多项式可化为
f(x)=(((((3x+5)x+6)x+0)x-8)x+35)x+12.
由内向外计算v0=3;
v1=3×(-4)+5=-7;
v2=-7×(-4)+6=34;
v3=34×(-4)+0=-136.
(2)已知多项式f(x)=3x5+8x4-3x3+5x2+12x-6,则f(2)=________.
解析:根据秦九韶算法,把多项式改写成如下形式:
f(x)=((((3x+8)x-3)x+5)x+12)x-6.
按照从内到外的顺序,依次计算一次多项式当x=2时的值.
v0=3,
v1=3×2+8=14,
v2=14×2-3=25,
v3=25×2+5=55,
v4=55×2+12=122,
v5=122×2-6=238,
所以当x=2时,多项式的值为238.
答案:238
1.下列关于利用更相减损术求156和72的最大公约数的说法中正确的是( )
A.都是偶数必须约简
B.可以约简,也可以不约简
C.第一步作差为156-72=84;第二步作差为72-84=-12
D.以上都不对
解析:选B.约简是为了使运算更加简捷,故不一定要约简,A错.C中第二步应为84-72=12,故选B.
2.用辗转相除法计算294与84的最大公约数时,需要做的除法次数是( )
A.1 B.2
C.3 D.4
解析:选B.294=84×3+42,84=42×2,至此公约数已求出.
3.二进制数1 101 111(2)化成十进制数是________.
解析:1 101 111(2)=1×20+1×21+1×22+1×23+0×24+1×25+1×26=111.
答案:111
4.若k进制数123(k)与十进制数38相等,则k=________.
解析:由k进制数123可知k≥4.
下面可用验证法:
若k=4,则38(10)=212(4),不合题意;
若k=5,则38(10)=123(5)成立,所以k=5.
答案:5
[A.基础达标]
1.45和150的最大公约数和最小公倍数分别是( )
A.5,150 B.15,450
C.450,15 D.15,150
解析:选B.利用辗转相除法求 ( http: / / www.21cnjy.com )45和150的最大公约数:150=45×3+15,45=15×3,45和150的最大公约数为15.45和150的最小公倍数为15×(45÷15)×(150÷15)=450,故选B.
2.把67化为二进制数为( )
A.1 100 001(2) B.1 000 011(2)
C.110 000(2) D.1 000 111(2)
解析:选B.
∴把67化为二进制数为1 000 011(2).
3.(2015·三明高一检测)计算机中常用十六进制,采用数字0~9和字母A~F共16个计算符号与十进制的对应关系如下表:
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
例如用十六进制表示D+E=1B,则(2×F+1)×4=( )
A.6E B.7C
C.5F D.B0
解析:选B.(2×F+1)×4用十进制可以表示为(2×15+1)×4=124,而124=16×7+12,所以用十六进制表示为7C,故选B.
4.若用秦九韶算法求多项式f(x)=4x5-x2+2当x=3时的值,则需要做乘法运算和加减法运算的次数分别为( )
A.4,2 B.5,3
C.5,2 D.6,2
解析:选C.f(x)=4x5-x2+2=((((4x)x)x-1)x)x+2,所以需要做5次乘法运算和2次加减运算.
5.(2015·青海调研)已知一个k进制的数132与十进制的数30相等,那么k等于( )
A.7或4 B.-7
C.4 D.都不对
解析:选C.132(k)=1×k2+3×k+2=k2+3k+2,
∴k2+3k+2=30,即k2+3k-28=0,
解得k=4或k=-7(舍去).
6.三个数72,120,168的最大公约数是________.
解析:由更相减损术,得
168-120=48,120-48=72,72-48=24,48-24=24,
故120和168的最大公约数是24.
而72-24=48,48-24=24,
故72和24的最大公约数也是24,
所以72,120,168的最大公约数是24.
答案:24
7.(2015·莱芜质检)已知函数f(x)=x3-2x2-5x+6,用秦九韶算法,则f(10)=________.
解析:f(x)=x3-2x2-5x+6
=(x2-2x-5)x+6
=((x-2)x-5)x+6.
当x=10时,
f(10)=((10-2)×10-5)×10+6
=(8×10-5)×10+6
=75×10+6=756.
答案:756
8.(2015·福州高一检测)三进制数2022(3)化为六进制数为abc(6),则a+b+c=________.
解析:2 022(3)=2×33+0×32+2×31+2×30=62.
三进制数2022(3)化为六进制数为142(6),
∴a+b+c=7.
答案:7
9.已知函数f(x)=x3-3x2-4x+5,试用秦九韶算法求f(2)的值.
解:根据秦九韶算法,把多项式改写成如下形式:
f(x)=x3-3x2-4x+5
=(x2-3x-4)x+5
=((x-3)x-4)x+5.
把x=2代入函数式得
f(2)=((2-3)×2-4)×2+5=-7.
10.古时候,当边境有敌 ( http: / / www.21cnjy.com )人来犯时,守边的官兵通过在烽火台上点火向境内报告来犯敌人数,如图所示,烽火台上点火表示数字1,未点火表示数字0,约定二进制数对应的十进制数的单位是1 000,请你计算一下,这组烽火台表示有多少敌人入侵?
解:由题图可知这组烽火台 ( http: / / www.21cnjy.com )表示的二进制数为11 011(2),它表示的十进制数为11 011(2)=1×24+1×23+0×22+1×21+1×20=27,由于约定二进制数对应的十进制数的单位是1 000,所以入侵的敌人的数目为27×1 000=27 000(人).
[B.能力提升]
1.将十进制数389 化成四进制数的末位是 ( )
A.1 B.2
C.3 D.0
解析:选A.389=4×97+1,即第一次用389除以4余1,而这就是最后一位数字.
2.(2015·盐城质检)m是一个正整数,对 ( http: / / www.21cnjy.com )于两个正整数a,b,如果a-b是m的倍数,则称a,b对模m同余,用符号a≡b(Mod m)表示,则下列各式中不正确的为( )
A.12≡7(Mod 5) B.21≡10(Mod 3)
C.34≡20(Mod 2) D.47≡7(Mod 40)
解析:选B.逐一验证,对于A,12-7 ( http: / / www.21cnjy.com )=5是5的倍数;对于B,21-10=11不是3的倍数;对于C,34-20=14是2的倍数;对于D,47-7=40是40的倍数,故选B.
3.324,243,135三个数的最大公约数是________.
解析:324=243×1+81,
243=81×3,
所以243与324的最大公约数是81.
又135=81×1+54,
81=54×1+27,
54=27×2+0,
所以135与81的最大公约数是27.
答案:27
4.在计算机的运行过程中,常常要进行二进制数 ( http: / / www.21cnjy.com )与十进制数的转换与计算.如十进制数8转换成二进制数是1 000,记作8(10)=1 000(2);二进制数111转换成十进制数是7,记作111(2)=7(10)等.二进制的四则运算,如11(2)+101(2)=1 000(2).请计算:11(2)×111(2)=________,10 101(2)+1 111(2)=________.
解析:由题可知,在二进制数中的运算规律是“满二进一”,
∴11(2)×111(2)=10 101(2),
10 101(2)+1 111(2)=100 100(2).
答案:10 101(2) 100 100(2)
5.有甲、乙、丙三种溶液分 ( http: / / www.21cnjy.com )别重147 g、343 g、133 g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?
解:先求147与343的最大公约数.
343-147=196,
196-147=49,
147-49=98,
98-49=49.
所以147与343的最大公约数是49.
再求49与133的最大公约数.
133-49=84,
84-49=35,
49-35=14,
35-14=21,
21-14=7,
14-7=7.
所以147,343,133的最大公约数为7.
所以每瓶最多装7 g.
6.(选做题)已知175(r)=125(10),求在这种进制里的数76(r)应记成十进制的什么数?
解:∵1×r2+7×r1+5×r0=125,
∴r2+7r-120=0,
∴r=8或r=-15(舍去),
∴r=8.
76(r)=76(8)=7×81+6×80=62(10).1.1.2 程序框图与算法的基本逻辑结构
第1课时 顺序结构、条件结构
1.问题导航
(1)什么是程序框图?
(2)算法包含几种基本逻辑结构?
(3)什么是顺序结构?
(4)什么是条件结构?
2.例题导读
通过对例3的学习,学会顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构;
通过对例4的学习,学会在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构;
通过对例5的学习,学会设计求解一元二次方程的算法及画程序框图.
1.程序框图
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
2.常见的程序框、流程线及各自表示的功能
图形符号 名称 功能
终端框(起止框) 表示一个算法的起始和结束
= 输入、输出框 表示一个算法输入和输出的信息
处理框(执行框) 赋值、计算
判断框 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线 连接程序框
○ 连接点 连接程序框图的两部分
3.一般算法是由三种基本逻辑结构组成的,它们是顺序结构、条件结构、循环结构.
4.顺序结构是任何一个算法都离不开的基本结构,它是由若干个依次执行的步骤组成的.
5.条件结构是指在一个算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.
1.判断下列各题.(对的打“√”,错的打“×”)
(1)在程序框图中,一个判断框最多只能有一个退出点;( )
(2)一个算法最多可以包含两种基本结构;( )
(3)条件结构的程序框图中有两个入口和一个出口;( )
(4)无论条件结构中的条件是否满足,都只能执行两条路径之一.( )
解析:(1)一个判断框可以有多个退出 ( http: / / www.21cnjy.com )点.(2)一个算法一定含有顺序结构,即一个算法可以只含有顺序结构或三种结构都有.(3)条件结构只有一个入口.
答案:(1)× (2)× (3)× (4)√
2.具有判断条件是否成立功能的程序框是( )
解析:选C.只有判断框具有判断条件是否成立的功能,故选C.
3.如图所示,若输入m=3,则输出的结果是________.
解析:由题图可知,p=m+5,n=p+5,∴n=3+5+5=13.
答案:13
4.画程序框图需要注意哪些问题?
解:①使用标准的框图符号;
②框图一般按从上到下、从左到右的方向画;
③除判断框外,大多数流程图符号只有一个进入点和一个退出点;
④终端框是任何算法框图中必不可少的,表示算法的起始和结束;
⑤在图形符号内描述的语言要非常简短清楚.
条件结构嵌套与条件结构叠加的区别
(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”…都进行判断,只有遇到能满足的条件才执行该条件对应的操作.
(2)条件结构的嵌套中,“条件2”是“ ( http: / / www.21cnjy.com )条件1”的一个分支,“条件3”是“条件2”的一个分支…以此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行.
(3)条件结构嵌套所涉及的“ ( http: / / www.21cnjy.com )条件2”“条件3”…是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的操作,是多个条件同时成立的复合.
顺序结构程序框图的设计及应用
已知点P0(x0,y0)和直线l:Ax+By+C=0,写出求点P0到直线l的距离d的算法,并画出程序框图.
(链接教材P9例3)
[解] 用数学语言描述算法:
第一步,输入点P0的横、纵坐标x0、y0,
输入直线方程的系数,即常数A、B、C.
第二步,计算z1=Ax0+By0+C.
第三步,计算z2=A2+B2.
第四步,计算d= .
第五步,输出d.
程序框图:
[互动探究] 把本例中的直线l改为圆C:(x-a)2+(y-b)2=r2,写出求点P0到圆上的点的距离最大值的算法,并画出程序框图.
解:算法如下:
第一步,输入点P0的横、纵坐标x0、y0,输入圆心的横、纵坐标a、b,圆的半径r;
第二步,计算z1=;
第三步,计算d=z1+r;
第四步,输出d.
程序框图:
方法归纳
利用公式求解问题,先写出公 ( http: / / www.21cnjy.com )式,看公式中的条件是否满足,若不满足,先求出需要的量,看要求的量需根据哪些条件求解,需要的条件必须先输入或将已知条件全部输入,求出未知的量,然后将公式中涉及的量全部代入求值即可.
1.(1)写出解不等式2x+1>0的一个算法,并画出程序框图.
解:第一步,将1移到不等式的右边;
第二步,不等式的两端同乘;
第三步,得到x>-.
程序框图如图所示:
(2)如图所示的程序框图,当输入的x的值为0和4时,输出的值相等,根据该图和下列各小题的条件回答下面几个问题.
①该程序框图解决的是一个什么问题?
②当输入的x的值为3时,输出的f(x)的值为多大?
③要想使输出的值最大,输入的x的值应为多大?
④按照这个程序框图输出的f(x)值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?
⑤要想使输出的值等于3,输入的x的值应为多大?
⑥要想使输入的值与输出的值相等,输入的x的值应为多大?
解:①该程序框图解决的是求二次函数f(x)=-x2+mx的函数值的问题.
②当输入的x的值为0和4时,输出的值相等,
即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,
所以-16+4m=0,
所以m=4.所以f(x)=-x2+4x.
因为f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)的值为3.
③因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)max=4,
所以要想使输出的值最大,输入的x的值应为2.
④因为f(x)=-(x-2)2+4,
所以函数f(x)在[2,+∞)上是减函数.
所以当输入的x的值大于2时,x值大的输出的f(x)值反而小.
⑤令f(x)=-x2+4x=3,解得x=1或x=3,
所以要想使输出的值等于3,
输入的x的值应为1或3.
⑥由f(x)=x,即-x2+4x=x,得x=0或x=3,所以要想使输入的值和输出的值相等,输入的x的值应为0或3.
简单的条件结构程序框图的设计及应用
给定一个正整数n,若n为奇数,则把n乘3加1;若n为偶数,则把n除以2.写出算法,并画出程序框图.
[解] 算法如下:
第一步,输入n的值.
第二步,若n为奇数,则输出3n+1的值;若n为偶数,则输出的值.
程序框图如图所示.
方法归纳
(1)设计程序框图时,首先设计算法步骤(自 ( http: / / www.21cnjy.com )然语言),再将算法步骤转化为程序框图(图形语言).对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决.
(2)本例中n是奇数和n是偶数时的计算方式不同,所以需对n的奇偶性加以判断,然后计算结果.
(3)注意该题判断框内的内容为“n为奇数”,所以当n为奇数时,则按“是”分支执行;否则,按“否”分支执行.
2.(1)程序框图如图所示,它是算法中的( )
A.条件结构 B.顺序结构
C.递归结构 D.循环结构
解析:选A.此题中的程序框图中有判断框,根据给定条件判断并根据判断结果进行不同处理的是条件结构.
(2)写出求分段函数y=的函数值的算法,并画出程序框图.
解:算法如下:
第一步:输入x的值.
第二步:判断x的大小,若x≥0,则y=2x+1;若x<0,则y=3x-2.
第三步:输出y的值.
程序框图:
(3)如图是一个算法的程序框图,当输入的x∈(-1,3]时,求输出y的范围.
解:由题意知,该程序框图是求函数y=的函数值.故当x∈(-1,1)时,y=2x2+1∈[1,3);当x∈[1,3]时,y=1-x∈[-2,0],所以输出的y的取值范围为[-2,0]∪[1,3).
多重条件结构程序框图的设计及应用
已知函数y=设计一个算法,输入自变量x的值,输出对应的函数值.请写出算法步骤,并画出程序框图.
(链接教材P11例5)
[解] 算法如下:
第一步,输入自变量x的值.
第二步,判断x>0是否成立,若成立,计算y=1+x,否则,执行下一步.
第三步,判断x=0是否成立,若成立,令y=0,否则,计算y=-x-3.
第四步,输出y.
程序框图如图所示:
方法归纳
(1)条件结构的嵌套是指在一个条件结构的分支内的步骤中又用到条件结构,就像一个条件结构镶嵌在另一个条件结构中一样.
(2)条件结构的并列是指一个条件结构执行完毕后,又执行下一个条件结构,它们之间无包含关系,是按顺序执行的.
3.(1)画出求函数y=的函数值的程序框图.
解:程序框图如图所示.
(2)给出程序框图如图
回答问题:
①若输入四个数5,3,7,2,则最终输出的结果是什么?
②你能说出该框图实现了一个什么样的算法吗?
解:第一个判断框中a<b,a<c,a<d如果 ( http: / / www.21cnjy.com )同时成立,那么a为四个数中的最小数,否则a不是最小的,那么最小数在b,c,d中,第二个判断框中b<c,b<d如果同时成立,则b为最小数,以此类推,所以本题实质是求a,b,c,d中的最小值.
所以,①最终输出结果是2.②实现的算法是:求a,b,c,d四个数中的最小值.
规范解答 解含参数的一元一次方程的算法与程序框图
(本题满分12分)用程序框图表示解方程ax+b=0(a,b为常数)的算法.
[解] 算法步骤如下:第一步,输入a,b的值.2分
第二步,判断a=0 ?是否成立,若成立,则执行第三步;若不成立,则令x=-,输出x,结束算法.4分
第三步,判断b=0 ?是否成立,若成立,则输出“方程的解集为R”,结束算法;若不成立,则输出“无解”,结束算法.6分
程序框图为:
[规范与警示]
?在解题过程中,若在第二步漏掉此处是否a=0时的讨论而直接得出x=-,虽然答案中也有这种可能,但结果就错了,在实际考试中最多得2分.
?处对b=0的讨论也是如此.
通过本题,我们应该注意:
(1)在解题过程中一定要准确应用等式(或不等式)的运算性质,必要时一定要分类讨论.
(2)思维一定要严谨,避免想当然的错误.
1.一个完整的程序框图中,输入、输出框的最少个数是( )
A.0 B.1
C.2 D.3
解析:选B.输入、输出框的最少个数是1.
2.下列关于程序框的功能描述正确的是( )
A.(1)是处理框;(2)是判断框;(3)是终端框;(4)是输入、输出框
B.(1)是终端框;(2)是输入、输出框;(3)是处理框;(4)是判断框
C.(1)和(3)都是处理框;(2)是判断框;(4)是输入、输出框
D.(1)和(3)的功能相同;(2)和(4)的功能相同
解析:选B.根据程序框图的规定,(1)是终端框,(2)是输入、输出框,(3)是处理框,(4)是判断框.
3.下图为计算函数y=|x|函数值的程序框图,则此程序框图中的判断框内应填________.
解析:显然当x<0或x≤0时,y=-x,故判断框内应填x≤0?(或x<0?).
答案:x≤0?(或x<0?)
4.若a>0,b>0,则如图所示的程序框图表示的算法的功能是________.(尽量具有实际意义)
解析:本题为顺序结构的算法框图,注意各个程序框的先后顺序,依据各个字母之间的关系赋予各字母以实际意义,答案不唯一.
答案:求以a,b为直角边长的直角三角形的斜边的长度c(或求第一象限内的点P(a,b)到原点(0,0)的距离)
[A.基础达标]
1.下列图形符号属于处理框(执行框)的是( )
解析:选D.处理框用矩形表示.
2.下列关于程序框图的说法正确的有( )
①用程序框图表示算法直观、形象,容易理解;
②程序框图能清楚地展现算法的逻辑结构,也就是通常所说的一图胜万言;
③在程序框图中,起止框是任何流程图不可少的;
④输入和输出框可用在算法中任何需要输入、输出的位置.
A.1个 B.2个
C.3个 D.4个
解析:选D.由程序框图可知:①②③④都正确.
3.(2015·东营高一检测)给出下面的程序框图:
若输出的结果为2,则①处的执行框内应填的是( )
A.x=2 B.b=2
C.x=1 D.a=5
解析:选C.∵b=2,∴2=a-3,即a=5.
∴2x+3=5时,得x=1.
4.(2015·广州高一检测)如图是一个算法的程序框图,已知a1=3,输出的b=7,则a2等于( )
A.9 B.10
C.11 D.12
解析:选C.由题意知该算法是计算的值.
∴=7,得a2=11,故选C.
5.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( )
A.c>x B.x>c
C.c>b D.b>c
解析:选A.变量x的作用是保 ( http: / / www.21cnjy.com )留3个数中的最大值,所以第二个判断框内语句为“c>x?”,满足“是”则交换两个变量的数值,输出x的值后结束程序,满足“否”直接输出x的值后结束程序,故选A.
6.如图所示程序框图表示的算法的运行结果是________.
解析:由题意P==9,S=
==6.
答案:6
7.写出如图所示程序框图的运行结果:S=________.
解析:S=+=2.5.
答案:2.5
8.(2015·海口高一检测)如图所示的程序框图,若a=5,则输出b=________.
解析:根据题意a=5,所以执行判断框后的“否”步骤,即b=a2+1,所以输出26.
答案:26
9.已知函数f(x)=请设计程序框图,要求输入自变量,输出函数值.
解:程序框图如图所示:
10.尺规作图,确定线段AB的一个5等分点,请你设计一个算法,并画出程序框图.
解:算法如下:
第一步,如图,从已知线段的左端点A出发,作一条射线AP;
第二步,在射线上任取一点C,得线段AC;
第三步,在射线上作线段CE=AC;
第四步,在射线上作线段EF=AC;
第五步,在射线上作线段FG=AC;
第六步,在射线上作线段GD=AC,那么线段AD=5AC;
第七步,连接DB;
第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.
程序框图如图:
[B.能力提升]
1.广东中山市的士收费办法如下: ( http: / / www.21cnjy.com )不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填( )
A.y=7+2.6x B.y=8+2.6x
C.y=7+2.6(x-2) D.y=8+2.6(x-2)
解析:选D.当x>2时,y=7+2.6(x-2)+1=8+2.6(x-2),
所以①处应填y=8+2.6(x-2).
2.若f(x)=x2,g(x)=log2x,则如图所示的程序框图中,输入x=0.25,输出h(x)=( )
A.0.25 B.2
C.-2 D.-0.25
解析:选C.h(x)取f(x)和g(x)中的较小者.
g(0.25)=log20.25=-2,
f(0.25)=0.252=.
3.某算法的程序框图如图所示,则输出量y与输入量x满足的关系式为____________.
解析:当x>1时,有y=x-2,当x≤1时,则有y=2x,
所以有分段函数y=.
答案:y=
4.定义运算a b,运算原理如图所示,则式子4 1+2 5的值等于________.
解析:a b=
则4 1+2 5=4×(1+1)+2×(5-1)=16.
答案:16
5.在新华书店里,某教辅材料每本售价14. ( http: / / www.21cnjy.com )80元,书店为促销,规定:如果顾客购买5本或5本以上,10本以下则按九折(即13.32元)出售;如果顾客购买10本或10本以上,则按八折(即11.84元)出售.请设计一个完成计费工作的程序框图.
解:程序框图:
6.(选做题)通常说一年有365天,它 ( http: / / www.21cnjy.com )表示地球围绕太阳转一周所需要的时间,但事实并不是这样简单.根据天文资料,地球围绕太阳转一周所需要的精确时间是365.242 2天,称之为天文年.这个误差看似不大,却引起季节和日历之间难以预料的大变动.在历法上规定四年一闰,百年少一闰,每四百年又加一闰.如何判断某一年是不是闰年呢?请设计一个算法,解决这个问题,并用框图描述这个算法.
解:算法步骤如下:
第一步:输入年份y.
第二步:若y能被4整除,则执行第三步,否则执行第六步.
第三步:若y能被100整除,则执行第四步,否则执行第五步.
第四步:若y能被400整除,则执行第五步,否则执行第六步.
第五步:输出“y是闰年”.
第六步:输出“y不是闰年”.
这个算法的框图为1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
1.问题导航
(1)输入语句的格式是怎样的?其功能是什么?
(2)输出语句的格式是怎样的?其功能是什么?
(3)赋值语句的格式及功能各是什么?
(4)三种语句:输入语句、输出语句、赋值语句与框图有什么对应关系?
2.例题导读
通过对例1,2的学习,学会输入语句、输出语句、赋值语句的基本结构;
通过对例3的学习,学会给一个变量重复赋值;
通过对例4的学习,学会交换两个变量的值.
1.输入语句
(1)格式:INPUT “提示内容”;变量.
(2)功能:实现算法的输入信息功能.
2.输出语句
(1)格式:PRINT “提示内容”;表达式.
(2)功能:实现算法的输出结果功能.
3.赋值语句
(1)格式:变量=表达式.
(2)功能:将表达式所代表的值赋给变量.
1.判断下列各题.(对的打“√”,错的打“×”)
(1)输入语句可以给变量赋值,并且可以同时给多个变量赋值;( )
(2)输出语句可以输出常量、变量的值和系统信息,但不能输出有关表达式的计算结果;( )
(3)赋值语句:“y=x”与“x=y”相同.( )
答案:(1)√ (2)× (3)×
2.在INPUT语句中,如果同时输入多个变量,变量之间的分隔符是( )
A.逗号 B.分号
C.空格 D.引号
解析:选A.在算法语句中,若同时输入多个变量,变量之间用逗号隔开.
3.以下程序
输出的结果为________.
解析:a=5×5+5=30.
答案:30
4.怎样理解输入语句与赋值语句的联系与区别?
解:(1)联系:输入语句与赋值语句都具有对变量赋值的功能.
(2)区别:当变量需要的数据较少或 ( http: / / www.21cnjy.com )给变量赋予算式时,用赋值语句较好;而当变量需要输入多组数据且要求程序重复使用时,使用输入语句较好,这样即使初始数据改变,也不必改变程序部分.
1.输入语句要求
(1)输入语句要求输入的值是具体的常量.
(2)“提示内容”提示用 ( http: / / www.21cnjy.com )户输入的是什么信息,必须加双引号,提示内容 “原原本本”地在计算机屏幕上显示,“提示内容”与“变量”之间要用分号隔开.
(3)一个输入语句可以给多个变量赋值,中间用“,”分隔.形式如:INPUT “a=,b=,c=”;a,b,c
2.输出语句要求
(1)表达式是指算法和程序要求输出的信息.
(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开.
(3)如同输入语句一样,输 ( http: / / www.21cnjy.com )出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.形式如:PRINT “a,b,c”;a,b,c
3.赋值语句要求
(1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的.
(2)赋值号的左右两边不能对换. ( http: / / www.21cnjy.com )赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”、“B=A”的含义运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.
(3)不能利用赋值语句进行代数式的 ( http: / / www.21cnjy.com )演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以多次赋值,且给一个变量重复赋值,变量只保存最后一次赋值.
输入、输出和赋值语句的格式
下列给出的输入、输出语句正确的是( )
①输入语句INPUT a;b;c
②输入语句INPUT x=3
③输出语句PRINT A=4
④输出语句PRINT 20,3*2
A.①② B.②③
C.③④ D.④
[解析] ①INPUT语句可以给多个 ( http: / / www.21cnjy.com )变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.
[答案] D
[互动探究] 若将例1增加两个赋值语句:⑤10=5+5;⑥6=A,判断其正误.
解:⑤错误,赋值语句的形式为:“变量=表达式”, ⑤的左边不是变量,故错误;⑥错误,写反了,应该写成“A=6”,那就是正确的赋值语句了.
方法归纳
输入语句和输出语句是计算机的最基本 ( http: / / www.21cnjy.com )的也是最基础的程序语言,必须正确理解、准确使用,这就需要准确把握它的作用和一般格式,并且要严格遵循它的一般格式,而不能有半点创新,因为计算机程序语言是十分机械的语言,当然不同程序语言有不同的格式.
1.阅读下列程序,并回答问题.
(1)
INPUT a,bc=a-bb=a+c-bPRINT a,b,cEND
(2)
INPUT A,B,CA=A+BB=B-AC=C/A*BPRINT CEND
(1)中若输入1,2,则输出的结果为________;
(2)中若输入3,2,5,则输出的结果为________.
解析:(1)阅读程序,由a=1,b=2,c=a-b可得c=-1;又根据语句b=a+c-b,可得b=-2;
所以程序运行后的结果为:1,-2,-1.
(2)阅读程序,由A=3,B=2,C=5,A=A+B,可得A=5,又根据语句B=B-A,可得B=-3,
又C=C/A*B,所以输出结果为C=-3.
答案:(1)1,-2,-1 (2)-3
利用输入、输出和赋值语句编写程序
已知A(x1,y1),B(x2,y2)是平面上两点,设计一个程序输出线段AB的中点M的横、纵坐标.
(链接教材P21例1)
[解] 程序如下:
INPUT x1,y1,x2,y2x=(x1+x2)/2y=(y1+y2)/2PRINT “点M的横坐标为:”;xPRINT “纵坐标为:”;yEND
方法归纳
(1)算术表达式所有符号只能并排地写在一行上,不能出现右上方的幂次或下方的下标如42,x2等;
(2)算术表达式中只能用圆括号,不能使用方括号或花括号,使用多重括号时应注意左右括号的配对关系;
(3)由代数式写成算术表达式时应注意保 ( http: / / www.21cnjy.com )持运算顺序不变,必要时添加括号,如可写为(A+B)/(A-B),πR3可写为4*3.141 59*R∧3/3等.
2.(1)已知直线方程为Ax+B ( http: / / www.21cnjy.com )y+C=0(A·B≠0),试编写一个程序,要求输入符合条件的A,B,C的值,输出该直线在x轴、y轴上的截距及斜率.
解:程序如下:
INPUT A,B,CM=(-C)/AN=(-C)/Bk=(-A)/BPRINT “x轴上的截距为:”;MPRINT “y轴上的截距为:”;NPRINT “斜率为:”;kEND
(2)在一次数学考试中 ( http: / / www.21cnjy.com ),小明、小亮、小强的成绩分别为a,b,c,后来发现统计错了.小亮的成绩记在了小明的名下,小强的成绩记在了小亮的名下,而小明的成绩记在小强的名下了.请设计程序更正成绩单,并输出更正后的成绩.
解:程序如下:
INPUT “更正前的成绩”;a,b,cx=aa=cc=bb=xPRINT “更正后的成绩”;a,b,cEND
算法语句与程序框图
根据如图所示的程序框图,写出相应的算法语句.
(链接教材P23例2)
[解] 算法语句如下:
INPUT “a=”;aINPUT “h=”;hS=SQR(3)*a∧2/4V=S*hC=3*aT=C*hP=T+2*SPRINT VPRINT PEND
方法归纳
由程序框图写算法语句时,对顺序结构的程序框图只需利用输入、输出、赋值语句即可完成.其中输入、输出框对应输入、输出语句,执行框对应赋值语句.
3.(1)将下列程序改为框图,并指明其作用.
INPUT x1,x2y1=2∧x1y2=2∧x2k=(y1-y2)/(x1-x2)PRINT kEND
解:程序框图如下:
作用:求过指数函数y=2x的图象上两点A(x1,y1),B(x2,y2)直线的斜率k.
(2)输入x的值,输出其平方.
①写出算法步骤;
②画出程序框图;
③编写程序.
解:①算法步骤如下:
第一步,输入x.
第二步,计算y=x2.
第三步,输出y.
②程序框图如图所示.
③编写程序如下:
易错警示 因程序编写中符号不规范致误
已知圆台的上、下底面半径和高分别为r,R,h,写出求圆台的表面积和体积的程序(π取3.14).
[解] 程序如下:
INPUT “r,R,h=”;r,R,hl=SQR(h∧2+(R-r)∧2)S=3.14*r∧2+3.14*R∧2+3.14*(r+R)*lV=3.14*h*(r∧2+R∧2+r*R)/3PRINT “圆台的表面积为:”;SPRINT “圆台的体积为:”;VEND
[错因与防范]
(1)在解题的时候一定要严格按照输入语句的格式书写,输入语句有多个变量时,中间要加“,”.
(2)赋值语句中要写为SQR(x),不要用手写形式.
(3)除以3要用标准符号语言“/3”.
4.(1)试设计已知底面半径R和高H,求圆柱体表面积的程序(取π=3.141 59).
解:程序如下:
INPUT “R,H=”;R,HA=2*3.141 59*R*HB=3.141 59*R∧2S=A+2*BPRINT SEND
(2)随着社会经济的高速发展,人口问题 ( http: / / www.21cnjy.com )已经成为制约社会经济发展的一个重要因素.试设计一个程序,满足以下条件:我国现有人口数为P,人口的自然增长率为R,预测T年之后人口总数是多少?
解:程序如下:
INPUT “我国现有人口数为:”;PINPUT “人口的自然增长率为:”;RINPUT “预测时间为(年):”;TM=(1+R)∧TN=P*MPRINT “预测人口总数是:”;NEND
1.赋值语句N=N+1的意义是( )
A.N等于N+1
B.N+1等于N
C.将N的值赋给N+1
D.将N的原值加1再赋给N,即N的值增加1
解析:选D.赋值语句N=N+1的意义是:将N的原值加1再赋给N,即N的值增加1.
2.下列赋值语句正确的是( )
A.S=S+i2 B.A=-A
C.x=2x+1 D.P=
解析:选B.在程序语句中乘方要用 ( http: / / www.21cnjy.com )“∧ ”表示,所以A不正确;乘号“*”不能省略,所以C不正确;D选项中应用SQR(x)表示,所以D不正确;B选项是将变量A的相反数赋给变量A,则B正确.
3.当输入“3”后,输出的结果为( )
INPUT “请输入x=”;xy=xx=y+1x=x+1PRINT xEND
A.5 B.4
C.3 D.6
解析:选A.程序中只有两个变量x,y.当程序顺次执行时,先有y=3,再有x=4,x=5,故最后输出的x值为5.
4.阅读下列两个程序,回答问题.
(1)上述两个程序的运行结果是①________;②________.
(2)上述两个程序中的第三行有什么区别:________.
解析:(1)①中运行x=3,y=4,x=4,故运行结果是4,4;同理,②中的运行结果是3,3;
(2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3.
答案:(1)①4,4 ②3,3
(2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3
[A.基础达标]
1.利用输入语句可以给多个变量赋值,下面能实现这一功能的语句是( )
A.INPUT “A,B,C”a,b,c
B.INPUT “A,B,C=”;a,b,c
C.INPUT a,b,c;“A,B,C”
D.PRINT “A,B,C”;a,b,c
解析:选B.提示内容与输入内容之 ( http: / / www.21cnjy.com )间要用“;”隔开,故A错;提示内容在前,输入内容在后,故C错;输入语句用“INPUT”而非“PRINT”,故D错.
2.(2015·安阳高一检测)下列给出的赋值语句中正确的是( )
A.x+3=y-2 B.d=d+2
C.0=x D.x-y=5
解析:选B.根据赋值语句 ( http: / / www.21cnjy.com )特点可知,赋值号左边应该是一个变量,不能是常数或多个变量,更不能带有运算,故A,C,D错误.B项含义是把d+2的值赋给d,是正确的.
3.下面的程序输出的结果是( )
A.27 B.9
C.2+25 D.11
解析:选D.该程序的运行过程是
x=6,
y=3,
x=6÷3=2,
y=4×2+1=9,
x+y=2+9=11.
所以输出11.
4.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确的一组是( )
A. B.
C. D.
解析:选B.由赋值语句的意义知B正确.
5.程序输出的结果A是( )
INPUT “A=”;1A=A*2A=A*3A=A*4A=A*5PRINT AEND
A.5 B.6
C.15 D.120
解析:选D.该程序输出的结果为A=1×2×3×4×5=120.
6.以下程序运行时输出的结果是________.
解析:根据赋值语句,当A=3时 ( http: / / www.21cnjy.com ),先把A*A=3×3=9的值赋给B,即B=9,再把2*A+B=2×3+9=15的值赋给A,即A=15,最后再把B-A=9-15=-6的值赋给B,即B=-6.
答案:15,-6
7.(2015·郑州高一检测)下面一段程序执行后的结果是________.
解析:执行第2句时A=2×2=4,
执行第3句时A=4+6=10.
答案:10
8.读如下两个程序,完成下列题目.
(1)程序(1)的运行结果为________.
(2)若程序(1),(2)运行结果相同,则程序(2)输入的x的值为________.
解析:赋值语句给变量赋值时,变 ( http: / / www.21cnjy.com )量的值总是最后一次所赋的值,故程序(1)中x的值最后为6.要使程序(2)中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.
答案:(1)6 (2)0
9.2015年春节期间,某水果店的 ( http: / / www.21cnjy.com )三种水果标价分别为香蕉:2元/千克,苹果:3元/千克,梨:2.5元/千克.请你设计一个程序,以方便店主的收款.
解:程序如下:
INPUT a,b,cx=2*ay=3*bz=2.5*cS=x+y+zPRINT SEND
10.某市2014年1~12月的产值分别 ( http: / / www.21cnjy.com )是3.8,4.2,5.3,6.1,6.4,5.6,4.8,7.3,4.5,6.4,5.8,4.7(单位:亿元),试设计一个可计算出该市2014年各季度的月平均产值及2014年的月平均产值的程序.
解:程序如下:
INPUT a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3S1=a1+a2+a3S2=b1+b2+b3S3=c1+c2+c3S4=d1+d2+d3V1=S1/3V2=S2/3V3=S3/3V4=S4/3V=(S1+S2+S3+S4)/12PRINT V1,V2,V3,V4,VEND
[B.能力提升]
1.“x=3*5”,“x=x+1”是某一程序先、后相邻的两个语句,那么下列说法正确的是( )
①x=3*5的意思是x=3×5=15.此式与算术中的式子是一样的;
②x=3*5是将数值15赋给x;
③x=3*5可以写为3*5=x;
④x=x+1语句在执行时“=”右边x的值是15,执行后左边x的值是16.
A.①③ B.②④
C.①④ D.②③
解析:选B.赋值语句中的“=”与算术中的“=”是不一样的,式子两边的值也不能互换,从而只有②④正确,故选B.
2.给出下列程序:
INPUT “实数:”;x1,y1,x2,y2a=x1-x2m=a∧2b=y1-y2n=b∧2s=m+nd=SQR(s)PRINT dEND
此程序的功能为( )
A.求点到直线的距离
B.求两点之间的距离
C.求一个多项式函数的值
D.求输入的值的平方和
解析:选B.输入的四个实数可作为 ( http: / / www.21cnjy.com )两个点的坐标.程序中的a,b分别表示两个点的横、纵坐标之差,而m,n分别表示两点横、纵坐标之差的平方;s是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离.
3.下面程序的运行结果为________.
a=2b=3c=4a=bb=c+2c=b+4d=(a+b+c)/3PRINT dEND
解析:程序执行的过程为:a=2,b=3,c=4→a=3→b=4+2=6→c=6+4=10→d=(3+6+10)=,输出.
答案:
4.下面程序的功能是求所输入的两个正数 ( http: / / www.21cnjy.com )的平方和,已知最后输出的结果是3.46,则此程序中,①处应填________;②处应填________.
INPUT “x1=”;1.1INPUT “x2=”;①S=②PRINT SEND
解析:由于程序的功能是求所输入的两个正数 ( http: / / www.21cnjy.com )的平方和,所以S=x+x,由于最后输出的数是3.46,所以3.46=1.12+x,即x=2.25,又x2>0,所以x2=1.5.
答案:1.5 x1∧2+x2∧2
5.中秋节到了,糕点店的售货 ( http: / / www.21cnjy.com )员很忙,请设计一个程序,帮助售货员算账,已知豆沙馅的月饼每千克25元,蛋黄馅的月饼每千克35元,莲蓉馅的月饼每千克30元,那么依次购买这三种月饼a、b、c千克,应收多少钱?
解:程序如下:
INPUT “a=”;aINPUT “b=”;bINPUT “c=”;cy=a*25+b*35+c*30PRINT “应收糕点钱”;yEND
6.(选做题)已知函数f(x)=x2-1,g(x)=3x+5.用算法语句表示求f[g(2)]+g[f(3)]的值的算法.
解:程序如下:
x=2g=3*x+5f=g∧2-1y1=fx=3f=x∧2-1g=3*f+5y2=gy=y1+y2PRINT yEND1.1 算法与程序框图
1.1.1 算法的概念
1.问题导航
(1)我国古代盛行一时的计算工具是什么?
(2)求解一般的二元一次方程组分几个步骤?
(3)请同学们总结算法的特征是什么?
(4)怎样判断整数n(n>2)是否为质数?
2.例题导读
通过对例1的学习,学会写判断一个大于1的整数n是否为质数的最基本算法;
通过对例2的学习,学会写求任意一个方程的近似解的算法.
通过以上两例,体会到算法具有以下特性:①有穷性;②确定性;③有序性;④不唯一性;⑤普遍性.
1.算法的概念
12世纪的算法 指的是用阿拉伯数字进行算术运算的过程.
数学中的算法 通常是指按照一定规则解决某一类问题的明确和有限的步骤.
现代算法 通常可以编成计算机程序,让计算机执行并解决问题.
2.设计算法的目的
计算机解决任何问题都要依赖于算法,只有将 ( http: / / www.21cnjy.com )解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
1.判断下列各题.(对的打“√”,错的打“×”)
(1)算法就是某个问题的解决过程;( )
(2)算法执行后可以不产生确定的结果;( )
(3)解决某类问题的算法是唯一的.( )
解析:算法是某一类问题的解决步骤,不是某个问题的解决过程,它的每一步是确定的,产生的结果也是确定的.
答案:(1)× (2)× (3)×
2.下列语句表达的是算法的有( )
①拨本地电话的过程为:?1?提起话筒;?2?拨号;?3?等复话信号;?4?开始通话或挂机;?5?结束通话;
②利用公式V=Sh计算底面积为3,高为4的三棱柱的体积;
③x2-2x-3=0;
④求所有能被3整除的正数,即3,6,9,12,….
A.①② B.①②③
C.①②④ D.①②③④
解析:选A.算法通常是指按照一定规则解决某 ( http: / / www.21cnjy.com )一类问题的明确和有限的步骤.①②都各表达了一种算法;③只是一个纯数学问题,不是一个明确步骤;④的步骤是无穷的,与算法的有穷性矛盾.
3.输入一个x值,利用y=|x-1|求函数值的算法如下,请将所缺部分补充完整:
第一步:输入x;
第二步:________;
第三步:当x<1时,计算y=1-x;
第四步:输出y.
解析:以x-1与0的大小关系为分类准则知第二步应填当x≥1时,计算y=x-1.
答案:当x≥1时,计算y=x-1
4.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
(链接教材P5练习1)
解:算法步骤:
第一步,给定一个正实数r;
第二步,计算以r为半径的圆的面积S=πr2;
第三步,得到圆的面积S.
算法就是解决问题的步骤,平时无论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言.
写算法应注意以下几点:
1.写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;…),并且能够重复使用.
2.要使算法尽量简单、步骤尽量少.
3.要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的.
算法的概念
以下关于算法的说法正确的是( )
A.描述算法可以有不同的方式,可用自然语言也可用其他语言
B.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题
C.算法过程要一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步或无限步后能得出结果
D.算法要求按部就班地做,每一步可以有不同的结果
[解析] 算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或计算序列能够解决一类问题,故B不正确.
算法过程要一步一步执行,每一步执行操作,必须确切,只能有唯一结果,而且经过有限步后,必须有结果输出后终止,故C、D都不正确.
描述算法可以有不同的语言形式,如自然语言、框图语言等,故A正确.
[答案] A
方法归纳
(1)算法有如下特点:确定性、有序性、有穷性、普遍性、不唯一性.
(2)算法实际上就是解决问题的一种程序化方 ( http: / / www.21cnjy.com )法,它通常是指解决某一类问题,而解决的过程是程序性和构造性的,正确理解算法的概念和特点是解决此类问题的关键.
1.下列语句表述为算法的是( )
①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;
②利用公式S=ah计算底为1,高为2的三角形面积;
③x>2x+4;
④求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.
A.①②③ B.①③④
C.①②④ D.②③④
解析:选C.算法是解决问题的步骤与过程,这个问题并不仅仅限于数学问题,①②④都表达了一种算法.
计算类问题的算法设计
写出解方程x2-2x-3=0的一个算法.
[解] 法一:算法如下.
第一步 将方程左边因式分解,得(x-3)(x+1)=0;①
第二步 由①得x-3=0,②或x+1=0;③
第三步 解②得x=3,解③得x=-1.
法二:算法如下.
第一步 移项,得x2-2x=3;①
第二步 ①式两边同时加1并配方,得(x-1)2=4;②
第三步 ②式两边开方,得x-1=±2;③
第四步 解③得x=3或x=-1.
法三:算法如下.
第一步 计算方程的判别式并判断其符号Δ=(-2)2+4×3=16>0;
第二步 将a=1,b=-2,c=-3,代入求根公式x1,x2=,得x1=3,x2=-1.
方法归纳
本题体现了算法的不唯一性, ( http: / / www.21cnjy.com )比较以上三个算法,可以看出法三中的算法最简单、步骤最少,并且具有通用性.因此,在设计算法时,首先考虑是否有公式可用,利用公式解决问题是最理想的方法;其次要综合各方面的因素,选择一种较好的算法.
2.(1)已知平面直角坐标系中点A(-2,0),B(3,1),写出求直线AB方程的一个算法.
解:法一:算法如下.
第一步 求出直线AB的斜率k==;
第二步 选定A(-2,0),用点斜式写出直线AB的方程y-0=[x-(-2)];
第三步 将第二步的运算结果化简,得到方程x-5y+2=0.
法二:算法如下.
第一步 设直线AB的方程为y=kx+b;
第二步 将A(-2,0),B(3,1)代入第一步设出的方程,得到
第三步 解第二步所得的方程组,得到k=,b=;
第四步 把第三步得到的结果代入第一步所设的方程中,得到y=x+;
第五步 将第四步所得的结果整理,得到方程x-5y+2=0.
(2)已知球的表面积为16π,写出求球的体积的一个算法.
解:法一:第一步,取S=16π.
第二步,计算R=(由于S=4πR2).
第三步,计算V=πR3.
第四步,输出运算结果.
法二:第一步,取S=16π.
第二步,计算V=π( )3.
第三步,输出运算结果.
非计算类问题的算法设计
请你设计一个算法,找出a,b,c,d四个互不相同的数中的最小值.
[解] 算法如下:
第一步,定义最后求得的最小数为 min,使 min=a.
第二步,如果b<min,则min=b;如果b>min,则 min=原 min.
第三步,如果c<min,则 min=c;如果c>min,则 min=原 min.
第四步,如果d<min,则 min=d;如果d>min,则 min=原 min.
第五步,输出 min,则 min就是a、b、c、d中的最小值.
[互动探究] 本例若改为求a、b、c、d四个互不相同的数中的最大值,设计一个算法.
解:算法如下:
第一步,定义最后求得的最大数为 max,使max=a.
第二步,如果b>max,则 max=b;如果b<max,则 max=原 max.
第三步,如果c>max,则 max=c;如果c<max,则 max=原 max.
第四步,如果d>max,则 max=d;如果d<max,则 max=原 max.
第五步,输出 max,则 max就是a、b、c、d中的最大者.
方法归纳
算法原理与平时的解题原理不能等同,要注 ( http: / / www.21cnjy.com )意两者之间的区别.在设计此题算法时,每一步都必须是比较两个数的大小,直至找到众多数中的最小(大)者为止.
3.(1)早上从起床到出门需要洗脸 ( http: / / www.21cnjy.com )刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程.则下列选项中最好的一种算法是( )
A.S1洗脸刷牙;S2刷水壶;S3烧水;S4泡面;S5吃饭;S6听广播
B.S1刷水壶;S2烧水同时洗脸刷牙;S3泡面;S4吃饭;S5听广播
C.S1刷水壶;S2烧水同时洗脸刷牙;S3泡面;S4吃饭同时听广播
D.S1吃饭同时听广播;S2泡面;S3烧水同时洗脸刷牙;S4刷水壶
解析:选C.因为A选项共用时间36 min,B选项共用时间31 min,C选项共用时间23 min,D选项的算法步骤不符合常理.
(2)假如你要乘火车去外地办事,请 ( http: / / www.21cnjy.com )写出从自己房间出发到坐在车厢内的主要三步:第一步:________;第二步:________;第三步:________.
答案:去火车站 买火车票 凭票上车、对号入座
规范解答 求分段函数的函数值
(本题满分12分)已知函数
y=
试设计一个算法,输入x的值,求对应的函数值.
[解] 算法如下:
第一步,输入x;?2分
第二步,当x≤-1时,计算y=2x-1,否则执行第三步;?5分
第三步,当x<2时,计算y=log3(x+1),否则执行第四步;8分
第四步,计算y=x4;10分
第五步,输出y.12分
[规范与警示]
?在解题过程中注意输入及输出语句.
?分段函数求函数值的算法要注意运用分类讨论的思想,本步是整个解题的关键所在.
(1)算法步骤一定要完整、清晰.对算法的特征 ( http: / / www.21cnjy.com )理解不全面,认为直接判断x的值即可,从而缺少输入语句;或求出y的值就算完成了算法.实际上,任何一个算法必须有输入、输出语句,才能得到所需的数据或结果.
(2)分段函数求函数值的算法要运用分类讨论思想进行设计,一定要对算法中可能遇到的情况考虑周全,满足与不满足都要有相应的步骤.
1.在用二分法求方程零点的算法中,下列说法正确的是( )
A.这个算法可以求方程所有的零点
B.这个算法可以求任何方程的零点
C.这个算法能求方程所有的近似零点
D.这个算法并不一定能求方程所有的近似零点
解析:选D.二分法求方程零点的算法中,仅能求方程的一些特殊的近似零点(满足函数零点存在性定理的条件),则D正确.
2.已知一个学生的语文成绩为89分,数学成绩为96分,外语成绩为99分,求他的总分和平均成绩的一个算法为:
第一步,取A=89,B=96,C=99.
第二步,________.
第三步,________.
第四步,输出计算结果.
解析:要计算平均分,应先计算出三科的总分.第二步应为:计算总分D=A+B+C.第三步应为:计算平均成绩E=.
答案:计算总分D=A+B+C 计算平均成绩E=
3.下面给出一个问题的算法:
第一步,输入a.
第二步,若a≥4,则执行第三步;否则,执行第四步.
第三步,输出2a-1;
第四步,输出a2-2a+3.
则这个算法解决的问题是________,当输入的a=________时,输出的数值最小.
解析:这个算法解决的问题是求分段函数
f(x)=的函数值的问题.
当x≥4时, f(x)=2x-1≥7;
当x<4时, f(x)=x2-2x+3=(x-1)2+2≥2.
∴f(x)min=2,此时x=1.
∴当输入的a的值为1时,输出的数值最小.
答案:求分段函数f(x)=的函数值 1
[A.基础达标]
1.下列关于算法的说法错误的是( )
A.一个算法的步骤是可逆的
B.描述算法可以有不同的方式
C.设计算法要本着简单方便的原则
D.一个算法不可以无止境地运算下去
解析:选A.由算法定义可知B、C、D对,A错.
2.下列可以看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
解析:选A.A是学习数学的一个步骤,所以是算法.
3.阅读下面的四段话,其中不是算法的是( )
A.求1×2×3的值,先计算1×2=2,再计算2×3=6,最终结果为6
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-1=0有两个实数根
D.求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15
解析:选C.A、B、D中,都是解决问题的步骤,则A、B、D是算法.
4.(2015·东营高一检测)一个算法步骤如下:
S1,S取值0,i取值1;
S2,如果i≤10,则执行S3,否则执行S6;
S3,计算S+i并将结果代替S;
S4,用i+2的值代替i;
S5,转去执行S2;
S6,输出S.
运行以上步骤后输出的结果S=( )
A.16 B.25
C.36 D.以上均不对
解析:选B.由以上计算可知:S=1+3+5+7+9=25,答案为B.
5.有如下算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否为2.若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到n-1检验能不能整除n,若不能整除,则n满足条件.
则上述算法满足条件的n是( )
A.质数 B.奇数
C.偶数 D.约数
解析:选A.根据质数、奇数、偶数、约数的定义可知,满足条件的n是质数.
6.下列各式中S的值不能用算法求解的是________.
①S=12+22+32+42+…+1002;
②S=++++…+;
③S=1+2+3+4+5+…;
④S=1-2+3-4+5-6+…+99-100.
解析:根据算法的有限性知③不能用算法求解.
答案:③
7.写出作y=|x|图象的算法.
第一步,当x>0时,作出第一象限的角平分线.
第二步,当x=0时,即为原点.
第三步,________________________.
解析:依据算法解决的问题知,第三步应为“当x<0时,作出第二象限的角平分线”.
答案:当x<0时,作出第二象限的角平分线
8.如下算法:
第一步,输入x的值;
第二步,若x≥0,则y=x;
第三步,否则,y=x2;
第四步,输出y的值.
若输出的y值为9,则x=________.
解析:根据题意可知,此为求分段函数y=函数值的算法,当x≥0时,x=9;当x<0时,x2=9,所以x=-3.
答案:9或-3
9.写出求方程组的解的算法.
解:法一:第一步,①-②得:2x=14+2; ③
第二步,解方程③得:x=8; ④
第三步,将④代入②得:8+2y=-2; ⑤
第四步,解⑤得:y=-5;
第五步,得到方程组的解为.
法二:第一步,由②式移项可得:x=-2-2y; ③
第二步,把③代入①得:y=-5; ④
第三步,把④代入③得:x=8;
第四步,得到方程组的解为.
10.试设计一个判断圆(x-a)2+(y-b)2=r2和直线Ax+By+C=0位置关系的算法.
解:第一步,输入圆心的坐标(a,b)、直线方程的系数A、B、C和半径r.
第二步,计算z1=Aa+Bb+C.
第三步,计算z2=A2+B2.
第四步,计算d=.
第五步,如果d>r,则输出“相离”;如果d=r,则输出“相切”;如果d[B.能力提升]
1.(2015·青岛质检)结合下面的算法:
第一步,输入x.
第二步,判断x是否小于0,若是,则输出x+2,否则执行第三步.
第三步,输出x-1.
当输入的x的值为-1,0,1时,输出的结果分别为( )
A.-1,0,1 B.-1,1,0
C.1,-1,0 D.0,-1,1
解析:选C.根据x值与0的关系选择执行不同的步骤.
2.对于求18的正因数,给出下面的两种算法:
算法1:
第一步,1是18的正因数,将1列出.
第二步,2是18的正因数,将2列出.
第三步,3是18的正因数,将3列出.
第四步,4不是18的正因数,将4剔除.
…
第十八步,18是18的正因数,将18列出.
算法2:
第一步,18=2×9.
第二步,18=2×32.
第三步,列出所有的正因数1,2,3,32,2×3,2×32.
则这两个算法( )
A.都正确
B.算法1正确,算法2不正确
C.算法1不正确,算法2正确
D.都不正确
解析:选A.算法1是用1~18的整数逐一验证,得出的正因数.算法2利用因数分解得到18的正因数.两种算法都正确.故选A.
3.求过P(a1,b1)、Q(a2,b2)两点的直线斜率有如下的算法,请将算法补充完整:
S1 取x1=a1,y1=b1,x2=a2,y2=b2.
S2 若x1=x2,则输出斜率不存在;否则,________.
S3 输出计算结果k或者无法求解信息.
解析:根据直线斜率公式可得此步骤.
答案:k=
4.一个人带着三只狼和三只 ( http: / / www.21cnjy.com )羚羊过河,只有一条船,该船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人将动物转移过河的算法如下.请在横线上填上适当的步骤:
第一步,人带两只狼过河,并自己返回.
第二步,人带一只狼过河,自己返回.
第三步,________________________________________________________________________.
第四步,人带一只羚羊过河,自己返回.
第五步,人带两只狼过河.
解析:因为没有人在的时候,狼的数量应少于羚羊的数量,因此第三步人应带两只羚羊过河,且再带回两只狼.
答案:人带两只羚羊过河,并带两只狼返回
5.国际奥委会宣布2020年夏季奥运会 ( http: / / www.21cnjy.com )主办城市为日本的东京;据《中国体育报》报道:对参与竞选的5个夏季奥林匹克运动会申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后进行第二轮投票;如果第二轮投票仍没选出主办城市,将进行第三轮投票,如此重复投票,直到选出一个主办城市为止,写出投票过程的算法.
解:算法如下:
第一步,投票.
第二步,统计票数,如果一个城市得票数超过总票数的一半,那么该城市就获得主办权,否则淘汰得票数最少的城市转第一步.
第三步,宣布主办城市.
6.(选做题)“韩信点兵”问题:韩信是 ( http: / / www.21cnjy.com )汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.
解:第一步,首先确定最小的满足除以3余2的正整数:2.
第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,….
第三步,在上列数中确定最小的满足除以5余3的正整数:8.
第四步,然后在自然数内在8的基础上依次加上15,得到8,23,38,53,….
第五步,在上列数中确定最小的满足除以7余4的正整数:53.
即士兵至少有53人.第2课时 循环结构
1.问题导航
(1)什么是循环结构、循环体?
(2)循环结构可细分为哪两类?它们有什么相同点和不同点?
(3)什么情况下,可以使用循环结构?
(4)循环结构与条件结构有什么关系?
2.例题导读
通过对例6的学习,学会当 ( http: / / www.21cnjy.com )算法过程中包含重复存在的步骤时,可以用循环结构表示,同时学会循环结构的两类表示:一类是当型循环结构,另一类是直到型循环结构;
通过对例7的学习,学会按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.
1.循环结构的概念及相关内容
(1)循环结构:按照一定的条件反复执行某些步骤的情况.
(2)循环体:反复执行的步骤.
2.循环结构的分类及特征
名称 直到型循环 当型循环
结构
特征 先执行循环体,后判断条件,若条件不满足,就继续执行循环体,直到条件满足时终止循环. 先判断条件,若条件满足,则执行循环体,否则终止循环.
1.判断下列各题.(对的打“√”,错的打“×”)
(1)程序框图中的循环可以是无尽的循环;( )
(2)循环结构是在一些算法中从某处开始按照一定条件,反复执行某一处理步骤,故循环结构中一定包含条件结构;( )
(3)循环结构中不一定包含条件结构.( )
解析:程序框图中的循环,必须是有限循环;循环结构一定包含条件结构.
答案:(1)× (2)√ (3)×
2.下面的框图是循环结构的是( )
A.①② B.②③
C.③④ D.②④
解析:选C.由循环结构的特点知③④是循环结构,其中①是顺序结构,②是条件结构.
3.运行如图所示的程序框图,输出的结果为________.
解析:n=1;S=1+0 ( http: / / www.21cnjy.com )=1,n=2;S=3,n=3;S=6,n=4;S=10,n=5;S=15,n=6;S=21,n=7;S=28,n=8.
答案:28
4.举例说明循环结构适用哪些常见的计算?
解:循环结构主要用在一些有规律的重复计算中,如累加求和,累乘求积等问题.
1.算法的基本逻辑结构有三种,即顺序 ( http: / / www.21cnjy.com )结构、条件结构和循环结构.其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达.
2.两种循环结构的相同点:从两种不同形式的循环结构可以看出,循环结构中一定包含条件结构,用于确定何时终止执行循环体.
3.如果算法问题里涉及的运算进行了许多 ( http: / / www.21cnjy.com )次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量等,特别要求条件的表述要恰当、精确.
循环结构程序框图的设计
设计一个算法,求13+23+…+993+1003的值,并画出程序框图.
(链接教材P13例6)
[解] 算法如下:
第一步,使S=0.
第二步,使I=1.
第三步,使S=S+I3.
第四步,使I=I+1.
第五步,若I≤100,则返回第三步;否则,输出S,算法结束.
程序框图如图所示.
方法归纳
(1)如果算法问题中涉及的运算进行了多次重复的操作,且先后参与运算的数之间有相同的变化规律,就可以利用循环结构设计算法解决.
(2)本题易错点是初始值与计数变量的取值 ( http: / / www.21cnjy.com );在循环结构中,要注意根据条件设计合理的计数变量、累加变量和累乘变量等,条件的表述一定要恰当、精确,累加变量的初始值一般取0,而累乘变量的初始值一般取1.
1.(1)如图所示程序框图输出的结果是( )
A.8 B.9
C.10 D.11
解析:选D.当i=11时,不满足条件即输出.
(2)设计求1×2×3×4×…×2 015的程序框图.
解:程序框图如图所示:
利用循环结构求满足条件的数值
求满足1++++…+>2的最小正整数n,写出算法,并画出程序框图.
[解] 算法如下:第一步,S=0;
第二步,i=1;
第三步,S=S+;
第四步,i=i+1;
第五步,若S>2,则输出i-1,否则返回第三步,循环结束.
程序框图如图所示:
[互动探究] 若将本例中的改为,其他条件与结论都不变,那么,算法与程序框图需要怎样变化?
解:算法与程序框图中,都将“S=S+”改为“S=S+”.
方法归纳
求满足条件的最值问题的实质及注意事项:
(1)实质:利用计算机的快速运算功能,对所有满足条件的变量逐一测试,直到产生第一个(不)满足条件的值时结束循环.
(2)注意事项:
①要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环次数.
②要注意要统计的数出现的次数与循环次数的区别.
③要特别注意判断框中循环变量的取值限制,是“>”“<”还是“≥”“≤”,它们的意义是不同的.
2.(1)某程序框图如图所示,则该程序的算法功能是________.
解析:由程序框图可知,输出的i是满足1×3×5×7×…×n>50 000的最小正整数n.
答案:求满足1×3×5×7×…×n>50 000的最小正整数n
(2)已知1+2+3+4+…+i≤200,画出求i的最大值的程序框图.
解:程序框图如图所示.
循环结构的实际应用
某工厂2014年生产小轿车200万辆,技术革新后预计每年的生产能力比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法,并画出相应的程序框图.
[解] 算法如下:
第一步,令n=0,a=200,r=0.05;
第二步,T=ar(计算年增量);
第三步,a=a+T(计算年产量);
第四步,如果a≤300,那么n=n+1,返回第二步;否则执行第五步;
第五步,N=2014+n;
第六步,输出N.
程序框图如图所示:
方法归纳
(1)在解决实际问题时,关键是读懂题目 ( http: / / www.21cnjy.com ),建立合适的模型,找到问题的计算公式.例如本题中T=200(1+5%)n.然后再去设计算法,画出程序框图.
(2)设计一个程序框图算法的一般步骤:
①用自然语言表述算法步骤;
②确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到表示该步骤的程序框图;
③将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图.
3.(1)小红今年12岁,她父亲比她大25岁,设计程序框图,计算出几年后她父亲比她的年龄大一倍,那时他们两人的年龄各是多少?
解:程序框图如图所示.
(2)某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下列问题:
①写出该城市人口数y(万人)与年份x(年)的函数关系式;
②用流程图表示如下算法:计算大约多少年以后该城市人口将达到120万人.
解:①y=100(1+1.2%)x;
②程序框图如图:
易错警示 忽视初始值以及循环终止条件致误
画出求S=14+24+34+…+104的程序框图.
[解] 程序框图如图所示:
[错因与防范]
(1)本题易出现累加和S的初始值为1,循环终止条件为i<10的错误.
(2)循环结构中对循环次数的控制非常关键,它直接影响着运算的结果.
(3)控制循环次数要引入循环变量,其取值如何限制,要弄清两个问题:一是需要运算的次数;二是循环结构的形式,是“当型”还是“直到型”.
4.(1)(2014·高考重庆卷)执行如图所示的程序框图,则输出s的值为( )
A.10 B.17
C.19 D.36
解析:选C.开始s=0,k=2;
第一次循环s=2,k=3;
第二次循环s=5,k=5;
第三次循环s=10,k=9;
第四次循环s=19,k=17,
不满足条件,退出循环,输出s=19.故选C.
(2)给出30个数:1,2,4,7,…,其规 ( http: / / www.21cnjy.com )律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,以此类推,要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),请在图中判断框①处和执行框②处填上合适的语句,使之能完成该题算法功能.
解:该算法使用了当型循环结构. ( http: / / www.21cnjy.com )因为是求30个数的和,故循环体应执行30次,其中i是计数变量.因此判断框内的条件应该用来限制计数变量i,故应填写i≤30?.算法中的变量p表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i+1个数比其前一个数大i,故应有p=p+i.
即:①处应填i≤30?;②处应填p=p+i.
1.如图所示的程序框图中,语句“S=S×n”将被执行的次数是( )
A.4 B.5
C.6 D.7
解析:选B.由程序框图知:
S=1×2×3×…×n.
又1×2×3×4×5=120<200,
1×2×3×4×5×6=720>200.
故语句“S=S×n”被执行了5次.
2.如图所示的程序框图表示的算法功能是( )
A.计算小于100的奇数的连乘积
B.计算从1开始的连续奇数的连乘积
C.从1开始的连续奇数的连乘积,当乘积大于或等于100时,计算奇数的个数
D.计算1×3×5×…×n≥100时的最小的n值
解析:选D.这是一个直到型循环结构 ( http: / / www.21cnjy.com ),S=1×3×5×…,判断条件是S≥100?,输出的是i,所以表示的是S=1×3×5×…×n≥100时的最小的n值,故选D.
3.如图所示的程序框图的输出结果为-18,那么在判断框中①表示的条件应该是( )
A.i≥9 B.i≥8
C.i≥7 D.i≥6
解析:选A.当S=6,i=1时,m=-2×1+6=4,S=6+4=10;
当i=2时,m=-2×2+6=2,S=10+2=12;
当i=3时,m=-2×3+6=0,S=0+12=12;
当i=4时,m=-2×4+6=-2,S=-2+12=10;
当i=5时,m=-2×5+6=-4,S=-4+10=6;
当i=6时,m=-2×6+6=-6,S=-6+6=0;
当i=7时,m=-2×7+6=-8,S=-8+0=-8;
当i=8时,m=-2×8+6=-10,S=-10-8=-18.
故判断条件为:i≥9?,故选A.
4.(2014·高考江苏卷)如图是一个算法流程图,则输出的n的值是________.
解析:由算法流程图可知:
第一次循环:n=1,2n=2<20,不满足要求,进入下一次循环;
第二次循环:n=2,2n=4<20,不满足要求,进入下一次循环;
第三次循环:n=3,2n=8<20,不满足要求,进入下一次循环;
第四次循环:n=4,2n=16<20,不满足要求,进入下一次循环;
第五次循环:n=5,2n=32>20,满足要求,输出n=5.
答案:5
[A.基础达标]
1.一个完整的程序框图至少包含( )
A.起止框和输入、输出框
B.起止框和处理框
C.起止框和判断框
D.起止框、处理框和输入、输出框
解析:选A.一个完整的程序框图至少包括起止框和输入、输出框,故选A.
2.(2015·安徽巢湖检测)如图所示是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
解析:选D.①为循环变量初始化,必须先赋值才能有效控制循环,不可省略.故选D.
3.执行如图所示的程序框图,输出的S值为( )
A.2 B.4
C.8 D.16
解析:选C.框图执行如下:k=0,S=1;S=1,k=1;S=2,k=2;S=8,k=3.所以输出S的值为8.
4.(2014·高考安徽卷)如图所示,程序框图(算法流程图)的输出结果是( )
A.34 B.55
C.78 D.89
解析:选B.当输入x=1,y=1,执行z=x+y及z≤50,x=y,y=z后,
x,y,z的值依次对应如下:
x=1,y=1,z=2;
x=1,y=2,z=3;
x=2,y=3,z=5;
x=3,y=5,z=8;
x=5,y=8,z=13;
x=8,y=13,z=21;
x=13,y=21,z=34;
x=21,y=34,z=55.
由于55≤50不成立,故输出55.故选B.
5.执行如图所示的程序框图,若m=5,则输出的结果为( )
A.4 B.5
C.6 D.8
解析:选B.由程序框图可知,k=0,P=1.
第一次循环:因为k=0<5,所以P=1×30=1,k=0+1=1.
第二次循环:因为k=1<5,所以P=1×31=3,k=1+1=2.
第三次循环:因为k=2<5,所以P=3×32=33,k=2+1=3.
第四次循环:因为k=3<5,所以P=33×33=36,k=3+1=4.
第五次循环:因为k=4<5,所以P=36×34=310,k=4+1=5.
此时满足判断框内的条件,输出结果为z=log9 310=5.故选B.
6.(2014·高考天津卷)阅读如图所示的框图,运行相应的程序,输出S的值为________.
解析:S=0,n=3,S=0+(-2)3=-8,
n=3-1=2≤1不成立;
故S=-8+(-2)2=-4,
n=2-1=1≤1成立.
故输出S的值为-4.
答案:-4
7.(2015·临沂调研)如果执行如图所示的程序框图,输入x=4.5,则输出的数i=________.
解析:第一次执行循环体时,i=1,x=3.5;
第二次执行循环体时,i=2,x=2.5;
第三次执行循环体时,i=3,x=1.5;
第四次执行循环体时,i=4,x=0.5<1.
输出i=4,结束.
答案:4
8.执行如图所示的程序框图,若输出的a值大于2 015,那么判断框内的条件应为________.
解析:第一次循环:k=1,a=1,满足条件,所以a=4×1+3=7,k=1+1=2.
SGKS87第二次循环:a=7<2 015,故继续循环,所以a=4×7+3=31,k=2+1=3.
第三次循环:a=31<2 015,故继续循环,所以a=4×31+3=127,k=3+1=4.
第四次循环:a=127<2 015,故继续循环,所以a=4×127+3=511,k=4+1=5.
第五次循环:k=511<2 015,故继续循环,所以a=4×511+3=2 047,k=5+1=6.
由于a=2 047>2 015,故不符合条件,输出a值.所以判断框内的条件是“k≤5?”.
答案:k≤5
9.设计一个算法,求表达式12+22+32+…+102的值,并画出程序框图.
解:算法如下:
第一步,令S=0,i=1.
第二步,判断i是否小于或等于10,若是,则执行第三步;若否,则输出S.
第三步,令S=S+i2,并令i=i+1,然后返回第二步.
程序框图如图:
10.有一列数1,1,2,3,5,8,…,其规律是从第3个数开始,后一个数等于前两个数的和,画出计算这列数前20个数的和的程序框图.
解:程序框图如图所示:
[B.能力提升]
1.(2014·高考北京卷)执行如图所示的程序框图,输出的S值为( )
A.1 B.3
C.7 D.15
解析:选C.S=20+21+22=7.
2.(2014·高考福建卷)阅读如图所示的程序框图,运行相应的程序,输出的n的值为( )
A.1 B.2
C.3 D.4
解析:选B.当n=1时,21>12满足条件,继续循环得n=2,22>22不成立,不满足条件,所以输出n=2.
3.(2014·高考湖北卷)阅读如图所示的程序框图,运行相应的程序,若输入n的值为9,则输出S的值为________.
解析:由题意,程序运行如下:
k=1<9,S=21+1=3,k=2<9;S=3+22+2=9,k=3<9;
S=9+23+3=20,k=4<9;S=20+24+4=40,k=5<9;
S=40+25+5=77,k=6<9;S=77+26+6=147,k=7<9;
S=147+27+7=282,k=8<9;S=282+28+8=546,k=9≤9;
S=546+29+9=1 067,k=10>9,输出S=1 067,程序结束.
答案:1 067
4.阅读如图所示的程序框图,运行相应的程序,则程序运行后输出的结果为________.
解析:i=1,S=0.
第一次循环:S=0+lg =-lg 3>-1,继续循环,i=3;
第二次循环:S=-lg 3+lg =-lg 5>-1,继续循环,i=5;
第三次循环:S=-lg 5+lg =-lg 7>-1,继续循环,i=7;
第四次循环:S=-lg 7+lg =-lg 9>-1,继续循环,i=9;
第五次循环:S=-lg 9+lg =-lg 11<-1,结束循环,输出i=9.
答案:9
5.画出计算1++++…+的值的一个程序框图.
解:相加各数的分子都是1,而 ( http: / / www.21cnjy.com )分母是有规律递增的,每次增加2,引入变量S表示和,计数变量i,i的值每次增加2,则每次循环都有S=S+,i=i+2,这样反复进行.
程序框图如图所示:
6.(选做题)设计一个求满足10解:可以从最小的正整数1开始进行判断,判断是 ( http: / / www.21cnjy.com )否满足10程序框图如图所示:【优化方案】2016年高中数学 第一章 算法初步 章末演练轻松闯关学案 新人教A版必修3
[A.基础达标]
1.给出以下几个问题:
①输入x, 输出它的相反数
②求面积为6的正方形的周长
③求函数f(x)=的函数值
其中不需要用条件语句来描述其算法的有( )
A.1个 B.2个
C.3个 D.0个
解析:选B.①、②不需要使用条件语句.
2.用秦九韶算法计算多项式f(x)=2x7+ ( http: / / www.21cnjy.com )x6+x5+x4+3x3+x2+2x+1当x=2时的函数值时,需要做的加法和乘法的次数分别是( )
A.7,4 B.4,7
C.7,7 D.4,4
解析:选C.f(x)=2x7+x6+0×x5 ( http: / / www.21cnjy.com )+0×x4+3x3+0×x2+2x+1=((((((2x+1)x+1)x+1)x+3)x+1)x+2)x+1,所以需要做7次加法,7次乘法.
3.(2015·济南期末)执行如图所示的程序框图,若输入n=7,则输出的值为( )
A.2 B.3
C.4 D.5
解析:选D.依题意可知,k=1,n=13; ( http: / / www.21cnjy.com )k=2,n=25;k=3,n=49;k=4,n=97;k=5,n=193>100,满足条件.故输出k的值为5.
4.(2015·衡阳模拟)执行如图所示的程序框图,若输入的N的值为6,则输出的p的值为( )
A.120 B.720
C.1 440 D.5 040
解析:选B.由程序框图,可得k= ( http: / / www.21cnjy.com )1,p=1,1<6;k=2,p=2,2<6;k=3,p=6,3<6;k=4,p=24,4<6;k=5,p=120,5<6;k=6,p=720,6=6,不满足条件.故输出的p的值为720.
5.(2015·湖南师大附中月考)执行如图所示的程序框图,则计算机输出的所有点(x,y)所满足的函数为( )
A.y=x+1 B.y=2x
C.y=2x-1 D.y=2x
解析:选D.由题意,该程序共输出4个点(1,2),(2,4),(3,8),(4,16),易知这4个点都在函数y=2x的图象上.
6.计算函数y=的算法步骤为: ( http: / / www.21cnjy.com )第一步,输入x;第二步,如果x<0,则使y=x+1,否则执行第三步;第三步,________,第四步,输出y.(将第三步完整填写)
解析:第三步为y=x-1.
答案:y=x-1
7.(2015·长沙模拟)执行如图所示的程序框图,若输入x=8,则输出的k=________.
解析:依题意,得x=88,k=1, ( http: / / www.21cnjy.com )x<2 015;x=888,k=2,x<2 015;x=8 888,k=3,x>2 015,满足条件.故输出的k的值为3.
答案:3
8.(2014·高考山东卷)执行如图所示的程序框图,若输入的x的值为1,则输出的n的值为________.
解析:由x2-4x+3≤0,解得1≤x≤3.
当x=1时,满足1≤x≤3,所以x=1+1=2,n=0+1=1;
当x=2时,满足1≤x≤3,所以x=2+1=3,n=1+1=2;
当x=3时,满足1≤x≤3,所以x=3+1=4,n=2+1=3;
当x=4时,不满足1≤x≤3,所以输出n=3.
答案:3
9.小明第一天背一个单词,第二天背两个单词,以后每一天都比前一天多背一个单词.问他前十天共背了多少个单词?(给出该问题的算法语句)
解:
s=0i=1WHILE i<=10 s=s+i i=i+1WENDPRINT sEND
10.某中学男子体育组的百米赛跑的成绩( ( http: / / www.21cnjy.com )单位:秒)如下:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.设计一个算法从这些成绩中搜索出所有小于12.1秒的成绩,画出程序框图,并编写相应的程序.
解:程序框图:
程序:
i=1WHILE i<=10INPUT GiIF Gi<12.1 THENPRINT GiEND IFi=i+1WENDEND
[B.能力提升]
1.将二进制数10 011(2)化为五进制为( )
A.32 B.33
C.34 D.35
解析:选C.由10 011(2)=24+2+20=19,得19=3×5+4=34(5).
2.(2014·高考课标全国卷Ⅰ)执行如图所示的程序框图,若输入的a,b,k分别为1,2,3,则输出的M=( )
A. .
C. .
解析:选D.当n=1时,M=1+=,a=2,b=;
当n=2时,M=2+=,a=,b=;
当n=3时,M=+=,a=,b=;
n=4时,终止循环.输出M=.
3.
INPUT xIF x<0 THENy=π*x/2+3ELSE IF x>0 THENy=-π*x/2+5 ELSEy=0 END IFEND IFPRINT yEND
如果输入x=-2,则输出结果y为________.
解析:若输入x=-2,则满足第一个条件x<0成立,故执行y=*x+3,即可得到结果.
答案:-π+3
4.执行下面的程序输出的结果是________.
i=1s=0WHILE i<=4s=s*2+1i=i+1WENDPRINT sEND
解析:当i=1时,s=0×2+1=1;当i=2时,s=1×2+1=3;当i=3时,s=3×2+1=7;当i=4时,s=7×2+1=15.
答案:15
5.设计算法求+++…+的值.要求画出程序框图.
解:程序框图如图:
6.(选做题)到银行办理个人 ( http: / / www.21cnjy.com )异地汇款(不超过100万)时,银行要收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,手续费按汇款额的1%收取;超过5 000元,一律收取50元手续费,请为银行设计一个程序要求输入汇款额x元,输出银行应收取的手续费y.
解:程序如下:
INPUT xIF x>0 AND x<=100 THENy=1ELSEIF x<=5 000 THENy=0.01*xELSEy=50END IFEND IFPRINT yEND