- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- + 算法实例的程序实现
- 过程和自定义函数
- 枚举算法及程序实现
- 解析算法及程序实现
- 递归算法及程序实现
- 排序算法及程序实现
- 查找算法及程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
i=1:j=6:n=0:f=False
key=Val(Text1.Text)
Do While i<=j and Not f
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(6)的值依次为“12,19,27,31,46,55”,文本框Text 1中输入“31”后运行该程序,则以上程序段运行结束后,下列说法不正确的是( )
A.变量i的值为4 |
B.变量j的值为4 |
C.变量m的值为4 |
D.变量n的值为3 |
s = Text1.Text
(1)
i = 1: flag = True
Do While i <= n - 1 And flag
If (2) Then flag = False
i = i + 1
Loop
If (3) Then
Label1.Caption = "重复数"
Else
Label1.Caption = "不重复数"
End If
上述程序中方框处可选语句为:
①flag=False
②n=Len(s)
③Mid(s,i,1)=Mid(s,i+1,1)
则(1)、(2)、(3)处语句依次是( )
A.②、③、① | B.①、③、② | C.②、①、③ | D.③、②、① |
小王利用VB程序实现这一加密功能,程序界面和代码如下所示:
(1)根据程序代码分析,“加密”按钮的名称是_____________________________。
(2)根据加密规则,明文“9G78fbY5”,则密文为__________________________。
(3)请在画线处填入合适的代码:

Private Sub Com_ jm_ Click()
Dim x As String, ch As String, cl As String
Dim sl As String, s2 As String, s As String
Dim i As Integer, n As Integer, y As Integer
x= Text1. Text
n=Len(x)
For i=1 To n
ch= Mid(x, i, 1)
If ch >= "0" And ch <= "9" Then
①_____________
s2=s2 & y
Elself ch >="a" And ch<="z" Then
y=(Asc(ch)-Asc("a")+3)Mod 26
②_______________
s1=c1+s1
Else
y=(Asc(ch)- Asc("A")+3) Mod 26
c2=Chr(Asc("A")+y)
s1=c2+s1
End If
Next i
③________
Text2 Text=s
End sub
Private Sub Form _ Load( )
′数组a,b存储整数,代码略
End sub
Private Sub Command1_Click( )
Dim i As Integer,j As Integer, k As Integer, t As Integer, flag As Boolean
flag- True
For i=1To ①
j=n2

If b(j)< b(j-1) Then t=b(j: b(j)=b(j-1): b(j-1)=t
j=j-1
Loopk=i
For j=n1Toi+1Step-1
If a(j)<a(k) then k-j
Next jIf a(k)<= b(1) And k <> i Then
t=a(k):a(k)=a(i): a(i)=t
flag=False
Elself② Thent=a(i):a(i)=b(1):b(1)=t
flag=True
End IfNext i
For i=1 To nl
Listl AddItem Str(a(i))
Next i
End sub
请回答问题:
(1)要使程序运行时,清空列表框List1的内容,可在 Form Load事件过程中添加语句:_____(单选,填字母:
A.List1.Caption=""/ | B.List1.Clear/ | C.List1. Additem"")。 |
①_______________________
②_______________________
(3)程序代码方框处,flag为_______时,表示b数组该遍加工需要进行_______排序(选填:冒泡/选择)。
注:福彩“双色球”玩法;在1-33个红色球影申随机生成6个号码,在1~16个蓝色球号码中随机生成个号码,共计6+1个号码开奖。
程序运行界面如图所示。

(1)实现上述功能的VB程序如下,请完善画线处的代码。
Dim red(l To 600) As Integer '用于存储100*6红色球信息
Dim blue(1 To 100) As Integer '用于存储100*1蓝色球信息
Private Sub Form_Load()
'本过程用于从数据库data. accdb中读取最近100期双色球开奖信息
'将100*6个红色球开奖信息依次存储在数组red()中
'将100*1个蓝色球开奖信息依次存储在数组blue()中
'将最近100期开奖信息格式化后显示在列表框List1中
'本过程代码略
End Sub
Private Sub Command1_Click()
Dim min As Integer
Dim s As string
Dim f(1 To 33)As Integer
'——以下开始处理蓝色球部分——
For b= 1 To 100
f(blue(b))= f(blue(b))+1
Next b
min= 100
For i= 1 To 16
If f(i)< min Then min f(i)
Next iFor i=1 To 16
If f(i)= min then s= ①_______
f(i)=0Next i
List2. Additem"蓝色球重点买人:"十s
'——以下开始处理红色球部分——
For r=1 To 600
②_________
Next r
③_________

(2)在某次红球部分处理时,若数组f中的,f(1)至f(33)的值依次为:
f(1)-f(11): | 6 | 8 | 20 | 25 | 16 | 21 | 14 | 20 | 24 | 28 | 26 |
f(12)-f(22): | 1 | 30 | 8 | 1 | 10 | 10 | 33 | 28 | 32 | 20 | 6 |
f(23)-f(33): | 4 | 34 | 29 | 18 | 25 | 30 | 4 | 13 | 30 | 20 | 6 |
结合加虚线框处代码的算法,输出的内容是:
红色球重点买入:________________________.(按输出顺序写出6个红球号码)。
a(1)=91:a(2)=5:a(3)=65:a(4)=8;a(5)=78:a(6)=13:a(7)=29:a(8)=18
For i=2 To 5
tmp= a(i)
L=1
R=i-1
Do While l<= R
M= Fix(L+ R)/2)If tmp <=a(M) Then R= M-1 E lse L= M+1
Loop
j=i-1
Do While j>=L
a(j+1)=a(j)j=j-1
Loop
a (L)= tmp
Next i执行上述代码后,数组a中的元素分别是( )
A.5 8 13 18 29 65 78 91 | B.5 8 65 78 91 13 29 18 |
C.91 78 65 29 18 13 8 5 | D.91 78 65 8 5 13 29 18 |
For i=1 To 10
b(a(i) Mod 10)= b(a(i) Mod 10)+1
b(a(i)\10)=b(a(i)\10)+1
Next inum=0
Fori=0 To 9
If b(i>num Then num b(i)
Next i数组b各元素初始值为0,数组元素a(1)到a(10)的值依次为“68,17,24,30,36,40,55,58,61,66”,执行该程序段,num的值为( )
A.2 | B.3 | C.4 | D.5 |
①将待加密的字符分成若干个字符串组,每组n个字符,剩余字符(个数小于n)自成一组。
②将每组字符按以下方法重新组合,得到新的字符串。
重新组合规则:取每组第个字符依次连接生成第i个新的字符串,共n组。
③将底组后的n组字符串依次进行字符交换,得到加密字符(加密前后字符均为大写)。字符变换规则:按字母顺序后移i个位置后输出。
④依次合并变换后的字符串,即为密文。例如:明文="ABCDEFGHIJK",n=4的字符加密过程如下:

(1)已知n=3,则待加密数据"ABCDEFG"加密后的密文为_________________。
(2)小张根据上述加密算法,设计了一个对应的加密程序,其VB代码如下,请在划线处填入合适的代码。
下面进行重新组合:重组后数据保存到s1中


下面进行字符变换:字符变换后数据保存到ans中

划线处应填入的代码分别为:(1)______________ (2)______________ (3)______________
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j
m = (i + j) \ 2
If key = a(m) Then
s = s + "M": Exit Do 'Exit Do 表示退出循环
ElseIf key < a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
LoopText1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是( )
A.RL | B.LMR | C.RLR | D.LRLM |
i= 1 : j =9 : n =0
key=Val( Textl.Text)
Do While i<= j
N=n+1
M=Fix((i + j) / 2)
If key = d(m) Then Exit Do
If key<d(m) Then j= m - 1 Else i=m+1
Loop数组元素d(l)到d(9)的值依次为“7,12,18,25,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是( )
A.39 | B.18或61 |
C.18或72 | D.12或61 |