学业分层测评(六) 条件语句
(建议用时:45分钟)
[学业达标]
一、选择题
1.求下列函数的函数值的算法中需要用到条件语句的函数为( )
A.f(x)=3x-1 B.f(x)=log2x
C.f(x)= D.f(x)=ex
【解析】 A、B、D只用顺序结构就能描述算法,C需要逻辑判断要用条件语句,故选C.
【答案】 C
2.阅读下列程序:
INPUT “x=”;4
IF x>3 THEN
y=x*x
ELSE
y=2*x
END IF
PRINT y
END
则该程序运行后,变量y的值为( )
A.4 B.16
C.6 D.8
【解析】 因x=4满足“x>3”的条件,所以执行的是THEN后面的y=4×4=16.
【答案】 B
3.阅读下列程序:
INPUT “a=”;a
IF a>5 THEN
b=2*a
ELSE
b=a*a+1
END IF
PRINT b
END
如果输入5,则该程序运行结果为( )
A.1 B.10
C.25 D.26
【解析】 b=a2+1=25+1=26.
【答案】 D
4.下列程序语句是求函数y=|x-4|+1的函数值,则①处为( )
INPUT “x=”;x
IF x>=4 THEN
y=x-3
ELSE
__①__
END IF
PRINT y
END
A.y=3-x B.y=x-5
C.y=5-x D.y=ABS(x-4)+1
【解析】 因y=|x-4|+1=
故选C.
【答案】 C
5.下列关于条件语句的说法正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但是必须有END IF
D.条件语句中可以没有END IF,但是必须有ELSE
【解析】 条件语句中必须有END IF,但可以没有ELSE,故选C.
【答案】 C
二、填空题
6.根据以下程序,则f(-2)+f(3)=________.
INPUT “x=”;x
IF x<=0 THEN
f(x)=4*x
ELSE
f(x)=2^x
END IF
PRINT f(x)
END
【解析】 ∵-2≤0,
∴f(-2)=4×(-2)=-8;
∵3>0,∴f(3)=23=8,
∴f(-2)+f(3)=-8+8=0.
【答案】 0
7.下面给出的条件语句编写的程序,该程序的功能是求函数________的函数值.
INPUT x
IF x<=3 THEN
y=2*x
ELSE
y=x*x-1
END IF
PRINT y
END
【解析】 当x≤3时,y=2x;当x>3时,y=x2-1.
所以函数为f(x)=
【答案】 f(x)=
8.根据如图所示的程序,当输入a,b分别为2,3时,最后输出的m的值为________.
INPUT a,b
IF a>b THEN
m=a
ELSE
m=b
END IF
PRINT m
END
【解析】 a=2,b=3,∵2<3,∴m=3.
【答案】 3
三、解答题
9.编写程序求方程ax+b=0的根.
【解】 程序如下:
INPUT “a,b”;a,b
IF a<>0 THEN
x=-
PRINT “原方程根为:”;x
ELSE
IF b<>0 THEN
PRINT “方程无实根”
ELSE
PRINT “方程根为全体实数”
END IF
END IF
END
10.如图123所示,在边长为16的正方形ABCD的边上有一动点P,点P沿边线由B→C→D→A(B为起点,A为终点)运动,设P运动的路程为x,△APB的面积为y,试写出程序,根据输入的x值,输出相应的y值. 【导学号:28750017】
图123
【解】 由题意可得函数关系式为:
y=
程序如下:
INPUT “x=”;x
IF x>0 AND x<=16 THEN
y=8*x
ELSE
IF x<=32 THEN
y=128
ELSE
y=8*(48-x)
END IF
END IF
PRINT y
END
[能力提升]
1.已知程序如下:
INPUT x
IF x>0 THEN
y=4
ELSE
y=2
END IF
PRINT y
END
如果输出的结果为2,那么输入的自变量x的取值范围是( )
A.0 B.(-∞,0]
C.(0,+∞) D.R
【解析】 由输出的结果为2,则执行了ELSE后面的语句y=2,即x>0不成立,所以有x≤0.故选B.
【答案】 B
2.下列程序语句的算法功能是( )
INPUT a,b,c
IF a<b THEN
a=b
END IF
IF a<c THEN
a=c
END IF
PRINT a
END
A.输出a,b,c三个数中的最大数
B.输出a,b,c三个数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
【解析】 由程序语句可知,当比较a,b的大小后,选择较大的数赋给a;当比较a,c的大小后,选择较大的数赋给a;最后输出a,所以此程序的作用是输出a,b,c中最大的数.
【答案】 A
3.下面程序在开始运行后,通过键盘输入三个值a=3,b=24,c=7,则输出结果是________.
程序:
INPUT “a,b,c=”;a,b,c
IF b>a THEN
t=a
a=b
b=t
END IF
IF c>a THEN
t=a
a=c
c=t
END IF
IF c>b THEN
t=b
b=c
c=t
END IF
PRINT a,b,c
END
【解析】 当a=3,b=24,c=7时,此时b>a,首先是a、b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b、c交换数值,即b=7,c=3,所以a=24,b=7,c=3.
【答案】 24,7,3
4.画出求函数y=的值的程序框图,并写出程序.
【解】 程序框图为:
程序为:
INPUT “x=”;x
IF x<0 THEN
y=x^2-3;
ELSE
IF x>0 THEN
y=x/2+5
ELSE y=0
END IF
END IF
PRINT y
END