2.7多分支结构的应用实例一课一练
一、填空题
1.变量a,b,c分别保存一元二次方程的二次项、一次项系数和常数项(其中a≠0),变量x1和x2分别保存方程的两个根。完善下列程序,使程序运行时能根据方程的a,b,c值计算根并输出相应信息。
d=
if d>0 then
x1= (-b + Sqr(d)) / (2 * a)
x2=
text4.text=str(x1)
text5.text=str(x2)
label6.caption=“有两个不同的实数根”
else
if then
x1=(-b)/(2*a)
x2=x1
text4.text=str(x1)
text5.text=str(x2)
label6.caption=“有两个相同的实数根”
else
text4.text=
text5.text=""
label6.caption=
end if
end if
2.下面的程序用于根据文本框x中输入的内容进行以下处理:
若x中的值为2,4,6,则打印“x的值为2,4,6”;
若x中的值为10到20之间的数,则打印“x的值为10~20”;
若x中的值为大于20的数,则打印“x 的值大于20”;
否则,打印“x不在范围内”;
Private Sub Command1_Click()
x = Val(Text1.Text)
Select Case x
Case
Print "x的值为2,4,6"
Case
Print "x的值为10~20"
Case
Print "x的值大于20"
Print "x不在范围内"
End Select
End Sub
3.阅读程序写结果。
year=2021 if (year%400==0) or ( year%4==0 and year%100!=0 ): days=366 else: days=365 print(days) ⑴程序运行结果是:________。 a=88 b=48 c=a//b If c==0: c=a*10+b . elif 1<=c<=9: c=a*100+b elif 10<=c<=99: c=a*1000+b print(c) ⑵程序运行结果是:________。
for i in range(1,10,2): print(iend=" ") ⑶程序段执行结果是:________。 for i in range(1,100): if i%3==0 and i%7==0: print(iend=" ") ⑷程序段执行的结果是:________。
二、单选题
4.小度在学习了VB语言后,对程序设计产生了浓厚的兴趣。电脑课上,小度编写了一个如图11所示的汽车停车收费的VB程序,若停车时间在12小时以内,收费10元;停车超过12小时,则每超过1小时加收1元。聪明的你,能对小度的程序进行分析吗?
1 Dim time, price As Integer ‘time代表停车时间price代表停车费用 2 time = Text1. Text ‘在文本框输入停车时间 3 If time <= 12 Then 4 price= 10 5 Else 6 price= 10 + (time - 12) 7 EndIf 8 Form1. Print price
【图 11】
(1).程序的第2行“time = Text1. Text”,表示可以在VB界面的文本框中输入停车时间。若小度输入的time值为8,那么应该缴纳的停车费用price的值为( )。
A. 10 B. 18 C. -4 D. '0
(2).若小度输入的time值为16,那么应该缴纳的停车费用price的值为( )。
A. 10 B. 14 C. 0 D. -6
(3).若小度输入的time值为-1,此时应该缴纳的停车费用price值是( )。
A. 0 B. 10 C. 编译错误 D. -12
(4).在上小题中,虽然小度输入的时间值为负数,但程序依然显示了需要缴纳费用。为了使程序更合理,我们需要修正程序中的漏洞,让停车时间必须大于0。以下修改正确的是( )。
A. 程序的第2行,改为“time >0”
B. 程序的第3行,改为“If time>0 and time <= 12 Then”
C. 程序的第3行,改为“If time>0 or time <= 12 Then”
D. 程序的第5行,改为“Else If time>0 or time <= 12 Then”
5.运行下面的 Visual Basic程序,单击命令按钮 Command1,出现如下图所示的提示信息:出现该错误的原因是( )
Private Sub Command1_Click()
Dim a As Single, b As Single
a = Val(Text1.Text)
b = 10
If a >= b
b = a * a + 2 * b
End If
Label1.Caption = Str(b)
End Sub
A. If语句缺少Then B. If语句缺少Else
C. 变量a的数据类型说明错误 D. 变量b的数据类型说明错误
6.当在文本框Text1中输入3时,执行下面的程序后,Y的值是( )
x=Val(Text1. Text)
If x<=2 Then
y=2
Else
If x<=3 Then
y=3
Else
y=4
End If
End If
A. 2 B. 3 C. 4 D. 程序出错,没有结果
7.下列Python语法表述不正确的是( )。
A. 在if语句和while语句中,同一层次的语句模块每行必须是相同的缩进空格数。
B. while语句中,一般在循环体中要有改变判断条件的语句,否则会出现“死循环”。
C. Python用不同的缩进来表达逻辑层次。
D. else后可以不加冒号。
8.在Python中输入以下程序:
if int (input ( ) ) %5= =0:
print("yes")
if int (input ( ) ) %5!=0:
print("no")
如果输入7,则输出( )。
A. Yes B. Print C. No D. Else
9.下列程序段执行结果为 ( )
x=5
y=-6
If Not x>0 Then x=y-3 Else y=x+3
Print x-y; y-x
A. -3 3 B. 5 -9 C. 3 -3 D. -6 5
10.下图所示的程序框图,能判断任意输入的数x的奇偶性,其中判断框内的条件是( )
A. m=0 B. x=0 C. m=1 D. x=1
11.下列程序运行后,变量y的值是( )。
x=10
if x<=10:
y=10*x
else:
y=x*20+10
A. 80 B. 90 C. 100 D. 210
12.运行该程序,输入75,则输出结果是( )。
score=int (input ("请输入考试成绩"))
if score>=90:
print("A")
elif score>=80:
print("B")
elif score>=70:
print("C")
elif score>=60:
print("D")
else:
print("E")
A. "A" B. "B" C. "C" D. "D"
13.下面程序运行的结果是( )
i=1
sum=0
while i<=20:
if I %2==0:
sum=sum-i
else:
sum=sum+i
i +=1
print (sum)
A. 1 B. 6 C. -5 D. -10
14.若整型变量a的值为3、b的值为2,则下列程序段执行后整型变量c的值为( )。
If a>5 then
if b<4 then
c=a-b
else
c=b-a
End if
Else
if b>3 then
c=a*b
else
c= a mod b
End if
End if
A. 2 B. -2 C. 6 D. 1
15.如下一段VB程序运行后,变量a的值为( )。
Dim i As Integer, a As Integer
i=6
a=6
If i <6 Then
a = a +4
Else
a = a -4
End If
A. 2 B. 10 C. 6 D. 4
16.下面程序的执行结果是( )(提示:Print语句是表示输出)
I=10
J=20
If I>J Then Print I Else Print J
A. 10 B. 20 C. 1020 D. 2010
17.求1-100之间所有偶数和,请补充完成方框处代码( )。
s=0
for i in range(101):
If :
s=s+i
print (s)
A. i//2=0 B. i%2=0 C. i%2==0 D. i//2==0
18.根据下图回答下面小题
(1).在Python中运行图中的程序,得到的结果是( )。
A. 21 15 B. 15 21 C. 15 0 D. 0 21
(2).题中的程序是( )结构。
A. 逻辑 B. 顺序 C. 循环 D. 分支
(3).Python中,( )一旦创建就不可修改的。
A. 列表 B. 元组 C. 字典 D. 集合
三、解答题
19.近年来网络技术的迅猛发展,网络购物已经成为当下最热门的购物渠道。小明同学在网购平台上看中了五双运动鞋,想在这五双中选择一双购买(原价和折扣详见商品折扣表)。但是小明的预算是不超过200元,更省钱最好,请你为小明设计一款软件,选择购买哪一双运动鞋最实惠。
商品折扣表:
商品名称 原价 折扣力度
篮球鞋001 488元 4折
篮球鞋002 458元 5折
跑步鞋001 398元 5折
跑步鞋002 358元 6折
徒步鞋001 339元 6折
软件设计要求:(如图)
①新建一个VB工程,完成“折扣商品计算器”程序的设计。将工程文件以sale.vbp、窗体文件以sale.frm保存到考试目录“操作题”下;
②窗体的标题为“折扣商品计算器”;窗体的左边有三个标签,Label1的属性为“商品原价a:”、Label2的属性为“折扣力度b:”、 Label3的属性为“折后价格c:”;它们的旁边分别有三个文本框,Text1用于商品原价、Text2用于输入折扣力度、Text3用于输出折后价格;在文本框的右边有三个标签,Label4的属性为“元”、Label5的属性为“折”、 Label6的属性为“元”;
③单击“计算”按钮(Command1),根据计算公式将相应的提示信息显示在标签Text3中;
计算公式为:折后价格=商品原价*折扣力度;如果折后价格不高于200元,MsgBox函数提示“可以购买!”;如果折后价格高于200元,MsgBox函数提示“对不起!买不起,请您放弃!”。请编程实现。
④结论:最适合小明的运动鞋是什么。请填写商品名称
20.设计一个计算程序。该程序用户界面自己设计,由四个文本框:文本框1(text1,语文)、文本框2(text2,数学)、文本框3(text3,英语)、文本框4(text4,平均分),和三个按钮:命令按钮1(command1,清空)、命令按钮2(command2,计算)、命令按钮3(command4,退出)组成。程序运行后,用户按清除按钮,则清除文本框中显示的内容,按计算按钮,则计算三科平均成绩。单击退出按钮则退出。
答案解析部分
一、填空题
1. b*b-4*a*c;(-b - Sqr(d)) / (2 * a);d=0;“ ”;无实根
2. Is = 2,4,6;Is > 10 ,Is < 20或者10 To 20;Is > 20;Case Else
3. 365;8848;1 3 5 7 9;21 42 63 84
二、单选题
4. (1)A
(2)B
(3)B
(4)B
5. A
6. B
7. D
8. C
9. A
10. C
11. C
12. C
13. D
14. D
15. A
16. B
17. C
18. (1)B
(2)D
(3)B
三、解答题
19.
4 结论 篮球鞋001
完整程序:
写法1:
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a * b / 10
Text3.Text = Str(c)
If c <= 200 Then
MsgBox ("可以购买!")
Else
MsgBox ("对不起!买不起,请您放弃!")
End If
End Sub
写法2:
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a * b / 10
Text3.Text = Str(c)
If c > 200 Then
MsgBox ("对不起!买不起,请您放弃! ")
Else
MsgBox ("可以购买!")
End If
End Sub
20. 解:程序参考:
Private Sub Command1_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command2_Click()
If Text1. Text="" Or Text2.Text="" Or Text3.Text="" Then
MsgBox "成绩输入不全!
Else
Text4.Text=(Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text))/3
End If
Sub End
Private Sub Command3_Click()
Unload Me
End Sub