IPv6 是英文“Internet Protocol Version 6”(互联网协议第 6 版)的缩写。IPv6 地址总共有 128 位,为了便于人工阅读和输入,IPv6 地址使用 16 进制数表示,划分成 8 个块,每块 4 位,块与块之间用“:”隔开,如:ABCD:EF01:0000:0000:ABCD:EF01:0000:6789
同时,对于多个地址块为 0 的情况时,可以使用”::”号,进行化简。
化简原则:
①全 0 块“0000”,可以化简为“0”
②连续多个全 0 块,可以化简为“::”
③一个 IPv6 地址中只能出现一个“::”,出现多个全 0 块时,“::”要化简最长的一段,没有最长的就将最左侧的一段化简为“::”
④“::”可以出现在地址开头或结尾具体示例如下:
程序界面如图所示:

实现上述功能的 VB 程序如下,请回答下列问题:
(1)请在划线处填入合适的代码。
Private Sub Text1_Change()
Dim a(1 To 8) As String, ipstr As String, ips As String
Dim lenth As Integer, max_lenth As Integer, start As Integer ipstr = Text1.Text
For i = 1 To 8
a(i) =_________'将 IPv6 分段存入数组 a Next i
'对数组进行处理,如果字母或非零数字开头,则不用处理;如果全是数字0,则压缩成    0,如果前导为 0,则去掉,处理完毕存回数组。
'///------ 处理过程略----- /////
'如果只有一串0,则将该串“0”用“::”代替,如果不止一串0,则将最长的一串“0”简化为“::”,如果有连续  0,则将左边的一串零简化,右侧保留。
max_lenth = 0
For i = 1 To 7
If_________Then lenth = lenth + 1
Else
If   lenth > max_lenth    Then
max_lenth = lenth: start = i - lenth: lenth = 0 End If
End If Next i
If lenth > max_lenth Then   max_lenth = lenth: start = i - lenth  '根据连续 0 串的位置确定输出简化后的结果
ips = ""
If    start = 1 And max_lenth    =   7 Then '开头是 0 且全 0 ips = "::"
ElseIf   start = 1 Then    '开头是 0 但不全为 0 ips = "::"
For   i = start + max_lenth + 1   To   7 ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
ElseIf   start > 1 And    start + max_lenth = 8   Then   '开头不是 0 但 0 到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
ElseIf start > 1 Then '开头不是 0 且 0 不到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
For i =_________To 7  ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
Else '无连续 0 出现
For i = 1 To 7
ips = ips + a(i) + ":"
Next i
ips = ips + a(i) End If
Text2.Text = ips End Sub
(2)IPv6  地址:3BCD:0000:0000:ABCD:0000:0000:0000:6789,则化简后为_______。
当前题号:1 | 题型:填空题 | 难度:0.99
有如下VB程序段:
For i=1To5
a(i)=Int(Rnd*20)+1
Next i
For i=2 To 5
If i Mod 2=1 And a(i-1)<a(i)Then
t=a(i):a(i)=a(i-1):a(i-1)=t
Else
a(i)=a(i)-1
End If
Next i
执行该程序段后,a(1)~a(5)各元素不可能的值是(    )
A.7  3  0  19  0B.18  16  1  9  2
C.20  17  8  19  15D.19  0  7  8  4
当前题号:2 | 题型:选择题 | 难度:0.99
若在文本框Text1、Text2,Text3中分别输入2,5,6,下列程序段运行后,标签Labe12中显示的内容是
Private Sub Command1_Click()
Dim a As Integer,b As Integer,c As Integer
A=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)
Label2.Caption=Str(fx(a,b,c))
End Sub
Function fx(x As Integer,y As Integer,z As Integer)As Integer
If x<y Then fx=z
Ifx>y Then fx=y Else fx=x
End Function
A.2B.5C.6D.0
当前题号:3 | 题型:选择题 | 难度:0.99
“如果a,b,c相等,那么y=a+b+c”,能实现该功能的VB语句是
A.If a=b And b=c Then y=a+b+c
B.If a=b=c Then y=a+b+c
C.If a=b Or b=c Or a=c Then y=a+b+c
D.Ifa-b=b-c Then y=a+b+c
当前题号:4 | 题型:选择题 | 难度:0.99
“如果 a,b,c 中任意一个为 0,那么 y=y2+1”。能实现该功能的 VB 语句是(    )
A.If a = 0 And b = 0 And c = 0 Then y = y*y + 1
B.If a * b * c= 0 Then y = y^2 + 1
C.If a = 0, b = 0, c = 0 Then y = y^2 + 1
D.If a = b = c = 0 Then y = y*y + 1
当前题号:5 | 题型:选择题 | 难度:0.99
素数只能被 1 和它本身整除,不能被其他自然数整除。编写 VB 程序实现如下功能:单击“产生奇数并判断”按钮 Command1,随机产生一个三位正奇数显示在文本框 Text1 中,并在文本框 Text2 中显示其是否为素数的判断结果。例如,当随机产生的三位正奇数为 953 时,程序运行界面如图 a 所示。

(1)在设计程序界面时,应使用图 b 所示“控件工具箱”中的_____(填写相应编号)添加文本框 Text1。
(2)实现上述功能的 VB 程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ‘用于标记是否为素数
Randomize
n =____________________ ‘n 为三位正奇数
Text1.Text = Str(n) : flag = True: i = 3
Do While i <= n - 1 And flag = True
If n Mod i = 0    Then flag = False
End If
i = i + 2
Loop
If ____________Then
Text2.Text = Str(n) + “是素数”
Else
Text2.Text = Str(n) + “不是素数”
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod i = 0”等价的是_____(单选,填字母)。
A.    n \ i = Int(n / i)B.n \ i = n/ iC.n Mod i = n \ i
当前题号:6 | 题型:填空题 | 难度:0.99
某英文字符加密算法,对明文中的每个字符进行下列加密处理:
1)将该字符 ASCII 码转换成对应的 2 位 16 进制数;2)将产生的 16 进制数互换位置3)步骤 2 产生的 16 进制数即为明文加密后的密文字符根据上述加密算法,小明编写了一个解密程序,界面如图。

(1)如果明文为 24,那么密文是_____
(2)请在横线处填上合适的代码
Dim    s as string
Private Sub Command1_Click()
Dim d as string,d1 as string,d2 as string
Dim c as integer,c1 as integer,c2 as integer
Dim ans as string,i as integer
‘读取密文,显示在 text1,并存储在 s 中,代码略
Ans=””
For i = 1 To len(s) step 2
d1 = Mid(s, i, 1) : d2 = Mid(s, i+1, 1)
if d1>=”A” then______________   
else
c1=val(d1)

c2=val(d2) : c=____________

 d=chr(c) : ans=_________
Next i
Text2.Text = ans
End Sub
当前题号:7 | 题型:填空题 | 难度:0.99
(加试题)有如下VB程序段:
flag = True : i = 1
Do While i <= 6
x = Int(Rnd * 100) + 1 
If flag Or x >50 Then
a(i)=x
flag = Not flag
i = i + 1
End if
Loop
执行该程序段后,在下列选项中,a(1)~a(6)各元素值不可能的是(   )
A.52,95,46,74,77,83B.50,55,46,70,21,97
C.62,78,57,61,69,50D.31,54,48,72,50,82
当前题号:8 | 题型:选择题 | 难度:0.99
小蓝设计了一个数字字符串的简单加密解密小程序,该程序的加密规则是计算连续升序子串的长度,将该长度字符插入到相应子串后面。例如:

输入2350123456783,先将字符串拆成三段,分别是235,012345678,3要求每一段必须严格有序,如果无法实现连续升序,则单独作为一个拆分。
原字符串
235
012345678
3
连续升序字符数
    3
9
1
密文
235
3
012345678
9
3
1
 
在文本框Text1中输入原文,单击“加密”按钮,可在文本框Text2中输出密文。
在文本框Text2中输入密文,单击“解密”按钮,可在文本框Text3中输出原文。
(1)程序运行时,在文本框Text2中输入“1233012345678910”,则在Text3中显示的内容为__________________ 。
(2)实现上述功能的VB代码段如下,请在划线处填上合适代码。
Private Sub Command1_Click()'加密过程
Dim a(1 To 100) As String
Dim s1, s2 As String: Dim tmp As Integer
tmp = 1: s1 = Text1.Text
For i = 1 To Len(s1)
a(i) = Mid(s1, i, 1)
Next i
s2 = a(1)
For i = 2 To Len(s1)
If _________________ Then   

s2 = s2 + a(i): tmp = tmp + 1

Else

s2 = s2 + LTrim(Str(tmp))  'LTrim()函数用以移除左边的符号位空字符

s2 = s2 + a(i)

_________________

End If
Next i
s2 = s2 + LTrim(Str(tmp)) : Text2.Text = s2
End Sub
Private Sub Command2_Click()'解密过程
Dim b(0 To 100) As String
Dim k As String, t As Integer, n As Integer
Dim s As String, s3 As String, j As Integer
s = Text2.Text: n = Len(s)
For i = 1 To n
b(i) = Mid(s, i, 1)
Next i
t = n - 1: k = Val(b(n))
Do While t > 0
If k <> 0 Then

For j = 1 To k

__________________
t = t - 1

Next j

k = Val(b(t))

t = t - 1   

Else

k = 10

t = t - 1

  End If
Loop
Text3.Text = s3
End Sub
当前题号:9 | 题型:填空题 | 难度:0.99
某算法的部分流程图如图所示,执行这部分流程,输入n的值为5,则输出值依次为
A.4,16B.4,5C.5,16D.5,5
当前题号:10 | 题型:选择题 | 难度:0.99