- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 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) |
编写一个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的值是_______。
(加试题)某校秋季运动会共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
数字频率统计:小王编写 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的值为________

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.welcome | B.ceelmow | C.cewelmo | D.womleec |
(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
编写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 - 1Loop
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


图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) |
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, 9 | B.3, 21 | C.6, 21 | D.7, 27 |

实现上述功能的 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