尼克斯彻定理:任何一个大于等于 1 的整数的立方等于一串连续奇数之和,如:13=1,23=3+5,33=7+9+11。编写一个 VB 程序验证尼克斯彻定理,程序运行时,在文本框 Text1 中输入 一个大于等于 1 的整数,单击“验证”按钮 Command1,在文本框 Text2 中显示验证结果,运行界 面如下图所示

实现上述功能的 VB 代码如下,其中加框处代码有错,请改正。
Dim n As Integer, i As Integer, t As Integer, sum As Long, s As String
n = Val(Text1.Text)
For i = 1 To n ^ 3 Step 2    ' 变量 i 表示连续奇数的首个整数

sum = 0 :   t =i :   flag = False

Do While sum <= n ^ 3  And  flag = False

sum = sum + t
t=t+1  
If sum = n ^ 3 Then flag = True

Loop

If flag = True Then Exit For

Next i
s = Str(n) + "^" + Str(3) + "="
Do While sum > 0

sum = sum-1

If sum = 0 Then

s = s + Str(i)

Else

s = s + Str(i) + "+"

End If

i = i + 2

Loop
Text2.Text = s
End Sub
加框部分应改为:① _________  ②__________
当前题号:1 | 题型:填空题 | 难度:0.99
有如下VB程序段:
n = 0
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= "0" And c <= "9" Then m = 1 Else m = 2
a(m) = a(m) + 1
If a(m) = 1 Then n = n + 1
Next i
数组a各元素的初始值都为0,文本框Textl的内容为“Happy2017”。执行程序后,变量n的值为(  )
A.1B.2C.4D.9
当前题号:2 | 题型:选择题 | 难度:0.99
由数组a生成数组b的方法描述如下:
1)   将数组a中的n个元素依次分割出若干个数据块,每个数据块有m×m个元素,m最大值为8,最小值为2。分割时,按尽可能大的数据块进行分割;
2)   对每个分割出的数据块用“方阵转换法”进行转换,每次转换后得到的数据块依次存储在数据b中;
3)   数组a分割后的剩余元素(个数小于4),直接依序存储到数组b中。

例如n=140时,可依次分割出3个数据块,元素的个数分别为64(8×8)、64(8×8)、9(3×3),剩余元素为3个。

“方阵转换法”过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后元素的次序。以3×3数据块为例,转换过程如下图所示:
转换前元素次序

转换后元素次序      
小明依据上述描述设计了如下VB程序。请回答下列问题:
(1)当n=120时,分割出的第3个数据块元素个数为__________。
(2)请在划线处填入合适的代码。
Const n = 120
Dim a(1 To n) As Integer
Dim b(1 To n) As Integer
Private Sub Command1_Click()
Dim m As Integer, i As Integer
Dim Start As Integer   '当前未分割数据的第1个元素下标
Dim Left As Integer    '当前未分割数据的个数
Dim pa As Integer '数组a的下标
Dim pb As Integer '数组b的下标
'读取n个转换前的数据,依次存储到a(1)、a(2)、……a(n)中,代码略
m = 8
Start = 1
Left = n
Do While Left > 3
If Left < m * m Then
m = ___________
Else
pa = Start
pb = Start
For i = 1 To m * m
b(pb) = a(pa)
pb = pb + 1
If i Mod m = 0 Then
______________
Else
pa = pa + m
End If
Next i
______________
Start = Start + m * m
End If
Loop
For i = Start To n
b(i) = a(i)
Next i
'依次输出转换后数据b(1)、b(2)、……b(n)中,代码略
End Sub
当前题号:3 | 题型:填空题 | 难度:0.99
学校组织运动会,开幕式的时候要求每个班排成一个方阵,为了能快速地排成方阵,小张编写了一个 VB 程序,程序功能:在文本框 Text1 中输入每一行的人数,在文本框 Text2 中输入班级人数(输入人数<=60),单击“排队”按钮 Cmd1 后,在列表框 List1 中按学号显示队形。程序运行界面如下图所示,程序代码如下,请回答下列问题:


(1)以上代码的事件处理过程名是___________。
(2)程序代码中加框处有两处错误,请改正:①___________② ___________
(3)程序代码中,请将③处的代码补充完整___________
当前题号:4 | 题型:填空题 | 难度:0.99
用 VB 程序编写了一个找最大值的程序,程序功能:在文本框中输入数字串(数据间用逗号分隔,以数字开头,逗号结尾),单击“寻找”按钮 Command1 后,在 Label3中输出最大的数值。程序运行界面如图所示:

Private Sub Command1_Click()
Dim i As Integer, max As Integer, j As Integer
Dim s As String, c As String, t As String
s = Text1.Text
i = 1 : j = 1
max = 0 : t = ""
Do While j <= Len(s)
c = Mid(s, j, 1)

If c = "," Then

t = Mid(s, i, j - i)
If Val(t) > max Then max = Val(t)

End If
     
Loop
Label3.Caption = Str(max)
End Sub
将划线处代码补充完成,正确的是( )
A.① i=i+1   ② j=j+1B.① i=j+1   ② j=j+1
C.① j=j+1   ② i=i+1D.① j=i+1   ② i=i+1
当前题号:5 | 题型:选择题 | 难度:0.99
小张编写了一个查询汉字区位码的程序,程序具体功能:在文本框Text1中输入一个汉字的内码(处理码),单击“查询”按钮Command1后,在Text2中输出汉字的区码和位码。例如:汉字“啊”的内码和区位码的关系如下:
“啊”的区位码
区码
位码
十进制
16
01
十六进制
10
01
 
区位码分别转成十六进制后,将区码和位码分别加上十六进制数A0即得到内码。

“啊”的内码的十六进制形式即为B0A1H
程序运行界面如图所示:

Private Sub Command1_Click()
Dim i As Integer, q As Integer, w As Integer, s As String, s1 As String, c As String
s = Text1.Text
For i = 1 To 4    '如果输入的处理码包含小写字母,则转成大写字母
c = Mid(s, i, 1)
If  _____ Then
s = Mid(s, 1, i - 1) + Chr(Asc(c) - 32) + Mid(s, i + 1, Len(s) - i)
End If
Next i
For  i = 1 To 4   '两个字节分别减去 A0H
c = Mid(s, i, 1)
If i Mod 2 = 1 Then
s1 = s1 & CStr((Asc(c) - Asc("A")))    'CStr( ):将括号内表达式的值转换为字符串型
Else
_____
End If
Next i
For i = 1 To 2    '将十六进制转换成十进制
q = q * 16 + Val(Mid(s1, i, 1))
_____
Next i
Text2.Text = "区号:" + Str(q) + "   位号:" + Str(w)
End Sub
(1)请在划线处填入合适的代码。
(2)如果输入的内码为 D1A7,则 Text2 中输出的内容是:_______________
当前题号:6 | 题型:填空题 | 难度:0.99
用户注册某APP时,密码有如下要求:至少为8个字符,并且必须含有数字和字母。小林编写了一个VB程序,对用户设定的密码进行合法性验证,如图所示。在文本框Text1中输入密码字符串s,单击“验证”按钮,在标签Label1中显示验证结果“符合要求”或“不符合要求”。

(1)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Cmdjudge_Click()   
Dim a1 As Integer, a2 As Integer, flag As Boolean
Dim s As String, c As String, i As Integer, n As Integer
a1=0:a2=0:flag=False
s = Text1.Text
i=1
___________
Do While i<= n And Not flag

c = Mid(s, i, l)

If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then

a1=1

ElseIf c >= "0" And c <= "9" Then

a2 = 1

End If

If _________ Then flag = True

i = i+1

Loop
If flag=True And n>=8 Then
Label1. Caption=“符合要求”
Else
Label1. Caption=“不符合要求”
End Sub
(2)代码“Private Sub Cmdjudge_Click()”中的“Cmdjudge”是__________.(单选,填字母:
A.过程名 /B.属性名/C.事件名/D.对象名)
(3)运行该程序,在文本框Text1中输入“Wd6b$ksss”单击“统计”按钮后,语句c=Mid(s, i, 1)共执行了__________次。
当前题号:7 | 题型:填空题 | 难度:0.99
问题:在“1390773”号段的 11 位手机号码中,统计出最后两位数字相同的号码个数。如 13907735200、13907738366 是符合条件的两个号码。
算法描述如下图所示。请将程序补充完整。

Private Sub Form_Click() 
Dim a As Integer, b As Integer
Dim i As Integer, s As Integer

s=0

For i=10000 To 19999

a=_____

b=(i Mod 100)\10

    If a=b Then
s=____
End If
Next i

Print "最后两位数字相同的号码个数有:" ;_____ 

End Sub
当前题号:8 | 题型:填空题 | 难度:0.99
王老师采用星级制对本班学生的平时表现进行评价,每位同学的评分数据储存在数据库中。学生的得分和星级对照如下表:
成绩
1-20
21-40
41-60
61-80
81-100
星级
一星
二星
三星
四星
五星
 
要求依据上表统计出各星级学生人数占总人数的比例。小王编写了一个VB程序实现该功能:程序运行时,每位学生的得分存储到数组a中,并在列表框listl中显示,单击命令按钮后,在列表框list2中显示各星级的人数占总人数的百分比例。程序运行界面如图所示:

(1)观察代码,实现统计功能的按钮对象名为:_______。
(2)当前读取的数据表名为:_________________
(3)实现上述功能的VB代码如下,划线①、②处请填空。
Const n = 50
Dim a(1 To n) As Integer
Dim b(0 To 4) As Integer
Private Sub Form_Load( )
Dim adocn  As New ADODB. Connection
Dim adors As New AD0DB. Recordset
Dim strl,str2 As String
adocn. ConnectionString =”provider= microsoft. ace. oledb.12.0;data source=” +
App. Path + ”\school. accdb”
adocn.Open
str2 = ”select * from student”
adors.0pen str2,adocn
’以下将每个学生的得分读入组数a中,并在列表框list1中显示,代码略
End Sub
Private Sub Coml_Click()
Dim dd As String
Dim cou As Single
Dim t as integer
dd=“一星二星三星四星五星”
For i = 1 To n
t=______________________
b(t)=b(t)+1
Next i
For i = 0 To 4
cou = Int(b(i)/n * 100 + 0.5)
1ist2. AddItem,_______________+ Str(cou) + “%”
Next i
End Sub
当前题号:9 | 题型:填空题 | 难度:0.99
   某种字符加密方法描述如下:
①输入明文、密钥。
②在明文中从左往右每次取连续的8个字符。
③将8个字符围成一圈,从第1个字符开始1,2,3,……数数,数到密钥值时取出该位字符;再由下一个字符开始1,2,3,……数数,数到密钥值时取出该位字符,重复此过程,直至这8个字符被取完。
④依次把取出的8个字符拼接成新的字符串。
⑤重复②-④步骤,直至所有明文字符处理完毕。
编写一个VB程序,实现功能如下:程序运行时从文本框Textl中读入一串明文(长度为8的倍数),从文本框Text2中读入密钥y,单击“加密”按钮Commandl,对明文按上述方法转换后在文本框Text3中显示。程序运行界面如图所示。

(1)运行上述程序,若在文本框Textl中输入“Let's go”,Text2中输入“3”,单击“加密”按钮,则文本框Text3中显示的内容是__________________________。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Const n=1000
Private Sub Commandl_Click()
Dim f (1 To n) As Integer,cq (1 To n) As Integer
Dim a (1 To n) As String,s As String,res As String
Dim y As Integer,p As Integer,begin As Integer
s=Textl.Text:y=Val(Text2.Text)
For i=1 To 8

f(i)=1

Next i
'计算出列顺序
p=0
For i=1 To 8

j=1

Do While j<=y

p=p Mod 8+1
j=___________

Loop

f(p)=0:cq(i)=p

Next i
For i=1 To Len(s)

a(i)=Mid (s,i,1)

Next i
i=1:begin=-8:res=""
Do While i<=Len(s)

If i Mod 8=1 Then___________

res=res+___________

i=i+1

Loop
Text3.Text=res
End Sub
当前题号:10 | 题型:填空题 | 难度:0.99