题库 高中信息

题干

有如下程序段:
i = 1: j = 8: count = 0:
f = False
Key = Val(Text1.Text)
Do While i <= j
m = (i + j) \ 2

If a(m) = Key Then

count = count + 1
f = True
End If
If a(m) < Key Then
i = m + 1
Else
j = m - 1
End If Loop
数组元素 a(1)到 a(8)分别为 1,2,3,4,5,6,6,7,在 Text1 输入6,执行该程序段后,下 面 说法正确的是
A.f 的值为 FalseB.j 的值为 5C.count 的值为 2D.m 的值为 6
上一题 下一题 0.99难度 选择题 更新时间:2019-04-15 08:55:13

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

同类题4

(加试题)某校举行班班有歌声比赛,参赛班级的成绩按照班级序号保存在“bbygs.accdb”数据库文件中,为了快速计算每个班级最终的分,设计了一个VB程序,该程序能够将8个评委的打分按照从高到低的顺序排序,然后去掉一个最高分和一个最低分,最后计算平均值作为参赛班级的成绩。程序界面如图:单击“提取”按钮Command1,在列表框list1中显示班级序号和该班级8个评委的打分成绩,单击“排序”按钮Command2后,在列表框list2中按降序排序。单击计算得分按钮Command3,在文本框text1中显示最终成绩。按此要求编写程序如下:
Dim class(1 To 30) As Integer '存放班级序号的数组定义为class
Dim score(1 To 8) As single '存放班级各评委打分的数组定义为score
Private Sub Form_load() '提取某班级的评委打分
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "Provider=Microsoft.AC
A.OLEDB.12.0;Data Source=" + App.Path + "\bbygs.accdb "
conn.Open
Set rs.ActiveConnection = conn
rs.Open "SELECT * FROM score " 
n = 0
Do While Not rs.EOF   '到最后一条记录后退出循环
n = n + 1
class (n) = rs.Fields("班级序号").Value
score (n) = rs.Fields("评委打分").Value
rs.MoveFirst '① 指针移动到下一条记录
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
for i=1 to n
List1.AddItem str(score(i))
Next i
End sub
Private Sub Command1_Click()  
Dim i as integer
Dim j as integer
Dim t as single

For i=1 to 8
List2.AddItem str(score(i))
Next i
End sub
Private Sub Command2_Click()   '计算班级平均得分
Dim i As Integer
Dim sum As single
For i=2 to 7
sum=sum+score(i)
Next i
Text1.text=  
End sub
(1)程序中①划线处有错,应改为____________________。
(2)加矩形框处的程序所采用的算法是_____________排序。
(3)程序中②划线处应填入___________,程序中③划线处应填入___________。

同类题5

(加试题)小明编写了一个数据加密的VB程序功能如下:在文本框Text1中输入明文,单击“加 密”按钮Command1后在文本框Text2中显示加密后的密文,运行界面如下图所示。

其中加密算法如下:
①将明文中的ASCII码每3个字节为一组(该明文字符串均为ASCII码,且字节数为3的倍数),顺次连接 后得到24位二进制数
②将①中的24位二进制数每8位进行一次翻转操作,比如原来的“0101 0001”变为“1000 1010”
③将②所得24位二进制数逐位取反,比如原来的“1110”变为“0001”
④将③中所得的24位二进制数每6位一组转换为相应的十进制数,即得到对应的密文
⑤将所有密文顺序连接并输出 实现上述功能的VB程序如下,请回答下列问题:
(1)按照上述加密算法进行加密,则“ABC”的密文是________(已知“A”的ASCII码值为65)
(2)请在划线处填入合适代码:
Dim a(1 To 24) As Integer, k As Integer
Private Sub Command1_Click()
Dim mw As String, ch1 As Integer, ch2 As String, ch3 As String, s As String
Dim m As Integer, i As Integer, j As Integer
s = ""
mw = Text1.Text    ‘mw存储明文字符串
For i = 1 To Len(mw) Step 3
For j = 1 To 24    ‘初始化数组,用于存储三个字节的二进制数
a(j) = 0
Next j k=1
ch1 = Asc(Mid(mw, i, 1))
ch2 = Asc(Mid(mw, i + 1, 1))
ch3 = Asc(Mid(mw, i + 2, 1))
Convert (ch1)    ‘调用自定义过程Convert
Convert (ch2)
Convert (ch3)
For j = 1 To 24    ‘逐位取反
①____________
Next j
For j = 1 To 4 m = 0
For p =  ②____________ To j * 6    ‘每6位一组进行权值相加
m = m * 2 + a(p) Next p
s = s & m‘&连接运算符,连接数字和字符串时,会将数字自动转换为字符串 Next j
Next i
Text2.Text = s
End Sub
Sub Convert(x As Integer)
Dim i As Integer, j As Integer
Do While x > 0
a(k) = x Mod 2
x = x \ 2
k = k + 1
Loop
j = ③_____    ‘8位二进制数,高位补“0”
k = k + j
End Sub
相关知识点