- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
编写一个“十进制转二进制”的VB程序,功能如下:在文本框Text1中输入0~255之间的整数,单击“转换”按钮Command1后,在Text2上显示对应的二进制数。程序设计界面和运行界面分别如图a和图b所示。

(1)要使程序运行时,按钮Command1上显示“转换”,下列方法不可行的是________________(单选,填字母:
(2)实证上述功能的 VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, k As Integer, s
As String
n=Val(Text1. Text)
k=1:s=""
Do While 2^k < n
k=k+1
Loop
Do While n<>0
If n>=2^(k-1) Then
s=s+"1"
①__________
Else
s=s+"0"
End If
k=②_________
Loop

Text2. Text = s
End Sub
(3)若删除加框处的代码,在文本框Text1输入12,单击“转换”按钮,则文本框Text2中显示的内容是________________。

(1)要使程序运行时,按钮Command1上显示“转换”,下列方法不可行的是________________(单选,填字母:
A.界面设计时,选中对象Command1,设置Caption属性为“转换”/ | B.在From_Load事件处理过程中添加语句Command1.Caption="转换"/ | C.在Form_Load事件处理过程中添加语句Command1.Text="转换")。 |
Private Sub Command1_Click()
Dim i As Integer, n As Integer, k As Integer, s
As String
n=Val(Text1. Text)
k=1:s=""
Do While 2^k < n
k=k+1
Loop
Do While n<>0
If n>=2^(k-1) Then
s=s+"1"
①__________
Else
s=s+"0"
End If
k=②_________
Loop

Text2. Text = s
End Sub
(3)若删除加框处的代码,在文本框Text1输入12,单击“转换”按钮,则文本框Text2中显示的内容是________________。
某“数值提取”程序,实现如下功能:在文本框Text1中输入包含数字和其他非数字字符混合的原始数据,点击“数值提取”按钮Command1,将数据中的数字以“,”间隔输出到文本框Text2中。程序运行界面如图所示,VB代码如下。请回答以下问题:

(1)要使程序运行后,窗体Form1标题立即自动显示为“数字提取”,可在_____(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click ()
Dim s As String, ch As String
Dim flag As Boolean
Dim tmp As String
dim ans As String
s = Text1. Text
s = s+ "."
tmp = "" '存储每一组检测到的数字
ans ="" '存储最后的输出结果
flag =False
For i =1 To Len(s)
ch =Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
Next i
Text2. Text = ans
End Sub
(3)如图,若删除程序中的语句s=s+ ".",输入不变,则提取后的数字信息为_____。

(1)要使程序运行后,窗体Form1标题立即自动显示为“数字提取”,可在_____(单选,填字母:
A.Form_Load/ | B.Form_Click/ | C.Command1_Click)事件过程中添加语句Form1. Caption="数值提取"。 |
Private Sub Command1_Click ()
Dim s As String, ch As String
Dim flag As Boolean
Dim tmp As String
dim ans As String
s = Text1. Text
s = s+ "."
tmp = "" '存储每一组检测到的数字
ans ="" '存储最后的输出结果
flag =False
For i =1 To Len(s)
ch =Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
tmp =①_________
flag =True
ElseIf flag = True Thenans= ans +tmp+ ","
tmps = ""
②_________
End IfNext i
Text2. Text = ans
End Sub
(3)如图,若删除程序中的语句s=s+ ".",输入不变,则提取后的数字信息为_____。
某对分查找算法的VB程序如下:
c=0:i=1:j=8
key=Val(Text1.Text)
f= False
Do While i<=j And Not f
m=Fix((i+j)/2+0.5)
c=c+1
If key=d(m) Then
Loop
数组元素d(1)到d(8)的值依次为“97,79,68,48,35,23,18,10”,若运行该程序段后,c的值为2,则文本框Text1中输入的值是( )
c=0:i=1:j=8
key=Val(Text1.Text)
f= False
Do While i<=j And Not f
m=Fix((i+j)/2+0.5)
c=c+1
If key=d(m) Then
f= True
Else If key>d(m) Thenj=m-1
Elsei=m+1
End IfLoop
数组元素d(1)到d(8)的值依次为“97,79,68,48,35,23,18,10”,若运行该程序段后,c的值为2,则文本框Text1中输入的值是( )
A.68或18 | B.68或23 | C.79或23 | D.79或18 |
某查找算法的VB程序段如下:
i=1:j=7:n=0
Key=Val (Text l. Text)
Do While i <=j
数组元素d(1)到d(7)存放的数值依次为6,45,23,36,78,58,12,若该程序段运行结束后,n的值为2,则Key的值是( )
i=1:j=7:n=0
Key=Val (Text l. Text)
Do While i <=j
n=n+1
m=Int ((i+j)/2)
If Key=d(m) Then Exit Do
If Key <d(m) Then j= m-1 Else i =m+ l
Loop数组元素d(1)到d(7)存放的数值依次为6,45,23,36,78,58,12,若该程序段运行结束后,n的值为2,则Key的值是( )
A.58 | B.6或12 | C.45或58 | D.23或78 |
给定区间[a1,a2]和[b1,b2],若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间[1,3]和[2,6]可合并为[1,6];区间[1,6],[2,5]可合并为[1,6];区间[1,4]和[4,5]可合并为[1,5]。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=① :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>"," Then
②
Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+","+Str(R)+"),"
L=a(i):R=a(i+1)
R=a(i+1)
End If
③
Loop
result=result+"("+Str(L)+","+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=① :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>"," Then
②
Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+","+Str(R)+"),"
L=a(i):R=a(i+1)

R=a(i+1)
End If
③
Loop
result=result+"("+Str(L)+","+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。
某算法的部分流程图如图所示。
执行这部分流程,输入11,变量i和f的值分别是( )

执行这部分流程,输入11,变量i和f的值分别是( )
A.10,True | B.10,False | C.11,True | D.11,False |
下列结果为True的逻辑表达式是( )。
A.Not(3<8) | B.(3<8)And(5>10) | C.(3<8)And(5<10) | D.(3>8)Or(5>10) |