(加试题)十进制a转换为b进制(2~16)的vb程序如下
Function tran(a as integer, b as integer) as string
Dim strd as string, n as integer
Do while a<>0
n=a mod b
a=a\b
If n>9 then
strd= &strd
Else
strd=str(n)&strd
Endif
Loop
Tran=strd
End function
Private sub command1_click()
m=val(text1.text)
n=val(text2.text)
Label1.caption=tran(a,b)
End sub
下列说法不正确的是
A.划线处的代码可以为:chr(55+n)
B.划线处的代码可以为:mid(“ABCDEF”,n-9,1)
C.若在划线处填上正确的代码之后,运行程序,在text1内输入123,text2内输入10,label1显示的结果为123
D.若需要转换为十七进制,划线处的代码可以使用mid(“ABCDEF”,n-9,1)
当前题号:1 | 题型:选择题 | 难度:0.99

   编写一个VB程序,功能如下:在文本框Text1中输入十六进制数(取值范围21至7E), 单击按钮Command1进行转换,并将其对应的ASCII字符显示在文本框Text2中。程序运行界面如图所示。

(1)在设计程序界面时,要使按钮Command1上显示的文本为“转换”,应修改该按钮的______________属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, d As Integer
   
Dim ch As String, h As String
d = 0
___________
For i = 1 To Len(h)
ch = Mid(h, i, 1)
If ch >= "A" And ch <= "F" Then
n = Asc(ch) - Asc("A") + 10
Else
n = ____________
End If
d = d + n * 16 ^ (Len(h) - i)
Next i
Text2.Text = Chr(d)
End Sub
(3)运行该程序,在文本框Text1中输入3F,单击“转换”按钮,则变量d的值是_______。
当前题号:2 | 题型:填空题 | 难度:0.99

   (加试题)某校秋季运动会共n名运动员参赛,高老师编写了一个运动会号码牌查询软件,输入号码牌就能查询该号码牌所属的班级和运动员姓名。数组hm、bj、xm分别保存了本次运动会所有运动员的号码牌、所在班级和姓名的信息。第i个选手的号码牌保存在a(i)中,对应的班级和姓名保存在bj(i)和xm (i)中。

运动会号码牌查询程序界面如第16题图所示,在文本框Text1中输入号码牌,单击“查询”按钮(Command1),电脑就开始查找该号码牌的信息,如果找到对应的信息,就显示该运动员所属班级和姓名,如果没有找到,则显示“没有该号码牌的信息”。


相应程序如下,在程序①和②划线处填入适当的语句和代码,把程序补充完整。
(1)学生运动会数据存入的数据库文件是_________________;
(2)在程序画线①处应填入________________________;
(3)在程序画线②处应填入________________________。
Dim n As Integer  ‘运动员人数
Dim hm(1000) As Integer, bj(1000) As String, xm(1000) As String
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;DATA Source=" & App.Path & "\games.accdb"
conn.Open
strSQL = "SELECT * FROM Student"
Set rs.ActiveConnection = conn
rs.Open strSQL
n = 0
Do While Not rs.EOF '到记录集最后一条记录后退出循环
n = n + 1 '计数
hm(n) = rs.Fields("号码")
bj(n) = rs.Fields("班级")
xm(n) = rs.Fields("姓名")
rs.MoveNext     '移动到下一条记录
Loop
‘用冒泡排序法按a数组(号码牌)升序排列,显示在列表框List1中,代码略。
End Sub
Private Sub Command1_Click()   
Dim w As Integer
w = Val(Text1.Text)
pos =
If pos > 0 Then
Text2.Text = bj(pos)
Text3.Text = xm(pos)
Else
Text2.Text = "找不到"
End If
End Sub
Function Search(Key As Integer) As Integer
Dim i As Integer, j As Integer,
i = 1
j = n
Do While i <= j
found = Fix((i + j) / 2)
If Key = a(found) Then
Search = found
Exit Function
ElseIf      Then
j = found - 1
Else
i = found + 1
End If
Loop
Search = 0
End Function
当前题号:3 | 题型:填空题 | 难度:0.99

   数字频率统计:小王编写 VB 程序,实现如下功能:在文本框中输入一串任意字符串(含数字),单击“统计”按钮 Command1,在列表框 List1 中统计并输出数字 0~9 出现的次数。运行界面如图所示,VB 程序代码如下。

 

(1)根据代码可知,文本框对象的名称为________________________。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(0 To 9) As Integer, s As String Dim k As String, i As Integer
s = Tabc.Text
List1.Clear
For i = 1 To Len(s)
_____
If k >= "0" And k <= "9" Then
_____
S=k+s
End If
Next i
For i = 0 To 9
List1.AddItem Str(i) & "出现了:" & a(i) & "次"
Next i
End Sub
(3)如果输入的是“hello 8102!” ,执行完以上程序后,变量S的值为________
当前题号:4 | 题型:填空题 | 难度:0.99
(加试题)小王要对字符串“welcome”进行重新排列,程序界面如图所示,则该程序执行后文本框 Text2 中显示的结果为(  )

Private Sub Command2_Click()
 Dim a(1 To 7) As String
 Dim i, j, t2, m,cd As Integer
Dim s, t, p As String
 s = Text1.text
 cd=Len(s)
 For m = 1 To cd
  a(m) = Mid(s, m, 1)
 Next m
 For i = 1 To 2
  For j = cd To i + 1 Step -1
   If a(j) < a(j - 1) Then t = a(j): a(j) = a(j - 1): a(j - 1) = t
  Next j
 Next i
For t2 = 1 To cd
  p = p + a(t2)
 Next t2
 Text2.Text = p
End Sub
A.welcomeB.ceelmowC.cewelmoD.womleec
当前题号:5 | 题型:选择题 | 难度:0.99
模拟一个简单计算器,输入两个数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序界面如下图所示,在文本框Text1输入第一个数a,在文本框Text2输入第二个数b,在文本框Text3输入运算符ch,在文本框Text4中输出结果。当输入的运算符不是加、减、乘、除四种运算符时,则输出“运算符不正确”;当进行除法运算时,如果除数为0,提示输出“除数不能为零”。相应的Visual Basic程序如下,
(1)观察程序设计界面,共有_______类对象具有Caption属性。

(2)实现上述功能的VB程序如下在①、②、③划线处,填入合适的语句或表达式,把程序补充完整。
Private Sub Command1_Click()
Dim a As Single, b As Single, ch As String
a = Val(Text1.Text)
b = Val(Text2.Text)
___________________
If ch = "+" Then
Text4.Text = Str(a + b)
ElseIf ch = "*" Then
Text4.Text = Str(a * b)
ElseIf ch = "-" Then
Text4.Text = Str(a - b)
ElseIf ch = "/" Then
If _____________Then Text4.Text = Str(a / b) Else Text4.Text = "除数不能是零"
Else
________________
End If
End Sub
当前题号:6 | 题型:填空题 | 难度:0.99
查找并删除重复数据的算法是基于顺序查找的优化,主要思路是把待查数据的起点元素设置成查找关键字,然后从后往前查找,通过结束时停留的数据位置来判断查找结果(即结束时若停留在数据序列的起点,表示数据序列中无重复数据;否则,存在重复数据,删除该数据后继续查找)。
编写VB程序,实现上述算法。程序功能如下:运行程序时,在列表框List1中显示数组a中的原始数据;单击“去重”按钮(Command1),查找数组a中的重复数据并删除,即相同的数据仅保留一个,并在列表框List2中输出去重后的数组a中的数据,同时在标签Label1中显示删除的数据总个数,运行效果如图所示。

实现上述功能的VB代码如下,但加框处代码有错,请改正。
Const maxn = 10
Dim a(1 To maxn) As Integer
Private Sub Form_Load()
' maxn个数据存储在数组a中,并在列表框List1中显示
' 代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, n As Integer 'n用于存储当前查找的数组长度
Dim j As Integer, key As Integer   'key用于存储本次查找关键字的数据位置
key = 1: n = maxn
Do While key <= n

i = n

Do While  a(i) <> a(1)   '(1)

i = i - 1
Loop
If i = key Then   '找到重复数据,删除;未找到,设定下一查找关键字
key = key + 1
Else
For j = i To n - 1
a(j) = a(j + 1)
Next j
n = n - 1
End If
Loop
For i = 1 To n
List2.AddItem a(i)
Next i
Label1.Caption = "共删除重复数据:" &  Str(n)  & " 个" '(2)
End Sub
当前题号:7 | 题型:填空题 | 难度:0.99
编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Commandl,在列表框Listl中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。

图1 图2
(1)在设计程序界面时,应使用图2所示“控件工具箱”中的________(填写相应编号)添加“生成”按钮。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()

Dim n As Integer, i As Integer, a As Integer, b As Integer

Randomize

n = Val(Text1.Text)

i = ________

Do While i <= n

    a = Int(Rnd * 100)

    b = Int(Rnd * 100)

    If _____ Then

List1.AddItem "(" + Str(i) + ")" + Str(a) + "+" + Str(b) + "="

i = i + 1

    End If

Loop

End Sub
(3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句a = Int(Rnd * 100)执行次数的描述,最合理的是________(单选,填字母:
A.执行次数等于5 /B.执行次数大于等于5 /C.执行次数小于等于5)
当前题号:8 | 题型:填空题 | 难度:0.99
(加试题)某对分查找算法的 VB 程序段如下:
L = 1: R = 10: Key = 21
Do While L <= R
m = (L + R) \ 2
If a(m) <= Key Then
L = m + 1
Else
R = m - 1
End If
Loop
数组元素 a(1)到 a(10)的值依次为“ 3, 9, 21, 21, 21, 21, 27, 28, 39, 40”,执行该程序段,变量 R、 a(R)的值分别是(    )
A.2, 9B.3, 21C.6, 21D.7, 27
当前题号:9 | 题型:选择题 | 难度:0.99
(加试题) 有一组正整数,要求对其中的数据进行排列, 排列后奇数在前, 偶数在后。 其中最后一个数据排到奇数与偶数交接处;自前到后的第一个偶数排到最后一个位置,空出的位置排列自后向前的第一个奇数,依此类推。 排序示例如下。

实现上述功能的 VB 程序如下,但加框处代码有错,请改正。
Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim temp As Integer, flag As Boolean
'读取一组正整数,存储在数组 a 中,代码略
i = 1: j = n
temp = a(j): flag = True
Do While i < j
If flag Then
If a(i) Mod 2 = 0 Then
a(j) = a(i)
j = j - 1
flag = Not flag
Else
'⑴__________________
End If
Else
If a(j) Mod 2 = 1 Then
a(i) = a(j)
flag = Not flag
Else
j = j - 1
End If
End If
Loop
   '⑵____________________
'依次输出排序后的数据,代码略。
End Sub
当前题号:10 | 题型:填空题 | 难度:0.99