1.2.2
条件语句
同步练习
[学业水平训练]
下列对条件语句的描述正确的是( )
A.ELSE后面的语句不可以是条件语句
B.两个条件语句可以共用一个END
IF语句
C.条件语句可以没有ELSE后的语句
D.条件语句中IF—THEN和ELSE后的语句必须都有
解析:选C.条件语句有两种格式:分别是IF—THEN格式和IF—THEN—ELSE格式.对于一个分支的条件语句可以没有ELSE后的语句.
给出以下四个问题,
①输入x,输出它的相反数;
②求面积为6的正方形的周长;
③三个数a,b,c中输出一个最大数;
④输入x,输出函数f(x)=的函数值.
其中不需要用条件语句来描述其算法的有( )
A.1个
B.2个
C.3个
D.4个
解析:选B.①,②两小题中都不需要分类,所以不用条件语句.而③,④则必须分类,故需要用条件语句.
3.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的①应填( )
i=12
S=1
DO
S=S
i
i=i-1
LOOP
UNTIL ①
PRINT S
END
A.i>11
B.i>=11
C.i<=11
D.i<11
解析:选D.当条件不满足时执行循环体,当条件满足时退出循环.由于输出的是132,故应执行了两次循环体,因此条件①应为i<11.
4.如图,程序的循环次数为( )
x=0
WHILE x<20
x=x+1
x=x∧2
WEND
PRINT x
END
A.1
B.2
C.3
D.4
解析:选C.程序执行如下:
(1)x<20,x=0+1=1,x=12=1;
(2)x<20,x=1+1=2,x=22=4,
(3)x<20,x=4+1=5,x=52=25,此时跳出循环,并输出x.
∴一共进行3次循环,故选C.
5.根据下列算法语句,当输入x为60时,输出y的值为( )
输入x;
If
x≤50
Then
y=0.5
x
Else
y=25+0.6
(x-50)
End
If
输出y.
A.25
B.30
C.31
D.61
解析:选C.由题意,
得y=
当x=60时,y=25+0.6×(60-50)=31.
∴输出y的值为31.
6.若a=11时,下面的程序段输出的结果是________.
IF a<10 THEN
y=2
(a-1)
ELSE
y=a MOD 10
END
IF
PRINT y
END
解析:由于当a=11时,不满足条件a<10,所以执行y=a
MOD 10,得到的结果是y=1.注意
“a MOD 10”是a除以10的余数.
答案:1
7.已知下列程序:
INPUT x
IF x<=-1 THEN
y=-x-1
ELSE
IF x>1 THEN
y=-x∧2+1
ELSE
y=x-1
END
IF
END
IF
PRINT “y=”;y
END
如果输出的是y=0.75,则输入的x是________.
解析:由程序可知本题为根据输入的x,求函数y=的函数值.我们可以分段令y=0.75,并验证,可求得x=-1.75.
答案:-1.75
8.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________.
i=6
s=1
DO
s=s
i
i=i-1
LOOP UNTIL 条件
PRINT s
END
解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3.
答案:i<3
9.编写一个程序计算12+32+52+…+992,并画出相应的程序框图.
解:程序如下:
S=0
i=1
DO
S=S+i∧2
i=i+2
LOOP UNTIL i>99
PRINT S
END
程序框图如图所示:
9题图 10题图
给出一个算法的程序框图(如图所示).
(1)说明该程序的功能;
(2)请用WHILE型循环语句写出程序.
解:(1)该程序的功能是求1+++…+的值.
(2)程序如下:
S=0
K=1
WHILE K<=99
S=S+1/K
K=K+1
WEND
PRINT S
END
[高考水平训练]
下面程序运行后输出的结果为( )
a=0
j=1
WHILE j<=5
a=(a+j) MOD 5
j=j+1
WEND
PRINT a
END
A.50
B.5
C.25
D.0
解析:选D.本程序的功能是求a+j被5除所得的余数,从而循环体在执行的过程中a与j的对应值如下表:
a
1
3
1
0
0
j
2
3
4
5
6
2.读程序,完成下列题目:
程序如图:
INPUT x
IF x>=1 THEN
y=x+1
ELSE
y=2
x+1
END
IF
PRINT y
END
(1)若执行程序时,没有执行语句y=x+1,则输入的x
的范围是________;
(2)若执行结果为3,则执行的赋值语句是________,输入的x的值是________.
解析:(1)不执行y=x+1语句,
说明不满足条件x≥1,故有x<1.
(2)当x<1时,y<2×1+1=3,
只有x+1=3,x=2.
答案:(1)x<1 (2)y=x+1 2
3.儿童乘坐火车时,若身高不超过1.1
m,则无需购票;若身高超过1.1
m但不超过1.4
m,可买半票;若超过1.4
m,应买全票.试写出一个购票算法程序.
解:程序如下:
INPUT “身高h(h>0)”;h
IF h<=1.1 THEN
PRINT “免费乘车”
ELSE
IF h<=1.4 THEN
PRINT “半票乘车”
ELSE
PRINT “全票乘车”
END
IF
END
IF
END
4.一个小朋友在一次玩皮球时,偶然发现一个现象:球从某高度落下后,每次都反弹回原高度的,再落下,再反弹回上次高度的,如此反复.假如球从100
cm处落下,那么第10次下落的高度是多少?在第10次落地时共经过多少路程?试用程序语言表示其算法.
解:程序如下:
s=0
h=100
s=s+h
i=2
WHILE i<=10
h=h/3
s=s+2
h
i=i+121世纪教育网
WEND
PRINT “第10次下落的高度为”;h
PRINT “第10次落地时共经过的路程为”;s
END