课时作业16 循环语句
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.下面给出的四个框图中满足Do
Loop语句的是( D )
解析:Do
Loop语句先执行循环体再判断条件,若条件满足,则执行循环体,直到条件不满足,结束循环.故D中框图正确.
2.关于Do
Loop语句叙述正确的是( A )
A.至少执行循环体一次
B.最多执行一次循环体
C.不满足条件时执行循环体
D.遇到Do
Loop就结束
解析:对于Do
Loop循环语句,先执行循环体,再根据条件是否成立来确定是否继续执行循环体,因此至少执行一次循环体.
3.若i的初始值为0,当执行完Do i=i+1 Loop
While
i<=10后i的值变为( C )
A.9
B.10 C.11 D.12
解析:由Do
Loop语句的形式和执行条件易得循环结束后,i=11.
4.下列程序中的For语句终止循环时,S等于( D )
S=1
For M=1
To
13
Step
3
S=S+M
Next
输出S
A.1
B.5
C.10
D.35
解析:S=1+4+7+10+13=35.
5.下列语句执行后输出的结果是( B )
n=5
S=0
Do
S=S+n
n=n-1
Loop
While
S<=14
输出n
A.1
B.0
C.2
D.-1
解析:5+4+3+2=14<15,5+4+3+2+1=15,∴n=0.
6.读程序,对甲、乙两程序和输出的结果判断正确的是( B )
甲:i=1
000 乙:
S=0
S=0
Do
For i=1 To
1
000
S=S+i
S=S+i
i=i-1
i=i+1
Loop
While i>=1
Next
输出 S
输出S
A.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
解析:甲程序是用Do
Loop语句写的,乙程序是用For语句写的,但两者运行结果都是500
500,S乙=1+2+3+…+1
000,S甲=1
000+999+…+1.
7.下列程序的运行结果为( B )
A.5 B.6 C.7 D.8
解析:i=0,S=0;i=1,S=0+1;……i=5,S=0+1+2+3+4+5,此时S=15<20,∴继续执行,i=6,S=15+6=21>20,故i=6.
8.算法程序:
S=0
For
i=1
To
1
000
S=S+i
Next
中,For
i=1
To
1
000的作用是( D )
A.表示一个数字从1到1
000
B.表示从1一直加到1
000
C.表示从1开始循环到1
000
D.表示i从1开始以1为步长累加到1
000
二、填空题(每小题5分,共15分)
9.下列程序:
A=2
B=1
Do
B=A
B
A=A+1
Loop
While
A<=5
输出B
该程序的功能是计算1×2×3×4×5的值.
10.执行算法程序:
S=0
For
i=0
To
10
000
Step
2
S=S+i
Next
中,循环10次的结果是90.
解析:算法程序实际是在计算S=0+2+4+6+8+…+10
000,如果循环10次,则有S=0+2+4+6+8+…+18=90.
11.S=0
For i=1
To
100
S=S+i
i
Next
输出S
则该语句的算法功能为计算12+22+…+1002的值.
解析:S=12+22+…+1002.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)输出1~100的所有偶数,使用For循环还是Do
Loop循环,哪个更好?请写出具体过程.
解:本题宜选用For循环,因为已经给出具体的范围,也就是说,可以明确循环次数,所以,比较适合For循环语句.
具体过程如下:
For
i=1
To
100
If
i
Mod
2=0
Then
输出i
End
If
Next
13.(13分)写出满足1+2+3+…+n>2
015的最小自然数n的程序,并画出算法框图.
解:算法框图如下:
程序为:
——能力提升类——
14.(5分)把求+++…+的值的下列程序补充完整,则(1)S=S+1/(i
(i+3));
(2)i<=50.
i=1
S=0
Do
Loop
While
__(2)__
输出S.
15.(15分)篮球场某区域第一排有60个座位,以后每排顺次增加2个座位,试用循环语句写出求第20排有多少个座位的程序.
解:程序语句如下:
ZW=60
For i=2
To
20
ZW=ZW+2
Next
Print
ZW
PAGE
5课时作业15 条件语句
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.对条件语句的描述正确的是( C )
A.Else后面的语句不可以是条件语句
B.两个条件语句可以共用一个End
If
C.条件语句可以没有Else后的语句
D.条件语句中Then和Else后的语句必须都有
解析:条件语句有两种格式:“If-Then-End
If”语句和“If-Then-Else-End
If”语句.对于一个分支的条件语句可以没有Else后的语句,故C正确,D不正确;根据复合If语句和If语句的叠加可得A,B不正确.
2.给出以下问题:
①求面积为1的正三角形的周长;
②求三个实数的算术平均数;
③求两个实数中的最小数;
④求函数f(x)=当自变量取x0时的函数值.
其中不需要用条件语句来描述算法的问题有( B )
A.1个
B.2个
C.3个
D.4个
解析:①②不涉及对条件的真假进行判断,故不需要用条件语句来描述算法的问题有2个.
3.执行下面的语句:
输入A,B;
If A>B Then
C=A/2
输出C
End
If
若输入8,4,则输出结果为( B )
A.8
B.4
C.2
D.1
解析:输入8,4时,满足A>B,则C==4.
4.若输入4,则下面程序执行后输出的结果是( B )
A.4
B.0.2
C.0.1
D.0.3
解析:根据条件语句的执行顺序可得c=0.2.故选B.
5.给定程序:
若输入x=-6,则程序输出的结果是( D )
A.1
B.6
C.0
D.-1
解析:该程序实际上是求分段函数y=的函数值,当x=-6时,对应的函数值为-1,故选D.
6.为了在运行下面的程序之后输出y=9,应输入的x值为( C )
输入x;
If
x<0
Then
y=(x+1)2
Else
y=(x-1)2
End
If
输出y.
A.-4
B.-2
C.4或-4
D.-2或2
解析:程序表示函数y=
∴当y=9时,由(x+1)2=9得x=-4;
由(x-1)2=9得x=4.
7.当a=1,b=3时,执行完下面一段程序后x的值是( C )
If aThen
x=a+b
Else
x=a-b
End
If
A.1 B.3 C.4 D.-2
解析:∵a8.给出下列语句:
输入x;
If x<0 Then
y=x+4
Else
If x=0 Then
y=0
Else
y=x^2
End
If
End
If
输出y.
该语句的功能是( C )
A.输入一个数x,并比较x与0的大小
B.求函数y=的函数值
C.求函数y=的函数值
D.以上都不对
解析:此算法涉及复合If语句,分x>0,x=0,x<0三种情况讨论,且相应的y的表达式也不同,故它的功能是求一个分段函数的函数值,易知此函数为y=
二、填空题(每小题5分,共15分)
9.根据如图所示的程序,当输入a,b分别为2,3时,最后输出的m的值为3.
输入a,b;
If a>b
Then
m=a
Else
m=b
End
If
输出m.
解析:∵a=2,b=3,∴a10.给出下列程序:
输入a,b,c
If a>b Then
a=b
End
If
If a>c Then
a=c
End
If
输出a.
如果输入-10,-26,8,那么输出的是-26.
解析:该程序的功能是输入a,b,c的值,求它们中的最小值.
11.读语句完成下列题目.
输入x;
If x>1 Then
y=x+1
Else
y=2
x+1
End
If
输出y.
(1)若执行语句时,没有执行语句y=x+1,则输入x的范围是x≤1;
(2)若输出结果是5,则执行的赋值语句是y=x+1,输入的x的值是4.
解析:依题意,题目所给的语句是求分段函数y=的函数值,因此当x>1时,x+1>2;当x≤1时,2x+1≤3,从而输出的y的值是5时,执行的赋值语句是y=x+1,输入的x的值是4.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)编写程序,输入任意两个实数,输出其差的绝对值,并画出算法框图.
解:设a和b是任意两个实数,则当a≥b时,其差的绝对值等于a-b,否则等于b-a,可用条件语句实现这一算法.
算法框图如图所示.
用条件语句描述这个算法:
输入a,b
If a≥b Then
输出a-b
Else
输出b-a
End
If
13.(13分)已知函数y=画出算法框图并用基本语句描述一个算法,对每一个输入的x的值,求出相应的函数值.
解:算法框图如图所示.
算法语句如下:
输入x;
If x<=-1 Then
y=(x+1)^
2
Else
If x>=1 Then
y=1/x-1
Else
y=2
x+2
End
If
End
If
输出y.
——能力提升类——
14.(5分)给出下列程序:
输入a,b,c;
max=a
If b>max Then
max=b
End
If
If c>max Then
max=c
End
If
输出max.
如果输入a=4,b=2,c=-5,则程序运行的结果是( D )
A.a
B.2
C.-5
D.4
解析:本题首先是输入a,b,c的值,然后把a的值赋予max,接下来是两个条件语句,首先判断b是否大于max,若是,则把b的值赋予max,否则,max的值不变;然后判断c是否大于max,若是,则把c的值赋予max,否则,max的值不变;最后输出max的值.由此可知本题中算法语句的功能是输出三个数中的最大数.显然最大的数为4.
15.(15分)某居民区的物业部门每月向居民收取卫生费,计算方法如下:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,只需画出算法框图即可.
解:依题意费用y与人数n之间的关系为
y=
算法框图如图所示:
PAGE
8课时作业14 循环结构
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.解决下列问题的算法框图中,需要用到循环结构的是( D )
A.解一元二次方程x2-1=0
B.解方程组
C.求lg2+lg3+lg4+lg5的值
D.求满足1×2×3×…×n>2
0162的最小正整数n
解析:A,B,C中都可以只用顺序结构设计算法框图,D中是累乘问题,需要确定正整数n的最小值,因此需要用到循环结构设计算法框图.
2.阅读如图所示的算法框图,下列说法中正确的是( D )
A.该算法框图只含有顺序结构、选择结构
B.该算法框图只含有顺序结构、循环结构
C.该算法框图只含有选择结构、循环结构
D.该算法框图含有顺序结构、选择结构、循环结构
解析:本题主要考查算法框图的三种基本结构.阅读算法框图,可知该算法框图含有顺序结构、选择结构、循环结构.
3.图(1)是某循环的一部分,若改为图(2),则运行过程中出现( D )
A.不循环
B.循环次数增加,且只循环有限次
C.循环次数减少
D.无限循环
解析:图(2)中每次循环时i的值均为1,永远不满足i>4,故无限循环.
4.阅读下边的算法框图,运行相应的程序,则输出S的值为( C )
A.8
B.18
C.26
D.80
解析:本题考查算法框图,循环结构知识.
n=1,S=0→S=2,n=2→S=8,n=3→S=26,n=4→结束.
解题时注意n的取值与S的对应,以防错选A、D.
5.右图所示的算法框图的功能是( D )
A.计算从1到100的奇数的乘积
B.计算从1开始的连续奇数的乘积
C.从1开始的连续奇数的乘积,当乘积大于等于100时,计算奇数的个数
D.计算1×3×5×…×n≥100时的最小奇数n的值
解析:由框图易知S为累乘变量,n为计数变量,S=1×3×5×…×n,循环结束的条件是S≥100.
故其算法功能为计算1×3×5×…×n≥100时的最小奇数n的值.
6.如果执行下边的算法框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( C )
A.A+B为a1,a2,…,aN的和
B.为a1,a2,…,aN的算术平均数
C.A和B分别是a1,a2,…,aN中最大的数和最小的数
D.A和B分别是a1,a2,…,aN中最小的数和最大的数
解析:本题考查了循环结构中嵌套了条件结构的问题.读懂流程图,理解循环结构及条件结构是解题的关键.
7.如图所示的算法框图的输出结果为sum=132,则判断框中应填( B )
A.i≥10
B.i≥11
C.i≤11
D.i≥12
解析:∵i初值为12,sum初值为1,第一次运算sum=1×12=12,每循环一次i值减1,12×11=132,故循环2次,∴i≥11.故选B.
8.阅读如下算法框图,如果输出i=4,那么空白的判断框中应填入的条件是( B )
A.S<8
B.S<9
C.S<10
D.S<11
解析:本题考查了算法框图的循环结构.依据循环要求有i=1,S=0;i=2,S=2×2+1=5;i=3,S=2×3+2=8;i=4,S=2×4+1=9,此时结束循环,故应为S<9.
二、填空题(每小题5分,共15分)
9.执行如图所示的算法框图,如果输入a=1,b=2,则输出的a的值为9.
解析:本题考查的是算法框图的循环结构.
a=1,b=2,a=a+b=3,a=3+2=5,a=5+2=7,a=7+2=9,∵9>8,∴输出a=9.
10.某算法框图如图所示,若输出结果为,则输入的实数x的值是.
解析:结合算法框图,当x>1时,log2x=?x=,符合要求;当x≤1时,x-1=?x=,与x≤1矛盾.故实数x的值为.本题考查算法框图的应用及分段函数函数值的求解,难度很小,容易得到结论.
11.如图所示,箭头a指向①时,输出的结果是5;指向②时,输出的结果是15.
解析:箭头a指向①时,每次循环S的初值都是0,i由初值1依次增加1,从而输出结果是S=5;箭头指向②时,是求1+2+3+4+5的算法框图,所以输出结果是S=15.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)设计一个算法,求1×22×33×…×100100的值,并画出算法流程图.
解:算法如下:
1.S=1;
2.i=1;
3.如果i≤100,则执行第4步,否则,执行第6步;
4.S=S×ii;
5.i=i+1,返回第3步;
6.输出S.
算法流程图略
13.(13分)设计一个求的值的算法并画出算法框图.
解:算法步骤如下:
(1)A=;
(2)i=1;
(3)A=;
(4)i=i+1;
(5)如果i不大于或等于5,转去执行第(3)步,否则,输出A,算法结束.
算法框图如图所示.
——能力提升类——
14.(5分)某展览馆每天9:00开馆,20:00停止入馆.在如图所示的框图中,S表示该展览馆官方网站在每个整点报道的入馆总人数,a表示整点报道前1个小时内入馆人数,则空白的执行框内应填入S=S+a.
解析:因为S表示该展览馆官方网站在每个整点报道的入馆总人数,所以显然是累加求和,故空白的执行框内应填入S=S+a.
15.(15分)某高中男子体育小组的50
m赛跑成绩(单位:s)为6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,7.6,6.3,6.4,6.4,6.5,6.7,7.1,6.9,6.4,7.1,7.0.设计一个算法,从这些成绩中搜索出小于6.8
s的成绩,并画出算法流程图.
解:算法如下:
第一步:i=1;
第二步:输入Gi;
第三步:如果Gi<6.8,则输出Gi,并执行第四步,否则,也执行第四步;
第四步:i=i+1;
第五步:如果i≤20,则返回第二步,否则,结束.
算法流程图略.
PAGE
8课时作业13 变量与赋值
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.输入a=5,b=12,c=13,经下列赋值语句运行后,a的值仍为5的是( C )
A.
B.
C.
D.
解析:对于选项A,先把b的值赋给a,a的值又赋给b,这样a,b的值均为12;对于选项B,先把c的值赋给a,这样a的值就是13,接下来是把b的值赋给c,这样c的值就是12,再又把a的值赋给b,所以a的值还是13;对于选项C,先把a的值赋给b,然后又把b的值赋给a,所以a的值没变,仍为5;对于选项D,先把b的值赋给c,这样c的值是12,再把a的值赋给b,于是b的值为5,然后又把c的值赋给a,所以a的值为12.于是可知选C.
2.下列赋值语句正确的是( D )
A.m+n=2
016
B.2
016=m
C.m+2
016=m
D.m=m+2
016
解析:由赋值语句的格式可知m=m+2
016正确.
3.在如图所示的算法语句中输入x=1
000,y=2,则输出的结果M是( D )
A.2
004
B.2
006
C.2
007
D.2
008
解析:M=2×1
000+4×2=2
008.
4.计算机执行下面的程序后,输出的结果是( B )
A.1,4
B.4,1
C.0,0
D.6,0
解析:第一步,a=1+3=4;第二步,b=a-b=4-3=1,所以输出a,b应分别为4,1.
5.下列语句中:
①m=x3-x2 ②T=T×1 ③32=A ④A=A+2
⑤A=2·(B+1)=2B+2 ⑥P=[(7x+3)-5]x+1
其中是赋值语句的个数为( C )
A.6
B.5
C.4
D.3
解析:①m=x3-x2为赋值语句;②T=T×1为赋值语句;③32=A因为左侧为数字,故不是赋值语句;④A=A+2为赋值语句;⑤A=2·(B+1)=2B+2,因为是连等,故不是赋值语句;⑥P=[(7x+3)-5]x+1为赋值语句.故赋值语句个数为4.
6.由下列程序表示的输出结果为3,则输入的x的值可能为( D )
A.1
B.-3
C.-1
D.1或-3
解析:即求解x2+2x=3的值,解得x=1或-3.
7.以下程序运行时输出的结果是( C )
A=3
B=A
A
A=A+B
B=B+A
输出A,B
A.12,15 B.12,9
C.12,21 D.21,12
解析:此程序所表示的是先将3赋给A,再将3×3=9赋给B,再将3+9=12赋给A,再将9+12=21赋给B,所以输出的为12,21,故选C.
8.如图所示的算法框图,输出的a,b的值分别为( A )
A.20,15
B.35,35
C.15,20
D.-5,-5
解析:先将a+b的值赋给a,则a=15+20=35,然后将a-b的值赋给b,则b=35-20=15,最后将a-b的值赋给a,则a=35-15=20,故选A.
二、填空题(每小题5分,共15分)
9.执行下列赋值语句后,变量A=4.
A=1
A=A+1
A=2A
解析:把1的值赋给A,此时A+1的值为2,即把2的值赋给A,最后把2A的值赋给A,即A的值为4.
10.已知如下程序
若输入1,2,3,则输出结果为2,3,2.
解析:由赋值语句的功能知b的值2赋给了a,c的值3赋给了b,赋值后的a=2,又赋给了c.
11.阅读如图所示的算法流程图,若输入a=12,则输出a=6.
解析:输入a=12,该算法流程图的执行过程是
a=12,
b=12-6=6,
a=12-6=6.
输出a=6.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)下列语句运行后,a,b,c的值各等于什么?
解:(1)把b的值-5赋予a(取代a原来的值),把c的值8赋予b(取代b原来的值),c的值不变.所以最后结果为a=-5,b=8,c=8;
(2)把b的值-5赋予a,c的值8赋予b,又把a的新值-5赋予c,所以最后结果为a=-5,b=8,c=-5.
13.(13分)编写一个算法,求用长度为l的细铁丝分别围成的正方形和圆的面积,要求输入l的值输出正方形和圆的面积,并画出框图.
解:设围成的正方形的边长为a,依题意得4a=l,a=,所以正方形的面积为S1=()2=.
同理,若设围成的圆的半径为R,则2πR=l,R=,所以圆的面积为S2=πR2=π·()2=.
因此可以用顺序结构实现这一算法,输入l的值,利用赋值语句得到面积,最后输出面积,算法步骤如下:
1.输入l的值;
2.S1=;
3.S2=;
4.输出S1,S2.
框图略.
——能力提升类——
14.(5分)下图所示的是一个算法框图,已知a1=3,输出的b=7,则a2的值是11.
解析:由两次赋值可以得到=7,解得a2=11.
15.(15分)如图所示是解决某个问题而绘制的算法框图,仔细分析各图框内的内容及图框之间的关系,回答下面的问题:
(1)该框图解决的是怎样的一个问题?
(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?
(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?
(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?
解:(1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x的值,输出的是x对应的函数值.
(2)y1=3,即2a+b=3.①
y2=-2,即-3a+b=-2.②
由①②得a=1,b=1.
∴f(x)=x+1.
∴当x取5时,5a+b=f(5)=5×1+1=6.
(3)输入的x值越大,输出的函数值ax+b越大.
因为f(x)=x+1是R上的增函数.
(4)令f(x)=x+1=0,得x=-1,所以当输入的x值为-1时,输出的函数值为0.
PAGE
6课时作业12 顺序结构与选择结构
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.算法框图中矩形框的功能是( C )
A.表示一个算法的起始和结束
B.表示一个算法输入和输出的信息
C.赋值、计算
D.判断某一条件是否成立
解析:在算法框图中,矩形框即处理框,具有赋值、计算的功能.
2.下列关于算法框图的说法正确的是( D )
①任何一个算法框图都必须有起止框;
②判断框是唯一具有超过一个出口的图框;
③流程线只要是上下方向就表示算法自上向下执行,可以不要箭头;
④对于一个算法框图而言,判断框中的条件是唯一的.
A.①②③ B.②③ C.①④ D.①②
解析:任何一个算法都有开始和结束,因而算法框图必须有起止框,①正确;显然②正确;算法按照流程线的箭头指向进行,因此流程线必须带箭头,③错误;判断框中的条件不是唯一的,若a>b也可写为a≤b,只不过此时需要对调“是”与“否”的位置,故④错误.
3.下列算法框图中表示的是已知直角三角形两直角边a,b,求斜边c的算法的是( C )
解析:画算法框图时,应先输入a,b,再计算c=,最后输出c.
4.下面的问题中必须用选择结构才能实现的个数是( C )
①已知三角形三边长,求三角形的面积;
②求方程ax+b=0(a,b为常数)的根;
③求三个实数a,b,c中的最大者;
④求1+2+3+…+100的值.
A.4
B.3
C.2
D.1
解析:①求三角形面积可以利用公式S=(p=),可以不用选择结构.
②解方程时,需要判断a是否为0,必须用选择结构.
③求三个数中的最大数,需要判断数的大小,必须用选择结构.
④可以用顺序结构,也可以用后面将要学习的循环结构,不用选择结构.
5.给出下列算法框图,欲输出给定两实数a、b中的较小的数,则判断框中应填( C )
A.a>b
B.a≥b
C.aD.a=b
解析:输出的是较小的数,回答“是”时输出了a,说明a较小,故填a6.算法框图描述的算法的运行结果是( A )
A.-5
B.5
C.-1
D.-2
解析:根据判断框,如果x<0,则y=3x-2,
所以x=-1时,y=3×(-1)-2=-5.
7.如图所示的算法框图,其功能是( C )
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b的最大值
D.求a,b的最小值
解析:取a=1,b=2知,该算法框图输出b=2,因此是求a,b的最大值.
8.下面的算法框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( A )
A.c>x
B.x>c
C.c>b
D.b>c
解析:空白框以上程序是对a,b大小判断.空白框内是c与a、b较大者的比较,再由下面程序可知为c>x.故选A.
二、填空题(每小题5分,共15分)
9.如图所示的算法框图中,当输入的数为3时,输出的结果为8.
解析:∵3<5,∴y=32-1=8.
10.某算法的算法框图如图所示,则y与x满足的关系式是y=.
解析:观察程序框图,发现:当x>1时,有y=x-2;当x
≤1时,有y=2x,所以y=
11.已知函数y=如图是计算函数值y的算法框图,则在空白的判断框中应填x=0.
解析:由函数y=可知第一个判断框的否定条件为x≤0,第二个判断框的肯定条件的结果为y=0,因此空白判断框内应填“x=0”.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)写出输入一个数x,求分段函数y=
的函数值的算法框图.
解:算法框图如图所示:
13.(13分)任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法框图.
解:算法如下:
1.输入3个正实数a,b,c;
2.判断a+b>c,b+c>a,c+a>b是否同时成立,若是,则存在这样的三角形;否则,不存在这样的三角形.
算法框图如图所示:
——能力提升类——
14.(5分)阅读算法框图(如下图所示),若a=50.6,b=0.65,c=log0.65,则输出的数是50.6.
解析:算法框图的功能是输出a,b,c中最大的数,又因为a>1,015.(15分)如图所示是某函数f(x)给出x的值时,求相应函数值y的算法框图.
(1)写出函数f(x)的解析式;
(2)若输入的x取x1和x2(|x1|<|x2|)时,输出的y值相同,试简要分析x1与x2的取值范围.
解:(1)f(x)=
(2)画出y=f(x)的图像:
由图像及y=f(x)为偶函数,且|x1|<|x2|时,f(x1)=f(x2)知x1∈(-1,1),x2∈[-,-1)∪(1,].
PAGE
8第二章 算法初步
课时作业11 算法的基本思想
时间:45分钟 满分:100分
——基础巩固类——
一、选择题(每小题5分,共40分)
1.想泡茶喝,当时的情况是:火已经生起了,凉水和茶叶也有了,开水没有,开水壶要洗,茶壶和茶杯要洗,下面给出了四种不同形式的算法过程,你认为最好的一种算法是( A )
A.洗开水壶,灌水,烧水,在等待水开时,洗茶壶、茶杯、拿茶叶,等水开了后泡茶喝
B.洗开水壶,洗茶壶和茶杯,拿茶叶,一切就绪后,灌水,烧水,坐等水开后泡茶喝
C.洗开水壶,灌水,烧水,坐等水开,等水开后,再拿茶叶,洗茶壶、茶杯,泡茶喝
D.洗开水壶,灌水,烧水,再拿茶叶,坐等水开,洗茶壶、茶杯,泡茶喝
解析:解决一个问题可以有多种算法,可以选择其中最优、最简单、步骤尽可能少的算法.选项中的四种算法中都符合题意,但算法A运用了统筹法原理,因此这个算法要比其余的三种算法科学.
2.下列叙述能称为算法的个数为( B )
①植树需要运苗、挖坑、栽苗、浇水这些步骤.
②顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100.
③从枣庄乘火车到徐州,从徐州乘飞机到广州.
④3x>x+1.
⑤求所有能被3整除的正数,即3,6,9,12,….
A.2
B.3
C.4
D.5
解析:根据算法的含义和特征:①②③都是算法.④⑤不是算法.其中④,3x>x+1不是一个明确的逻辑步骤,不符合逻辑性;⑤的步骤是无穷的,与算法的有穷性矛盾.
3.猜测MP3的价格,已知MP3的价格在区间[300,500](单位:元)内,则首次报价为( C )
A.325元
B.375元
C.400元
D.425元
解析:首次报价为=400(元).
4.下列所给问题中,不能设计算法求解的是( D )
A.二分法解方程x2-3=0(精度为0.01)
B.解方程组
C.求半径为2的球的体积
D.求S=1+2+3+…的值
解析:D中的式子有无穷个加数,所以不能设计算法求出其值.
5.使用配方法解方程x2-4x+3=0的算法的正确步骤是( B )
①配方得(x-2)2=1;
②移项得x2-4x=-3;
③解得x=1或x=3;
④开方得x-2=±1.
A.①②③④
B.②①④③
C.②③④①
D.④③②①
解析:使用配方法的步骤是移项、配方、开方、得解.
6.阅读下面的算法:
1.输入两个实数a,b.
2.若a3.输出a.
这个算法输出的是( A )
A.a,b中的较大数
B.a,b中的较小数
C.原来的a的值
D.原来的b的值
解析:第2步中,若a7.给出下面一个算法:
第一步,给出三个数x,y,z.
第二步,计算M=x+y+z.
第三步,计算N=M.
第四步,得出每次计算结果.
则上述算法是( D )
A.求和
B.求余数
C.求平均数
D.先求和再求平均数
解析:由算法过程知,M为三数之和,N为这三数的平均数.
8.如下算法:
(1)输入n.
(2)判断n是否为2,若n=2,则n满足条件;若n>2,则执行下一步.
(3)依次从2到n-1检验能不能整除n,若不能整除n,则n满足条件.
满足上述条件的n是
( A )
A.素数
B.奇数
C.偶数
D.合数
解析:由(3)可知,n除了1和自身外没有其他因数,故n是素数.
二、填空题(每小题5分,共15分)
9.下面给出了解决问题的算法:
S1 输入x
S2 若x≤1则执行S3,否则执行S4
S3 使y=2x-3
S4 使y=x2-3x+3
S5 输出y
当输入的值为3时,输入值与输出值相等.
解析:分析程序中各变量、各语句的作用,再根据算法可知:该程序的作用是计算并输出分段函数y=
的函数值.
当输入的值为x时,输入值与输出值相等,
当x>1时,若x2-3x+3=x,则x=3或x=1(舍去),
当x≤1时,若2x-3=x,则x=3(舍去),
故答案为3.
10.给出下列算法:
第一步,输入x的值.
第二步,当x>4时,计算y=x+2;否则执行下一步.
第三步,计算y=.
第四步,输出y.
当输入x=0时,输出y=2.
解析:因为0<4,执行第三步,所以y==2.
11.在下面求15和18的最小公倍数的算法中,不恰当的一步是(4).
(1)先将15进行素因数分解:15=3×5;
(2)然后将18进行素因数分解:18=32×2;
(3)确定它们的所有素因数:2,3,5;
(4)计算出它们的最小公倍数:2×3×5=30.
解析:正确的步骤应该是:先确定素因数的指数:2,3,5的指数分别为1,2,1;然后计算出它们的最小公倍数2×32×5=90.
三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)
12.(12分)有甲乙丙丁4个人过一座简易木桥,这四个人过桥分别所用的时间是2分钟,4分钟,6分钟,8分钟,由于木桥质量原因,桥上最多只能有两个人.
请你设置一个方
案,使这4个人在最快的时间过桥,写清步骤,最后算出所需时间.
解:方法不唯一:
1.甲乙先上桥;
2.2分钟后甲过了桥同时丁上桥;
3.再过2分钟后乙过了桥同时丙上桥;
4.6分钟后丙丁同时上岸.
∴所需时间是2+2+6=10(分钟).
13.(13分)请设计求18的所有正约数的算法.
解:1.18=2×9;
2.18=2×32;
3.列出18的所有正约数:1,2,3,32,2×3,2×32.
——能力提升类——
14.(5分)下面给出了一个问题的算法:
1.输入非负实数x.
2.若x>2,则输出2x+1,算法结束;否则执行第3步.
3.输出x2-1.
(1)这个算法解决的问题是求分段函数f(x)=的函数值.
(2)当输入的x值为0时,输出的数值最小,最小值为-1.
15.(15分)设计一个算法,求4
725,1
764与94
500的最大公因数.
解:算法步骤
如下:
1.先将4
725进行素因数分解:4
725=33×52×7;
2.然后将1
764进行素因数分解:1
764=22×32×72;
3.再将94
500进行素因数分解:94
500=22×33×53×7;
4.确定三个数的公共素因数:3,7;
5.确定公共素因数的指数:公共素因数3,7的指数分别为2,1;
6.最大公因数为32×71=63.
PAGE
4