修改时间:2024-07-13 浏览次数:136 类型:期中考试
Dim conn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim a(1 To 100) As String
conn.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;data Source=" & App.Path & "\Mydata.accdb"
Set rs.ActiveConnection = conn
rs.Open "SELECT * FROM book"
n = 0
Do While Not
a(n) = rs.Fields("name")
Loop
上述程序段中方框处可选语句为:
①n = n + 1 ②rs.MoveNext ③rs.BOF ④rs.EOF
则方框处语句依次可为( )
Const n = 5
Dim d(1 To n) As Integer
For i = 1 To n
d(i) = Int(Rnd * 10 + 1)
Next i
i = 1
Do While i <= n - 1
For j = n To i + 1 Step -1
If d(j) Mod 2 = d(j - 1) Mod 2 Then If d(j) < d(j - 1) Then
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
ElseIf d(j) Mod 2 = 1 And d(j - 1) Mod 2 = 0 Then
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
i = i + 1
Loop
执行该程序段后,数组元素 d(1)到d(n)的值不可能为( )
L = 1 : R = 5 : c = 0
Key = Val(Text1.Text)
Do While L < R And Not f
m = (L + R) \ 2
c = c + 1
If d(m) = Key Then
f = True : Text2.Text = Str(m)
ElseIf d(m) < Key Then
L = m + 1
Else
R = m
End If
Loop
Label1.Caption = Str(c)
数组元素 a(1)到 a(5)的值依次为“19,28,37,46,55”。执行该程序段,下列说法错误的是( )
图 a
图 b
8 |
5 |
3 |
17 |
14 |
10 |
32 |
25 |
24 |
53 |
50 |
35 |
73 |
66 |
61 |
图 a
依据对分查找思想,设计一个在数组a中查找数据key的程序。执行程序,在文本框Txt1中输入key的值,在文本框Txt2中显示查找结果。根据左右边界,计算中位值,并在标签L1中记录历次中位值的位置。
Private Sub Command1_Click( )
Const n = 15
Dim a(1 To n) As Integer, search As Integer, key As Integer Dim i As Integer, j As Integer, m As Integer
Dim s As String
' 读取一组正整数,按上述规则存入数组,代码略。
key =
i = 1: j = n: search = 0
Do While i <= j
m = (i + j) \ 2
s = s + Str(m) + ","
If m Mod 3 <> 0 Then '把 m调整到三个一组的最后一个数的位置
If key = a(m) Then search = m: Exit Do
ElseIf key < a(m) Then j = m - 3
ElseIfThen i = m + 1
ElseIf key = a(m - 2) Then search = m - 2: Exit Do
ElseIf key = a(m - 1) Then
search = m - 1: Exit Do
End If
Loop
If search <> 0 Then Txt2.Text = Str(search)
Else
Txt2.Text = "找不到" End If
L1.Caption = s
End Sub
①将所有的小写转换为大写,大小写字母内码差为32,例如:ASC(“a”)-ASC(“A”)=32
②对像素压缩用两个字节存储,前一字节存储连续相同像素的个数,用两位十六进制表示;后一字节存储颜色编码。
③若连续像素个数超过255,用多段字节存储该段连续像素。具体压缩方法如下:
依据上述算法设计VB程序,程序运行界面如下图所示:
请回答下列问题:
Private Sub Command1_Click( )
Dim ans As String, s As String, ch As String, key As String Dim i As Integer, pos As Integer
Dim count As Integer, count1 As Integer, count2 As Integer
s = Text1.Text
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "f" Then s =
End If
Next i
ans = ""
key = Mid(s, 1, 2)
pos = 3
Do While pos <= Len(s) + 1
count = 1
Do While key = Mid(s, pos, 2)
count = count + 1
pos = pos + 2
Loop
count1 = count \ 255
count2 = count Mod 255
For i = 1 To count1
ans = ans + "FF" + key
Next i
If count2 > 0 Then ans=
End If
key = Mid(s, pos, 2)
pos = pos + 2
Loop
Text2.Text = ans
End Sub
Function DtoH(n As Integer) As String
temp = ""
Do While n <> 0 r = n Mod 16
n = n \ 16
IfThen
temp = Chr(Asc("A") + r - 10) & temp
Else
temp = r & temp
End If
Loop
temp = "0" + temp '加上前缀 0,保证转换结果为两位十六进制数
DtoH = Mid(temp, Len(temp) - 1, 2)
End Function
试题篮