题库 高中信息

题干

如图所示的流程图片断:

该流程图中循环部分结束后,变量s的值是(  )
A.3B.6C.10D.12
上一题 下一题 0.99难度 选择题 更新时间:2019-04-12 03:12:38

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

同类题1

小李父母开了一家农家乐,顾客可以到桔园自摘桔子,收费标准是门票每人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位顾客需付总费用__________元。

同类题5

酒店房间管理问题:某酒店房间(房间数小于1000)编号按1、2、3……连续编号,客房经理对没有入住的房间使用如下方法来登记管理。连续的空房间,登记第一个房间的编号和连续的空房间数,比如空房间1,2,6,7,8,10,则登记3条记录,分别为1_2,6_3,10_1。某旅客如果退房,需要把这个房间号也登记进去,共有4中情况需要处理:
(1)上靠:若退的房间号为3,则原来登记的记录变为1_3,6_3,10_1;
(2)下靠:若退的房间号为5,则原来登记的记录变为1_2,5_4,10_1;
(3)上下靠:若退的房间号为9,则原来登记的记录变为1_2,6_5;
(4)上下都不靠:若退的房间号为4,则原来登记的记录变为1_2,4_1,6_3,10_1
根据上述规则,小明编写了相应的VB程序,程序启动时读入空房间数据,并在列表框List1中显示,在文本框Text1中输入退房号,单击“退房”按钮后更新列表框List1中的数据。
程序界面如下图所示,请回答下列问题:

(1)当前登记的记录有3条,分别为2_3,6_2,9_4。某旅客退掉8号房间,则登记的记录将变为________。
第二部分通用技术(共50分)
(2)实现上述功能的VB程序如下,请将划线处的代码补充完整。
Const n=1000
Dim a(0 To n)As Integer a(i)保存第i条记录的开始房间号
Dim b(0 To n)As Integer b(i)保存第i条记录的房间数
Dim c As Integer, k As Integer, sp As Integer k为原始记录数
Private Sub Form_Load()
程序启动时从数据库中读取原始k条记录,依次存入a(1),b(1),a(2),b(2),…,a(k),b(k),代码略
为了程序处理方便,虚设下面两条记录
A(0)=0:b(0)=0:sp=k+1:a(sp )=1000:b(sp)=0
End Sub
Private Sub Command1_Click()

Dim i As Integer, j As Integer

c=Val(Text1.Text)

i=1

Do While a(i)<c

i=i+1

Loop

i=i-1

以下处理退房登记问题
Ifa(i)+b(i)=c Then
If a(i+1)=c+1Then   处理第3种情况

  ①__________

For j=i+1 To sp-1

a(j)=a(j+1):b(j)=b(j+1)
Next j
sp = sp-1

Else 处理第1种情况

b(i)=b(i)+1

End If

ElseIfc+1=a(i+1)Then 处理第2种情况

a(i+1)=c:b(i+1)=b(i+1)+1

Else 处理第4种情况

For j= ②________

a(j)=a(j-1):b(j)=b(j-1)

Next j

a(i+1)=c:b(i+1)=1: ③______

End If
List1.Clear
For i=1To sp-1

List1.Addltem"第"& CStr(i) &"条记录"&CStr(a(i))&"_"&CStr(b(i))

CStr函数的作用是将数字转成字符串

Next i

End Sub