题库 高中信息

题干

有如下程序段:
Dim a(1 To 10) As Integer
Dim i As Integer, j As Integer, m As Integer
Dim key As Integer
i = 1: j = 10: key = Val(Text1.Text)
Do While i <= j
m = (i + j) \ 2
If key < a(m) Then
j = m - 1
ElseIf key > a(m) Then
i = m + 1
Else
Do While m > 1
If a(m - 1) = key Then
m = m - 1
Else
Exit Do
End If
Loop
Exit Do
End If
Loop
数组中a(1)到a(10)依次为“1,1,2,3,3,3,3,4,4,4”,若在文本框Text1中输入值3,经上述程序段执行后变量m的值为
A.7
B.6
C.5
D.4
上一题 下一题 0.99难度 选择题 更新时间:2019-04-11 09:39:33

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

同类题1

VB猜价格小程序
高二(8)班决定在第11周开一个主题班会,为了丰富班会的内容,班主任要求班级几位信息高手,设计一个小程序,这事难不倒班上的各位大神,他们齐心协力,很快就完成了。
编写程序,实现如下功能:有6张待猜的商品图片加载到Image1中,通过上一个和下一个按钮进行切换,主持人可以通过“设置价格”按钮Command2对每一张商品图片设置一个价格,然后,单击“我来猜一猜”按钮开始猜价格游戏,每人只给8次(这个数据存放在变量n中)猜价格的机会,8次机会用完后,如果猜中价格,则在文本框Text2中显示处价格。

(1)窗体中有________个对象,________类。
(2)Command1对象的Caption属性值是_______________________________。
(3)实现上述功能的部分VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer
Dim n As Integer    '变量n存储猜价格的次数
Dim cai_shu As Integer    '变量cai_shu存储猜的价格
n = ①__________________
For i = 1 To n
cai_shu = Val(InputBox("请输入当前商品的价格:", "输入价格"))
If cai_shu = jg(dqtp) Then  'jg(dqtp)存储的是当前商品图片的价格
MsgBox "恭喜你猜对了"
Text2.PasswordChar = ""
Text2.Text = Text2.Text + "元"
Exit For
ElseIf ②__________________ Then
MsgBox "猜大了,再来猜一猜"
Else
MsgBox "猜小了,再来猜一猜"
End If
Next i
If i > n Then
MsgBox "猜价格次数用尽,很遗憾,你没有猜对!"
③___________________
End Sub

同类题2

小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s第23个位插入了“abc”,“模拟撤销”过程按照“历史记录”的逆序进行,将字符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如下图所示。

小王编写的“模拟撤销”VB程序如下,文本框 Text1中的内容是撤销前字符串,文本概Text2中的内容是历史记录,单击“撤销”按钮Command1后,在标签Label1中显示撤销过程,程序运行界面如由下图所示。
 
(1)实观上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是______ 。(选填,填字码:
A.Label1  /B.Command1  /C.Text1和Text2)
(2)请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s As String, t As String, ch As String
Dim c As String, num As String, ss As String
Dim n As Integer, i As Integer
s = Text1.Text: t = Text2.Text
c = "": num = "": ss = s
For i = Len(t) To 1 Step -1
___________________   
If ch >= "a" And ch <= "z" Or ch >= "A" And ch = "Z" Then
c = ch + c
ElseIf ch >= "0" And ch <= "9" Then
num = ch + num
Else
n = Val(num)
If ch = "-" Then
s = Mid(s, 1, n - 1) + ____________________________  
Else
s = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)
End If
ss = ss + "→" + s
c = "": num = ""
End If
Next i
Label1.Caption = ss
End Sub
(3)运行该程序,若文本框Text1中的内容是"April",文本框Text2中的内容是”-3p+3ri-6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是_____________。

同类题5

(加试题)编写一个成绩查询程序,输入要查找的分数,输出该分数的名次及同分人数,其算法是:用数组a存放不同的分值,数组m存储相同分数的人数,数组mc存储不同分数的名次。例如,数据库中有一组成绩(已按降序排列):98,95,95,92,90,90,87,按该算法,各数组值如下表所示:
i
1
2
3
4
5
a
98
95
92
90
87
m
1
2
1
2
1
mc
1
2
4
5
7
 
程序界面如下图所示,在文本框Text1中输入查询成绩,点击“查找”按钮,若找到,则输出该分数的名次和同分数的人数,若找不到,则输出“查无此分”。

程序代码如下,请在划线处填入合适的代码。
Dim n As Integer
Dim a(l To 1000) As Integer ’存放不同的分数值
Dim m(0 To 1000) As Integer ’存放相同分数的人数
Dim mc (0 To 1000) As Integer ’存放此分数的名次
Private Sub Form_Load()
Dim conn As New ADODB. Connection
Dim rs As New ADODB. Recordset
Dim tmp As Integer
Dim s As Integer
tmp = -1: n = 0
conn. Connectionstring = 〃provider=Microsoft. AC
A.OLEDB. 12. 0; data source=〃 & App. Path & 〃\mydb. accdb〃
conn. Open
Set rs. ActiveConnection = conn
rs.Open "Select * from score"
mc(0) = 1: m(0) = 0

Do While Not rs. EOF

s = rs. Fields (〃成绩〃)
If s = tmp Then ’当前读入分数与上一个分数相同
m(n) = __________
Else
n = n + 1
a(n) = s
m(n) = 1
mc(n) = ___________ 
End If
_____________
rs. MoveNext

Loop

End Sub
Private Sub Command1_Click0
Dim key As Integer, i As Integer, j As Integer, mid As Integer
key = Val (Text1.Text)
i = 1: j = n
mid = (i + j) \ 2
Do While i <= j And ____________ 

mid = (i + j) \ 2

If a(mid) < key Then

j = mid – 1

Else

i = mid + 1

End If

Loop
If a(mid) = key Then

Label2. Caption = 〃名次: 〃+ Str(mc (mid)) + 〃同分人数: 〃+ Str(m(mid))

Else

Label2. Caption = 〃查无此分〃

End If
End Sub