题库 高中信息

题干

小李父母开了一家农家乐,顾客可以到桔园自摘桔子,收费标准是门票每人20元,采摘的桔子每斤10元,付费时若能完成小游戏则有优惠。用VB软件设计的自摘收费程序,功能如下:在文本框Textl中输入自摘的人数n,在文本框Text2中输入摘得桔子重量w。界面右上方是小游戏部分,程序在文本框Text3显示随机产生的桔子层数m,根据图中所示的堆桔子方法(第1层1个;第2层4个;第3层9个……),请顾客计算出m层桔子总数s,输入到文本框Text4中,单击“是否优惠计算”按钮Command1,就会在标签Label4中输出最后的费用f,并在标签Label7中给出提示是否“优惠后的费用”。运行效果如图所示: 

(1)自摘收费程序所用的算法是_____________(填:解析算法/枚举算法)。
(2)为实现上述功能,请在划线①和②处填入合适的代码。
Dim m As Integer
Private Sub Command1_Click() 
Dim n As Integer, s As Integer
Dim w As Single, f As Single
n = Val(Text1.Text) '输入大人人数n
w = Val(Text2.Text)     '输入重量w
f = 20 * n + 10 * w '计算无优惠的费用f
s = 0
For i = 1 To m '计算桔子总数
s = s + i * i
Next i
If  s= ①__________  Then '判断是否拿到优惠计算费用
f = f * 0.5 + s * 0.3 '计算优惠后的费用
Label7.Caption = "恭喜你,这是优惠后的费用!"
Else
Label7.Caption = "很遗憾,你没有算对哦!"
End If
Label4.Caption = Str(f) '输出最后的费用f
End Sub
Private Sub Form_Load()
Randomize
m = ②________________ '随机产生15层及以内的桔子层数(0不算)
Text3.Text = Str(m)
End Sub
(3)若3位顾客摘得5斤桔子,游戏中需要计算出3层桔子的总个数,但是他们没有算对桔子个数,在text4中输入了16,那么这3位顾客需付总费用__________元。
上一题 下一题 0.99难度 填空题 更新时间:2019-05-05 08:49:12

答案(点此获取答案解析)

同类题4

我国居民身份证号是由 18 位字符组成,其中前 17 位是数字,第 18 位是校验位(校验
位字符在“0”~“9”或“X”中选取)。由前 17 位数字经过一定的规则计算得到校验值, 在查验居民身份证号有效性时,如果校验位中的字符与计算所得校验值相等则身份证号有效, 否则无效。
校验值计算规则如下:
第一步:将身份证号前 17 位数字分别乘以不同的系数后相加,对应系数如下表所示。
位数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
系数
7
9
10
5
8
4
2
1
6
3
7
9
10
5
8
4
2
 
第二步:将第一步的计算结果除以 11,得到余数。 第三步:根据第二步的计算结果从下表获取对应的校验值。
余数
0
1
2
3
4
5
6
7
8
9
10
校验值
1
0
X
9
8
7
6
5
4
3
2
 
例如:某身份证号为 34052419800101001X。要计算此身份证的校验值步骤如下: 第一步:计算 3*7+4*9+0*10+5*5+……+1*2=189
第二步:189 除以 11 得到余数为 2
第三步:由余数 2 获取校验值 X。
根据以上规则小王编写了一个验证身份证号是否有效的 VB 程序,功能如下:在文本框 Text1 中输入身份证号,单击“验证”按钮 Command1 后,在列表框 List1 中显示验证结果。 程序运行界面如图1 所示。
(1)设计程序界面时,应使用图 2 中的____(填写相应编号)添加列表框对象 List1。

(2)实现上述功能的 VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer, sum As Integer, pos As Integer
Dim idCode As String, result As String
Const xs = "0709100508040201060307091005080402"    '存储前 17 位每位系数
Const checkCodeStr = "10X98765432"    '存储余数对应的检验值
①________
sum = 0
For i = 1 To 17 Step 1
a = Val(Mid(idCode, i, 1))
b = ②________
sum = sum + a * b
Next i
pos =
checkCode = Mid(checkCodeStr, pos, 1)
If checkCode = Mid(idCode, 18, 1) Then
result = "有效"
Else
result = "无效"
End if
List1.AddItem (idCode & "    " & result)
End Sub
(3)程序中加框处代码有误,应修改为________。