- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
下列Visual Basic表达式的值为True的是( )
A.1=2 | B."78"〉"79" |
C.Len("78")=Len("中国") | D.Mid("abcdef", 2, 3) = "abc" |
某同学编写一个“查找子串出现位置”的程序。功能如下:在文本框Text1中输入字符串s1,在文本框Text2中输入字符串s2,点击按钮Command1后在标签Label3上显示查找的结果。运行界面所示。

(1)在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的 属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。

(1)在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的 属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s1 As String, s2 As String
Dim i as integer , j as integer
s1 = Text1.Text
s2 = Text2.Text
For i = 1 To Len(s1) - Len(s2) + 1
①
Do While Mid(s1, i + j, 1) = Mid(s2, j + 1, 1) And j < Len(s2)
j = j + 1
Loop
If j = Len(s2) Then Exit For
Next i
If j=Len(s2) Then
Label3.Caption = "找到,起始位置:" + ②
Else
Label3.Caption = "不存在该子串"
End If
End Sub
(3)运行该程序,在文本框Text1中输入“10100101”,在Text2中输入“01”(两次输入均不包含引号),点击“查找子串位置”按钮后,在label3上显示某VB程序使用了递归函数,代码如下:
Private Sub Command1_Click()
N= val(Text1.Text)
Function f(x As Integer) As String
Dim t as integer
在文本框Text1中输入3,运行程序并点击按钮Command1后,文本框Text2中显示的内容是( )
Private Sub Command1_Click()
N= val(Text1.Text)
Text2.Text = f(n)
End SubFunction f(x As Integer) As String
Dim t as integer
If x = 1 Then t = 1 Else t = val(f(x - 1)) + 2
f=str(t)
End Function在文本框Text1中输入3,运行程序并点击按钮Command1后,文本框Text2中显示的内容是( )
A.1 | B.5 | C.135 | D.531 |
小明用 VB编写了一个连续高温天数的统计软件。小明采集了金华市 7-8 月的每日最高气温,并存放在 ACCESS数据库中。程序运行时,读取日期和最高气温并显示在列表框 List1 中,在文本框 Text1 中输入温度值,单击“统计”按钮 Command1,程序自动统计运行在该温度值及以上的最长连续天数,并显示在 Text3 中,同时在 Text2 中显示日期区间,运行界面如下图所示。

实现上述功能的 VB 代码如 下,在划线处填入合适代码。
Dim rq(1 To 100) As String ‘ 存放日期
Dim qw(1 To 100) As Integer ‘ 存放最高气温值
Dim n As Integer '总天数
Private Sub Form_Load()
' 读取数据库内容,其中日期数据存放在数组 rq 中,最高气温数据存放在 qw 中,第 i 个日期保存在 rq(i)中,对应的气温保存在 qw(i)中,并显示在列表框 List1 中,代码略
End Sub
Private Sub Command1_Click()
Dim ntempend As Integer ‘ 记录当前结束日期的下标
Dim max As Integer ‘ 记录最大连续天数
Dim nend As Integer ‘ 记录最大连续天数下的结束日期的下标
Dim ncount As Integer ‘ 统计连续天数
Dim tjqw As Integer ‘ 存放输入的温度
tjqw = Val(Text1.Text)
ncount = 0
max = 0
For i = 1 To n
If ___________①___________ Then
ncount = ncount + 1
ntempend =i
Else
ncount = 0
End If
If max < ncount Then
max = ncount
___________②___________
End If
Next
If max <> 0 Then Text2.Text = ___________③___________ & "-" & rq(nend)

实现上述功能的 VB 代码如 下,在划线处填入合适代码。
Dim rq(1 To 100) As String ‘ 存放日期
Dim qw(1 To 100) As Integer ‘ 存放最高气温值
Dim n As Integer '总天数
Private Sub Form_Load()
' 读取数据库内容,其中日期数据存放在数组 rq 中,最高气温数据存放在 qw 中,第 i 个日期保存在 rq(i)中,对应的气温保存在 qw(i)中,并显示在列表框 List1 中,代码略
End Sub
Private Sub Command1_Click()
Dim ntempend As Integer ‘ 记录当前结束日期的下标
Dim max As Integer ‘ 记录最大连续天数
Dim nend As Integer ‘ 记录最大连续天数下的结束日期的下标
Dim ncount As Integer ‘ 统计连续天数
Dim tjqw As Integer ‘ 存放输入的温度
tjqw = Val(Text1.Text)
ncount = 0
max = 0
For i = 1 To n
If ___________①___________ Then
ncount = ncount + 1
ntempend =i
Else
ncount = 0
End If
If max < ncount Then
max = ncount
___________②___________
End If
Next
If max <> 0 Then Text2.Text = ___________③___________ & "-" & rq(nend)
异或(xor)是一个数学逻辑运算符,如:x xor y,其运算具体方法描述如下:
(1)分别将十进制数x,y转换为二进制,并将转换的每位二进制数存储到数组a,b中;如果两个二进制位数不相等,则位数较少的前面用“0”补足,使之a,b数组元素个数一致;
(2)取出数组a,b中下标相同的数组元素进行运算,若值相同,则结果为0,否则为1;
根据上述运算方法,示例如表所示。
小明编写了一个VB程序,功能如下:在文本框Text1、Text2中分别输入x、y的值,单击“异或”按钮Command1,程序对数据进行异或运算,并将结果显示在列表框List1中。
(1)在设计程序界面时,要使按钮Command1显示“异或”二字,则应该修改Command1的_______ 属性。
(2)实现上述功能的VB程序如下,在划线处填入合适的代码,加框处代码有错,请改正。
Function f(z As Integer) As String '此程序段实现将十进制数z转换为二进制数f
Dim y As Integer
Do While z > 0
y = z Mod 2
z = ①
f = str(y) & f
Loop
End Function
Private Sub Command1_Click()
Dim x,y,k,m As Integer
Dim s1 As String, s2 As String, s3 As String
Dim a(15) As String, b(15) As String
x = Val(Text1.Text): y = Val(Text2.Text)
If x < y Then
m = x: x = y: y = m
End If
s1 = f(x): s2 = f(y) 's1表示x的二进制数,s2表示y的二进制数
k = Len(s1)
For i = 1 To k '将转换后的二进制数按位分别存储到数组a和b
a(i) = Mid(s1, i, 1)
If i <= Len(s2) Then
b(i) = Mid(s2, i, 1)
Else
a(i) = "1" '②
End If
Next i
S3=""
For i = 1 To k
If a(i) > b(i) Then '③
s3 = "0" + s3
Else
s3 = "1" + s3
End If
Next i
List1.AddItem "异或结果是:" + s3
End Sub
(3)十进制数10和十进制数20的异或结果是___________________。
(1)分别将十进制数x,y转换为二进制,并将转换的每位二进制数存储到数组a,b中;如果两个二进制位数不相等,则位数较少的前面用“0”补足,使之a,b数组元素个数一致;
(2)取出数组a,b中下标相同的数组元素进行运算,若值相同,则结果为0,否则为1;
根据上述运算方法,示例如表所示。
变量 | 十进制 | 二进制 | ||||
x | 19 | 1 | 0 | 0 | 1 | 1 |
数组a | a(1) | a(2) | a(3) | a(4) | a(5) | |
y | 9 | 0 | 1 | 0 | 0 | 1 |
数组b | b(1) | b(2) | b(3) | b(4) | b(5) | |
x xor y | 1 | 1 | 0 | 1 | 0 |
小明编写了一个VB程序,功能如下:在文本框Text1、Text2中分别输入x、y的值,单击“异或”按钮Command1,程序对数据进行异或运算,并将结果显示在列表框List1中。
(1)在设计程序界面时,要使按钮Command1显示“异或”二字,则应该修改Command1的_______ 属性。
(2)实现上述功能的VB程序如下,在划线处填入合适的代码,加框处代码有错,请改正。
Function f(z As Integer) As String '此程序段实现将十进制数z转换为二进制数f
Dim y As Integer
Do While z > 0
y = z Mod 2
z = ①
f = str(y) & f
Loop
End Function
Private Sub Command1_Click()
Dim x,y,k,m As Integer
Dim s1 As String, s2 As String, s3 As String
Dim a(15) As String, b(15) As String
x = Val(Text1.Text): y = Val(Text2.Text)
If x < y Then
m = x: x = y: y = m
End If
s1 = f(x): s2 = f(y) 's1表示x的二进制数,s2表示y的二进制数
k = Len(s1)
For i = 1 To k '将转换后的二进制数按位分别存储到数组a和b
a(i) = Mid(s1, i, 1)
If i <= Len(s2) Then
b(i) = Mid(s2, i, 1)
Else

End If
Next i
S3=""
For i = 1 To k

s3 = "0" + s3
Else
s3 = "1" + s3
End If
Next i
List1.AddItem "异或结果是:" + s3
End Sub
(3)十进制数10和十进制数20的异或结果是___________________。
有一组数据23、12、56、34、10分别存放在一组变量数组a(1)―a(5)中,以下程序执行后,i的值是( )
Dim a(1 To 5) As Integer
Dim f As Boolean
a(1) = 23: a(2) = 12: a(3) = 56: a(4) = 34: a(5) = 10
i = 1: f = True
Do While i <= 5 And f = True
If a(i) = 56 Then f = False
i = i + 1
Loop
Label1.Caption = i
Dim a(1 To 5) As Integer
Dim f As Boolean
a(1) = 23: a(2) = 12: a(3) = 56: a(4) = 34: a(5) = 10
i = 1: f = True
Do While i <= 5 And f = True
If a(i) = 56 Then f = False
i = i + 1
Loop
Label1.Caption = i
A.6 | B.3 | C.4 | D.5 |
有一个函数f,这个函数的参数是两个字符串s1、s2,这两个字符串必须长度相同并且由小写字母组成。函数的输出是一个与s1、s2长度相同的字符串s,字符串s的第i个字符为字符串s1、s2的第i个字符中小的那个,比如:f("ab", "ba") = "aa", f("nzwzl", "zizez") = "niwel"。编写VB程序,模拟上述函数的功能:在文本框Text1中输入字符串参数x,在文本框Text2中输入字符串参数y,单击“计算”按钮Command1,在文本框Text3中输出函数f(x,y)的值。运行界面如第14题图所示。
(1)观察程序界面,该程序中共有_____个对象。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Command1_Click()
Dim f As String, x As String, y As String
x = Text1.Text
y = Text2.Text
f = ""
If Len(x) <> Len(y) Then
Text1.Text = "请输入符合要求的字符串!"
Text2.Text = "请输入符合要求的字符串!"
Else
For i = 1 To Len(x)
If ① Then
f = f + Mid(y, i, 1)
Else
f = f + Mid(x, i, 1)
End If
Next i
②
Text3.Text = f
End Sub
(3)运行该程序,在文本框Text1中输入flash,在文本框Text2中输入excel,单击“计算”按钮Command1,则文本框Text3中显示 。
(1)观察程序界面,该程序中共有_____个对象。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Command1_Click()
Dim f As String, x As String, y As String
x = Text1.Text
y = Text2.Text
f = ""
If Len(x) <> Len(y) Then
Text1.Text = "请输入符合要求的字符串!"
Text2.Text = "请输入符合要求的字符串!"
Else
For i = 1 To Len(x)
If ① Then
f = f + Mid(y, i, 1)
Else
f = f + Mid(x, i, 1)
End If
Next i
②
Text3.Text = f
End Sub
(3)运行该程序,在文本框Text1中输入flash,在文本框Text2中输入excel,单击“计算”按钮Command1,则文本框Text3中显示 。
根据雨水的PH值判断酸雨情况的规则为:当PH值小于4.7时为“重度酸雨”,当PH值介于4.7~5.6时为“轻度酸雨”,当PH值大于5.6时为“非酸雨”。其算法流程图如下图所示,则图中①、②所在判断框中的内容是( )


A.①PH<4.7? ②PH≤5.6? | B.①PH<4.7? ②PH<5.6? |
C.①PH<4.7? ②PH>5.6? | D.①PH≥4.7? ②PH≤5.6? |
某VB程序功能如下:输入正整数n,单击命令按钮Command1后,则会生成一串有规律的数字序列,形式为“n n-1 n-2 … 3 2 1 2 3 … n-2 n-1 n”。例如n=8时,生成的数字序列如图所示。代码如下:

Private Sub Command1_Click()
Dim n As Integer, i As Integer, s As String
n = Val(Text1.Text)
s = ""
For i =" 1" To 2 * n - 1
If i <=" n" Then ① Else ②
Next i
Label1.Caption = s
End Sub
为实现以上功能,划线①②处应分别填写

Private Sub Command1_Click()
Dim n As Integer, i As Integer, s As String
n = Val(Text1.Text)
s = ""
For i =" 1" To 2 * n - 1
If i <=" n" Then ① Else ②
Next i
Label1.Caption = s
End Sub
为实现以上功能,划线①②处应分别填写
A.①s =" s" & Str(n - i + 1) ②s =" s" & Str(i - n + 1) |
B.①s =" Str(n" - i + 1) ②s =" Str(i" - n + 1) |
C.①s =" s" & Str(i - n + 1) ②s =" s" & Str(n - i + 1) |
D.①s =" Str(i" - n + 1) ②s =" Str(n" - i + 1) |
(加试题)有1个升序排列的数组a(a(1)~a(n),n≥3),从左到右相邻两个元素的差值(后一个元素值减去前一个元素值)先由小到大、再由大到小,且相邻两个差值不相等,为了查找相邻两个元素的最大差值,小李编写的VB程序段如下:
i = 1 :j = n
Do While i + 1 < j


Label1.Caption="相邻两个元素的最大差值是" + Str(a(j) - a(i))
上述程序段两个方框处的语句分别为( )
i = 1 :j = n
Do While i + 1 < j
m = (i + j) \ 2
If a(m + 1) - a(m) > a(m) - a(m - 1) Then

Else

End if
LoopLabel1.Caption="相邻两个元素的最大差值是" + Str(a(j) - a(i))
上述程序段两个方框处的语句分别为( )
A.① i = m ② j = m | B.① i = m ② j = m - 1 |
C.① i = m + 1 ② j = m – 1 | D.① i = m + 1 ② j = m |