- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
某种编码以4位二进制码为一组,每组前两位表示方向,后两位表示距离。编写一个程序,将编码翻译成方向和距离,距离值为每组编码后两位二进制码转换为十进制数的值。具体功能如下:在 文本框Text1中输入连续多组编码,单击“翻译”按钮Commandl,结果显示在列表框List1中。
程序运行界面如右图所示。

(1)要使程序运行时,文本框Text1的Width属性值为2018,可在Form_Load事件过程中添加语句________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填人合适的代码。
Private Sub Command1_Click()
Dim s As String, c As String, d As String
Dim n As Integer, bl As Integer, b2 As Integer, v As Integer, i As Integer
s = Textl.Text: n = Len(s): i = 1
Do While i <= n
c = Mid(s, i, 2)
If c = "00" Then
d = "东"
ElseIf c = "01" Then
d = "南"
ElseIf c = "10" Then
d = "西"
Else
d = "北"
End If
b1 = Val(Mid(s, i + 2, 1))
b2 = Val(Mid(s, i + 3, 1))
v=_______________①
List1.AddItem d + " " + Str(v)
_____________②
Loop
End Sub
(3)若文本框Textl中输入的内容为“1111”,单击“翻译”按钮,列表框List1中显示的内容是_________。
程序运行界面如右图所示。

(1)要使程序运行时,文本框Text1的Width属性值为2018,可在Form_Load事件过程中添加语句________(单选,填字母:
A.Width=2018 / | B.Textl. Width = 2018 / | C.Width. Textl=2018)。 |
Private Sub Command1_Click()
Dim s As String, c As String, d As String
Dim n As Integer, bl As Integer, b2 As Integer, v As Integer, i As Integer
s = Textl.Text: n = Len(s): i = 1
Do While i <= n
c = Mid(s, i, 2)
If c = "00" Then
d = "东"
ElseIf c = "01" Then
d = "南"
ElseIf c = "10" Then
d = "西"
Else
d = "北"
End If
b1 = Val(Mid(s, i + 2, 1))
b2 = Val(Mid(s, i + 3, 1))
v=_______________①
List1.AddItem d + " " + Str(v)
_____________②
Loop
End Sub
(3)若文本框Textl中输入的内容为“1111”,单击“翻译”按钮,列表框List1中显示的内容是_________。
挤牛奶问题:如有三个农民每天清晨5点起床,然后去牛棚分别给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻(总共挤了700个时刻),第二个农民在700时刻开始,在1200时刻结束(总共挤了500个时刻)。第三个农民在1500时刻开始2100时刻结束(总共挤了600个时刻)。期间最长挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间为300时刻(因第二个农民在1200时刻已结束,而第三个农民从1500时刻才开始,中间有300时刻没有人在挤牛奶)。相应时刻如下图所示:

下面提供的程序是,从N个农民(1<N<=5000)挤N头牛的工作时间列表,计算出最长有人在挤牛奶的时间段与最长的无人挤牛奶的时间段。
下图为两组不同数据程序运行后界面;

请在划线处填入相应的代码,使程序功能完善。
Dim a(1 To 100) As Integer '存放农民挤牛奶开始时刻
Dim b(1 To 100) As Integer '存放农民挤牛奶结束时刻
Dim n As Integer '存放农民人数
Private Sub Form_Load()
‘获取农民的人数与各个农民开始挤牛奶与结束挤牛奶的时间,并在list1中输出
‘相应的代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim t As Integer, ymax As Integer, nmax As Integer
Dim btime As Integer, etime As Integer, flag As Boolean
flag = True: i = 1
Do While i <= ________And flag
flag = False
For j = 1 To n - i
If a(j) > a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
t = b(j): b(j) = b(j + 1): b(j + 1) = t
flag = True
End If
Next j
i = i + 1
Loop
btime = a(1): etime = b(1)
ymax = etime - btime: nmax = 0
For i = 2 To n
If _______________________________Then
etime = b(i)
If etime - btime > ymax Then ymax = etime - btime
ElseIf etime < a(i) Then
If a(i) - etime > nmax Then nmax = a(i) - etime
btime = a(i): etime = b(i)
End If
Next i
Label2.Caption = "最长挤牛奶时间为:" + Str(ymax) + " 时刻"
Label3.Caption = "最长无人挤牛奶时间为:" + Str(nmax) + " 时刻"
End Sub

下面提供的程序是,从N个农民(1<N<=5000)挤N头牛的工作时间列表,计算出最长有人在挤牛奶的时间段与最长的无人挤牛奶的时间段。
下图为两组不同数据程序运行后界面;

请在划线处填入相应的代码,使程序功能完善。
Dim a(1 To 100) As Integer '存放农民挤牛奶开始时刻
Dim b(1 To 100) As Integer '存放农民挤牛奶结束时刻
Dim n As Integer '存放农民人数
Private Sub Form_Load()
‘获取农民的人数与各个农民开始挤牛奶与结束挤牛奶的时间,并在list1中输出
‘相应的代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim t As Integer, ymax As Integer, nmax As Integer
Dim btime As Integer, etime As Integer, flag As Boolean
flag = True: i = 1
Do While i <= ________And flag
flag = False
For j = 1 To n - i
If a(j) > a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
t = b(j): b(j) = b(j + 1): b(j + 1) = t
flag = True
End If
Next j
i = i + 1
Loop
btime = a(1): etime = b(1)
ymax = etime - btime: nmax = 0
For i = 2 To n
If _______________________________Then
etime = b(i)
If etime - btime > ymax Then ymax = etime - btime
ElseIf etime < a(i) Then
If a(i) - etime > nmax Then nmax = a(i) - etime
btime = a(i): etime = b(i)
End If
Next i
Label2.Caption = "最长挤牛奶时间为:" + Str(ymax) + " 时刻"
Label3.Caption = "最长无人挤牛奶时间为:" + Str(nmax) + " 时刻"
End Sub
有如下程序段:
Function f(a As Integer, b As Integer) As Integer
Dim k As Integer
k = a Mod b
If k = 0 Then
f = b
Else
f = f(b, a mod b)
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, j As Integer
i = Val(Text1.Text)
j = Val(Text2.Text)
Text3.Text = Str(i * j / f(i, j))
End Sub
该程序运行之后,在text1与text2分别输入25 与15,点击command1后在text3上显示的内容为( )
Function f(a As Integer, b As Integer) As Integer
Dim k As Integer
k = a Mod b
If k = 0 Then
f = b
Else
f = f(b, a mod b)
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, j As Integer
i = Val(Text1.Text)
j = Val(Text2.Text)
Text3.Text = Str(i * j / f(i, j))
End Sub
该程序运行之后,在text1与text2分别输入25 与15,点击command1后在text3上显示的内容为( )
A.5 | B.30 | C.75 | D.125 |
某对分查找算法的VB程序段如下:
i = 1: j = 7: n = 0: f = False
Key = Val(Text1.Text)
Do While i <= j And f = False
n = n + 1
m = Fix((i + j) / 2)
If Key = a(m) Then f = True
If Key < a(m) Then j = m - 1 Else i = m + 1
Loop
数组元素a(1)到a(7)的值依次为“2,19,29,34,43,52,66,68”。文本框Textl中输入“46”后运行该程序,运行结束后下列说法不正确的是
i = 1: j = 7: n = 0: f = False
Key = Val(Text1.Text)
Do While i <= j And f = False
n = n + 1
m = Fix((i + j) / 2)
If Key = a(m) Then f = True
If Key < a(m) Then j = m - 1 Else i = m + 1
Loop
数组元素a(1)到a(7)的值依次为“2,19,29,34,43,52,66,68”。文本框Textl中输入“46”后运行该程序,运行结束后下列说法不正确的是
A.变量f的值为False | B.变量m的值为5 | C.变量j的值为4 | D.变量n的值为3 |
程序设计题
问题:求 s="1" x2-2x3+3x4-4x5+…-98x99+99x100 的值。
算法描述如想图所示,请将下列程序补充完整。

Private Sub Form _ Click ( )
Dim k As Integer
Dim s As Integer
s=0
For k="l" To__ ① ___
If k Mod______② ___0 Then
S=s+k*(k+l)
Else
s=____③___
End If
Next k
Print “s=”;s
End Sub
问题:求 s="1" x2-2x3+3x4-4x5+…-98x99+99x100 的值。
算法描述如想图所示,请将下列程序补充完整。

Private Sub Form _ Click ( )
Dim k As Integer
Dim s As Integer
s=0
For k="l" To__ ① ___
If k Mod______② ___0 Then
S=s+k*(k+l)
Else
s=____③___
End If
Next k
Print “s=”;s
End Sub
模拟抛硬币并统计概率,程序运行结果和设计界面如右图,该程序界面上至少有 等控件对象( )


A.一个按钮、二个文本框 |
B.一个按钮、二个文本框、三个标签 |
C.一个按钮、二个列表框、二个标签 |
D.一个按钮、一个文本框、一个列表框、二个标签 |
以下语句运行后变量c的值是( )
a=“2009”
b=“2008”
c=Val(a)+Val(b)
a=“2009”
b=“2008”
c=Val(a)+Val(b)
A.2009+2008 | B.4017 | C.“20092008” | D.20092008 |
对输入的两个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示:

上述流程图中虚线框部分的内容可为( )

上述流程图中虚线框部分的内容可为( )
A.![]() | B.![]() |
C.![]() | D.![]() |