[A 基础达标]
1.下面的问题中必须用条件语句才能实现的个数是( )
①已知三角形三边长,求三角形的面积;
②求方程mx+n=0(m,n为常数)的根;
③求三个实数a,b,c中的最大者;
④求函数f(x)=ax2+bx+c(a≠0)的图象的对称轴方程.
A.4 B.3
C.2 D.1
解析:选C.①已知三角形三边长,求三角形的面积,直接代入公式,需要用顺序结构;②求方程mx+n=0(m,n为常数)的根,需要分类讨论m的取值,根据取值的不同,执行后面不同的算法;③求三个实数a,b,c中的最大者,需要用到条件语句;④求f(x)=ax2+bx+c(a≠0)的图象的对称轴方程,不需要用条件语句.
2.条件语句的一般形式为“IF A THEN B ELSE C”,其中语句C的作用是( )
A.条件语句
B.不满足条件时执行的内容
C.条件
D.满足条件时执行的内容
解析:选B.“IF A THEN B ELSE C”,先执行条件,若“真”,则执行B,若“假”,则执行C.
3.下面程序的算法功能是:判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.
INPUT “x=”;x
IF __________ THEN
y=-x
ELSE
y=x*x
END IF
PRINT “y=”;y
END
则横线处填入的条件应该是( )
A.x>0 B.x<0
C.x>=0 D.x<=0
解析:选D.条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,故选D.
4.(2019·福建省永春第一中学月考)根据下列算法语句,当输入x为60时,输出y的值为( )
INPUT x
IF x<=50 THEN
y=0.5*x
ELSE
y=25+0.6*(x-50)
END IF
PRINT y
END
A.25 B.30
C.31 D.61
解析:选C.因为x=60>50,所以y=25+0.6×(60-50)=31.故选C.
5.运行程序:
INPUT A,B
IF A>B THEN
C=A/2
ELSE
C=B/2
END IF
PRINT C
END
在两次运行中分别输入8,4和2,4,则两次运行程序的输出结果分别为( )
A.8,2 B.8,4
C.4,2 D.4,4
解析:选C.对A、B的情况进行区分,当输入8,4的时候,A>B,所以C==4;当输入2,4时,A>B不成立,所以选择执行C==2.
6.执行下面的程序,如果输出的值是25,则输入的x的值为________.
INPUT x
IF x<0 THEN
y=(x+1)*(x+1)
ELSE
y=(x-1)*(x-1)
END IF
PRINT y
END
解析:程序的功能是求函数
y=的函数值.
由或解得x=-6或x=6.
答案:6或-6
7.在下面这个程序中,
INPUT “a=”;a
IF a>10 THEN
b=a10+a MOD 10
ELSE
b=a
END IF
PRINT b
END
若输入a=35,则输出的b=________.
解析:a=35>10,故执行b=a10+a MOD 10,即b=3510+35 MOD 10=3+5=8.
答案:8
8.读下面的程序,并回答问题.
INPUT x
IF x< =2 THEN
y=x∧2
ELSE
IF x< =5 THEN
y=2*x-3
ELSE
y=1/x
END IF
END IF
PRINT y
END
(1)画出该程序对应的程序框图;
(2)若要使输入的x值与输出的y值相等,则这样的x值有几个?
解:由程序可知这是一个求y=的函数值的程序.
(1)程序框图如图所示.
(2)若x=x2,则x=0或x=1,此时均满足x≤2;若2x-3=x,则x=3,满足25.
综上可知,满足题设条件的x值有3个,即x=0或x=1或x=3.
9.儿童乘坐火车时,若身高不超过1.2 m,则无需购票;若身高超过1.2 m但不超过1.5 m,可买半票;若超过1.5 m,应买全票,试写出一个购票的算法程序.
解:用x表示儿童身高,则购票的算法程序如下:
INPUT “儿童身高”;x
IF x<=1.2 THEN
PRINT “免票”
ELSE
IF x>1.5 THEN
PRINT “全票”
ELSE
PRINT “半票”
END IF
END IF
END
[B 能力提升]
10.下面程序在开始运行后,通过键盘输入三个值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,24,7 B.3,7,24
C.24,7,3 D.7,3,24
解析:选C.当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.
11.下面的程序是求一个函数的函数值的程序:
INPUT x
IF x<=0 THEN
y=-x
ELSE
IF x>0 AND x<=1 THEN
y=0
ELSE
y=x-1
END IF
END IF
PRINT y
END
若执行此程序的结果为3,则输入的x值为________.
解析:此程序是求函数y=的值.若输出的结果为3,则有可能x-1=3即x=4,或-x=3,即x=-3.
答案:4或-3
12.(2019·广西钦州市期末考试)读下列程序:
INPUT x
IF x<0 THEN
y=x∧2
PRINT y
ELSE
y=2*x
PRINT y
END IF
END
(1)根据程序,画出对应的程序框图;
(2)写出该程序表示的函数,并求出当输出的y=4时,输入的x的值.
解:(1)对应的程序框图如图所示.
(2)该程序表示的函数是y=
当x<0时,由y=x2=4,得x=-2;
当x≥0时,由y=2x=4,得x=2.
综上所述,当输出的y=4时,输入的x的值是x=±2.
13.(选做题)如图所示,在边长为16的正方形ABCD的边上有一动点P,点P沿边线由B→C→D→A(B为起点,A为终点)运动.若设点P运动的路程为x,△APB的面积为y,试写出程序,根据输入的x值,输出相应的y值.
解:由题意可得函数关系式为y=,
显然需利用条件语句的嵌套或叠加编写程序.
程序如下:
INPUT “不大于48的非负数x”;x
IF 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
课件51张PPT。第一章 算法初步第一章 算法初步语句体语句体1语句体2语句体END IF语句体1语句体2本部分内容讲解结束按ESC键退出全屏播放