题库 高中信息

题干

有如下程序段:
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

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

同类题5

某数据加密方法描述如下:先将字符转化为二进制的数据并显示在文本框Text2中,数据位数显示在标签Label1中。以16个数据为一段,将k个待加密数据依次分割成若干个数据段,剩余数据(个数小于16)为独立数据段。数据加密规则:数据个数等于16的数据段,在段内进行位置变换,得到加密数据段。数据个数小于16的数据段,直接得到加密数据段。依次合并加密数据段,即为最后的加密数据。位置变换的规
则如下:

具体界面如图所示:

请回答下列问题:
(1)已知k=34,则数组元素b(26)对应的值是数组a的_______________。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a (1 To 1000) As Integer, b (1 To 1000)
As Integer
Dim n As Integer, m As Integer
Dim s As String, s1 As String, c As Integer,
ch As String
s = Text1.Text: Text2.Text = ""
n = Len(s)
k = 1
For i = 1 To n  '获取字符的二进制数据存放在数组a 中
n = Asc(Mid(s, i, 1))
Do While n <> 0
a(k) = n Mod 2
n = n \2
Text2.Text = Text2.Text + Str(a(k))
k = k + 1
Loop
Next i
__________
List1.Clear
'对字符二进制按规则进行位变换,变换后的数据存放
在数组 b 中并输出
For m = 1 To (k - 1) \16
For i = 1 To 4
b(16 ∗ (m - 1) + 4 ∗ (i - 1) + 1) = a((m- 1) ∗ 16 + i)
___________
Next i
For i = 1 To 3
b(16 ∗ (m - 1) + 4 ∗ (i - 1) + 3) = a((m- 1) ∗ 16 + 10 + i)
b(16 ∗ (m - 1) + 4 ∗ (i - 1) + 2) = a((m- 1) ∗ 16 + 17 - i)
Next i
For i = 1 To 2
b(16 ∗ (m - 1) + 13 + i) = a((m - 1) ∗16 + 4 + i)
Next i
For i = 1 To 4
s1 = ""
For j = 1 To 4
s1 = s1 + Str(b(16 ∗ (m - 1) + (i -1) ∗ 4 + j))
Next j
List1.AddItem s1
Next i
List1.AddItem ""
Next m
s1 = ""
For i = ((k - 1) \16) ∗ 16 + 1 To k - 1
b(i) = a(i)
If _______________ then
s1= s1 + Str(a(i))
List1.AddItem s1
s1 = ""
Else
s1 = s1 + Str(a(i))
End If
Next i
List1.AddItem s1
Text3.Text = ""
For i = 1 To k- 1
Text3.Text = Text3.Text + Str(b(i))
Next i
End Sub
相关知识点