课时提升作业(五)
输入语句、输出语句和赋值语句
(25分钟 60分)
一、选择题(每小题5分,共25分)
1.下列语句书写正确的个数是 ( )
①INPUT “a=,b=”,a,b
②PRINT 1010
③3=x
④x+y=0
A.0 B.1 C.2 D.3
【解析】选B.由三种语句的书写格式及其功能知,只有②正确,①,③,④都错误.
2.下列赋值语句正确的是 ( )
A.S=S+i2 B.A=-A
C.x=2x+1 D.P=
【解析】选B.在程序语句中乘方要用“^”表示,所以A项不正确;乘号“*”不能省略,所以C项不正确;D项中应用SQR(x)表示,所以D项不正确;B选项是将变量A的相反数赋给变量A,则B项正确.
【补偿训练】(2015·安阳高一检测)下列给出的赋值语句中正确的是 ( )
A.x+3=y-2 B.d=d+2
C.0=x D.x-y=5
【解析】选B.根据赋值语句特点可知,赋值号左边应该是一个变量,不能是常数或多个变量,更不能带有运算,故A,C,D错误.B项含义是把d+2的值赋给d,是正确的.
3.(2015·承德高一检测)下列所给的运算结果正确的有 ( )
①ABS(-5)=5; ②SQR(4)=±2;
③5/2=2.5; ④5/2=2;
⑤5MOD2=2.5; ⑥3^2=9.
A.2个 B.3个 C.4个 D.5个
【解析】选B.根据运算符号及函数的功能知,①,③,⑥正确,②,④,⑤不正确,故选B.
【补偿训练】当x的值为5时,PRINT“x=”;x在屏幕上输出的结果为 ( )
A.5=5 B.5 C.5=x D.x=5
【解析】选D.由输出语句可知,“x=”为提示语言,直接执行.
4.程序输出的结果A是 ( )
INPUT “A=”;1
A=A2
A=A3
A=A4
A=A5
PRINT A
END
A.5 B.6 C.15 D.120
【解析】选D.该程序输出的结果为A=1×2×3×4×5=120.
【补偿训练】下面程序运行后,a,b,c的值各等于 ( )
a=3
b=-5
c=8
a=b
b=c
c=a
PRINT a,b,c
END
A.-5,8,-5 B.-5,8,3
C.8,-5,3 D.8,-5,8
【解析】选A.依次执行各赋值语句后,最后a,b,c的值分别为-5,8,-5.
5.(2015·鞍山高一检测)执行如图算法语句后的结果为 ( )
INPUT “x,y=”;x,y
A=xy
B=x MOD y
C=Ay+B
PRINT A,B,C
END
(运行时从键盘上依次输入16和5)
A.80,1,401
B.80,3,403
C.80,3.2,403.2
D.80,3.2,404
【解析】选A.第一句输入x=16,y=5,第二句A=16×5=80,第三句B取16除以5的余数,所以B=1,第三句C=80×5+1=401.
【补偿训练】(2014·庆阳高一检测)下列一段程序执行后输出结果是 ( )
A=2
A=A+2
A=A+6
PRINT A
END
A.2 B.8 C.10 D.18
【解析】选C.结合赋值语句可知A=2,A=A+2=4,A=A+6=10.
二、填空题(每小题5分,共15分)
6.(2015·苏州高一检测)下列给变量赋值的语句中,
①5=a,②a+2=a,③a=b=4,④a=2a
其中正确的序号是 .
【解析】①错,因为赋值语句的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量;②错,赋值语句左边是一个变量,而不是代数式;③错,因为赋值语句不能把一个值同时赋给两个变量;④项正确.
答案:④
【补偿训练】“x=35”,“x=x+1”是某一程序先、后相邻的两个语句,给出以下说法:①x =35的意思是x=3×5=15.此式与算术中的式子是一样的;
②x=35是将数值15赋给x;
③x=35可以写为35= x;
④x=x+1语句在执行时“=”右边x的值是15,执行后左边x的值是16.
其中说法正确的序号是 .
【解析】赋值语句中的“=”与算术中的“=”是不一样的,式子两边的值也不能互换,从而只有②④正确.
答案:②④
7.下列语句执行完后,A,B的值各为 .
A=2
B=3
B=AA
A=A+B
B=A+B
END
【解析】A=2,B=2×2,即B=4,
A=A+B,即A=2+4=6,
B=A+B,即B=6+4=10.
答案:6,10
【补偿训练】写出下列程序运行的结果
a=1
b=2
c=a-b
b=a+c/b
PRINT a,b,c
END
输出结果为 .
【解析】执行第三句后,c=-1,执行第四句后,b=0,故输出a=1,b=0,c=-1.
答案:1,0,-1
8.(2015·大庆高一检测)下面程序的运行结果为 .
a=2
b=3
c=4
a=b
b=c+2
c=b+4
d=(a+b+c)/3
PRINT “d=”;d
END
【解析】a=b=3,b=c+2=4+2=6,c=b+4=6+4=10.所以d=(a+b+c)=(3+6+10)=.
答案:d=
三、解答题(每小题10分,共20分)
9.把下列程序用程序框图表示出来.
A=20
B=15
A=A+B
B=A-B
A=AB
PRINT A+B
END
【解析】程序框图如下:
【补偿训练】给出如图所示的程序框图,写出相应的程序.
【解析】程序如下
INPUT “x,y=”;x,y
x=x/2
y=3y
PRINT x,y
x=x-y
y=y-1
PRINT x,y
END
10.(2015·杭州高一检测)2015年春节期间,某水果店的三种水果标价分别为香蕉:2元/千克,苹果:3元/千克,梨:2.5元/千克.请你设计一个程序,以方便店主的收款.
【解析】程序如下:
INPUT “a,b,c=”;a,b,c
x=2a
y=3b
z=2.5c
S=x+y+z
PRINT S
END
【补偿训练】已知函数f(x)=x2+3x+1,编写一个程序来计算f(4)的值.
【解析】程序为:
x=4
y=x^2+3x+1
PRINT “f(4)=”;y
END
(20分钟 40分)
一、选择题(每小题5分,共10分)
1.将两个数a=8,b=7交换,使a=7,b=8,使用赋值语句正确的一组为 ( )
A.a=b,b=a B.c=b,b=a,a=c
C.b=a,a=b D.a=c,c=b,b=a
【解析】选B.A执行完后a=7,b=7,C执行完后a=8,b=8,所以都不正确;D中执行a=c时,c还没有赋值,所以不正确.
2.(2015·泉州高一检测)如图所示的程序执行后输出A的值为 ( )
A=10
B=20
C=A
D=B
B=C
A=B
PRINT A
END
A.6 B.8 C.10 D.20
【解析】选C.因为A=10,B=20,
C=A=10,
D=B=20,
B=C=10,
A=B=10,
所以输出A的值为10.
【补偿训练】下列语句执行后输出的结果为 ( )
i=5
j=-2
i=i+j
j=i+j
PRINT i,j
END
A.5,-2 B.3,3 C.3,1 D.-2,5
【解析】选C.第一句将5赋给i,第二句将-2赋给j,第三句将5+(-2)的值3赋给i,第四句将3+(-2)的值1赋给j,所以最终输出3,1.
二、填空题(每小题5分,共10分)
3.下列正确的语句的个数是 .
①输入语句 INPUT a+2;
②赋值语句 x=x-5;
③输出语句 PRINT M=2.
【解析】①中输入语句只能给变量赋值,不能给表达式a+2赋值,所以①错误;②中x=x-5表示变量x减去5后再将值赋给x,即完成x=x-5后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.
答案:1
4.(2015·咸阳高一检测)读如下两个程序,完成下列题目.
程序(1):
x=1
x=x2
x=x3
PRINT x
END
程序(2):
INPUT “x=”;x
y=xx+6
PRINT y
END
(1)程序(1)的运行结果为 .
(2)若程序(1),(2)运行结果相同,则程序(2)输入的值为 .
【解析】赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序(1)中x的值最后为6.要使程序(2)中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.
答案:(1)6 (2)0
三、解答题(每小题10分,共20分)
5.(2015·信阳高一检测)已知函数f(x)=x2-2x+1,y1=f(3),编写一个程序计算f(y1)的值.
【解析】程序如下:
x=3
y=x^2-2x+1
y=y^2-2y+1
PRINT y
END
【补偿训练】已知直线方程为Ax+By+C=0(A·B≠0),试编写一个程序,要求输入符合条件的A,B,C的值,输出该直线在x轴、y轴上的截距和直线的斜率.
【解析】
INPUT “A,B,C=”;A,B,C
M=(-C)/A
N=(-C)/B
k=(-A)/B
PRINT “该直线在x轴上的截距为”;M
PRINT “该直线在y轴上的截距为”;N
PRINT “该直线的斜率为”;k
END
6.(2015·韶关高一检测)某代销点出售《无线电》《计算机》《看世界》三种杂志,它们的定价分别为1.20元、1.55元、2.00元,编写一个程序,求输入杂志的订购数后,立即输出所付金额.
【解析】程序如下:
INPUT “《无线电》本数”;a
INPUT “《计算机》本数”;b
INPUT “《看世界》本数”;c
P1=1.20
P2=1.55
P3=2.00
M=aP1+bP2+cP3
PRINT M
END
【补偿训练】在R1,R2,R3这三个电阻并联的电路中,电压为U,则电流的公式为I=U,写出求电流I的程序.
【解题指南】用顺序结构实现这一算法,采用INPUT语句输入R1,R2,R3,U的值,利用赋值语句得到I=U,最后输出I.
【解析】求电流I的程序为:
INPUT R1,R2,R3
INPUT U
I=U(1/R1+1/R2+1/R3)
PRINT “I=”;I
END