浙江省浙南名校联盟2020届高三上学期信息技术第一次(10月)联考试卷
年级: 学科:信息技术(信息科技) 类型:月考试卷 来源:91题库
一、选择题(本大题共12小题;每小题2分,共24分。) (共12小题)
下列说法正确的是( )
下列说法正确的是( )
For i = 1 To 2
For j = 1 To 6 - i
If a(j) - a(j + 1) > 0 Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i Text1.Text = "" For i = 1 To 6
Text1.Text = Str(a(i)) + Text1.Text Next i
数组元素a(1)到a(6)的初值依次为15,11,58,38,26,9,执行该程序段,文本框Text1显示的内容是( )
i=1:n=5
Do while i<=n
x=Int(Rnd*9)+1
If x Mod 2=1 Then
a(i)=x
Else
a(n)=x:n=n+1
End If
i=i+1 Loop
数组元素的初值均为0,执行该程序段后,a(1)至a(5)的值可能是( )
For i=1 To ①
k=i
For j=i+1 To n-i+1
If a(k)>a(j) Then k= ②
Next j
If k<>i Then t=a(k):a(k)=a(i):a(i)=t For j= ③
If a(j)<a(j+1) Then a(j)=a(j)+a(j+1) : a(j+1)=a(j)-a(j+1):a(j)=a(j)-a(j+1) Next j
Next i
上述程序段3个划线处的表达式分别为( )
二、非选择题(本大题共4小题,4+8+7+7,共26分) (共4小题)
图 1
(提示:SUMPRODUCT 函数返回相应的数组或区域乘积的和。例如:=SUMPRODUCT((A4:A500="101")
*(D4:D500="物理"))表示在数据区域 D4:D500 中统计“101”班选“物理”的人数)
图 2
图 3
图 1
图 2-a
图 2-b
图 3
Dim a(1000) As Integer, n As Integer Private Sub Command1_Click()
'从数据库获取n 个成绩存储在 a(1)---a(n)组中,代码略
For i = 2 To n ‘排序
tmp = a(i)
j = 1
Do While tmp > a(j)
j = j + 1
If ① Then Exit Do
Loop
For k = i To j + 1 Step -1
a(k) = a(k - 1)
Next k
'改错 (1)
Next i
For i = 1 To n List1.AddItem Str(a(i))
Next i End Sub
Private Sub Command2_Click()
Dim key As Integer, i As Integer, j As Integer, m As Integer
key = Val(Text1.Text)
i = 1: j = n
Do While i <= j
m = (i + j) \ 2
If ② Then
j = m - 1
Else
i = m + 1
End If
Loop
Label1.Caption = "共有" + ③ + "位同学大于等于该成绩。"
End Sub
① ② ③
同时,对于多个地址块为 0 的情况时,可以使用“::”号,进行化简。化简原则:
①全 0 块“0000”,可以化简为“0”
②连续多个全0块,可以化简为“::”
③一个IPv6地址中只能出现一个“::”,出现多个全 0块时,“::”要化简最长的一段,没有最长的就将最左侧的一段化简为“::”
④“::”可以出现在地址开头或结尾具体示例如下:
化简前 |
化简后 |
ABCD:0000:2345:0000:ABCD:0000:2345:0000 |
ABCD:0:2345:0:ABCD:0:2345:0 |
FBCD:EF01:0000:0000:0000:0000:0000:6789 |
FBCD:EF01::6789 |
BBCD:0000:0000:0000:ABCD:0000:0000:6789 |
BBCD::ABCD:0:0:6789 |
0000:0000:0000:0000:0000:0000:0000:0001 |
::1 |
2001:0000:0000:0000:0000:0000:0000:0000 |
2001:: |
程序界面如图所示:
实现上述功能的VB程序如下,请回答下列问题:
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,则将左边的一串零简化,右侧保留。
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
① ② ③