要求编写一个“二进制加法”的VB程序,功能如下:在文本框Textl中输入一个二进制数,文本框Text2中输入另一个二进制数,单击“加法”按钮Command1后,在文本框Text3中显示二进制表示的和,程序运行界面如图a所示。

(1)在设计程序界面时,应使用图b所示“控件工具箱”中的____________(填写相应编号)添加按钮Commandl。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Commandl_Click()

Dim s1 AsString,s2 As String,s3 As String,tmp As String

Dim i As Integer,t As Integer,k As Integer

s1=Text1.Text:s2=Text2.Text

If Len(s1)<Len(s2) Then tmp=sl:sl=s2:s2=tmp

For i=1 To Len(s1)-Len(s2)

s2="0"+s2

Next i

i=Len(s1):k=0

Do While i>=1

t=Val(Mid(sl,i,1))+Val(Mid(s2,i,1))+k
If t>=2 Then
s3=___________:k=1
Else
s3=t&s3:k=0
End If
i=___________
Loop
If k=1 Then s3="1"+s3
Text3.Text=s3
End Sub
(3)运行该程序,输入数据如图a所示,程序执行完毕时,变量k的值为_________。
当前题号:1 | 题型:填空题 | 难度:0.99
编写矩阵乘法的VB程序。矩阵是由m×n个元素数排列而成,例如m*n矩阵是由m行n列数据排列而成。若A矩阵是m×s个元素,B矩阵是s×n个元素,将A矩阵乘以B矩阵得到C矩阵,C矩阵是m×n个元素。

计算方法:矩阵A的第i行s个元素(i,1),(i,2),…,(i,s)和矩阵B的第j列s个元素(1,j),(2,j),…,(s,j)对应相乘后相加,就得到乘积矩阵C的第i行第j列元素,即(i,j)值=(i,1)的值×(1,j)的值+(i,2)的值×(2,j)的值+…+(i,s)的值×(s,j)的值。

例如:A矩阵3×5个元素,B矩阵5×2个元素相乘后得到3×2的C矩阵,如图1所示。其中c(5)=a(11)×b(1)+a(12)×b(3)+a(13)×b(5)+a(14)×b(7)+a(15)×b(9)。

3×5矩阵A

(由数组a存储)

a(1) a(2)   a(3)   a(4)   a(5)

a(6)   a(7) a(8)   a(9)   a(10)

a(11)  a(12)  a(13) a(14) a(15)

×

5×2矩阵B

(由数组b存储)

b(1) b(2)

b(3) b(4)

b(5) b(6)

b(7) b(8)

b(9) b(10)

=

乘积矩阵C

(由数组c存储)

c(1) c(2)

c(3)    c(4)

c(5)    c(6)

图1

 

 

 

 

(1)如下图所示,矩阵A×矩阵B的乘积矩阵C的第2行第3列的值为_________。
矩阵A
矩阵B
 

1   0

2   1

4   0

 

 

2  4  1

5  1  3

 

 
(2)根据上述矩阵乘法规则,小明设计了一个求矩阵A、B的乘积矩阵C的程序,代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Const max = 10
Dim a(1 To max * max) As Integer ’ 存储m×s矩阵A的各元素
Dim b(1 To max * max) As Integer ’ 存储s×n矩阵B的各元素
Dim c(1 To max * max) As Integer ’ 存储乘积矩阵C的各元素
Dim m As Integer, s As Integer, n As Integer, i As Integer, strline As String
m=3:    n=2:   s=5
’从左向右、由上往下依次将矩阵A和矩阵B的各元素存储于数组a和数组b中,代码略
For i = 1 To_________
strline = “”
For j = 1 To n
c ((i - 1) * n + j) = 0
For k = 1 To _________
c((i - 1) * n + j)=c ((i - 1) * n + j)+a((i - 1) * s + k) * b__________)
Next k
strline = strline + Str(c((i - 1) * n + j))
Next j
List3. AddItem strline

Next i

End Sub
当前题号:2 | 题型:填空题 | 难度:0.99
某算法的部分流程图如图所示。

执行这部分流程,s的初值为0,输入n为5,则输出s的值为
A.1B.4C.5D.6
当前题号:3 | 题型:选择题 | 难度:0.99
某算法部分流程图如图所示。执行这部分流程,依次输入12、10、2、18、7、20、19、-1,则输出值是
A.19   20B.20    19C.2  7D.7   2
当前题号:4 | 题型:选择题 | 难度:0.99
(加试题)试场编排方法:每试场人数30,尾数试场可能不足30,按6行5列的布局编排试场,每个试场的座位号如下图所示。编写一个VB程序实现上述功能:在文本框Textl中输入学生数n,在文本框Text2中输入试场号m,单击“确定”按钮Commandl,在列表框中Listl中输出第m试场的编排表,程序运行界面如图b所示。
(1)999个学生的考号依次是001,002,...,998,999。根据上述试场编排方法,可知第3试场第2行第3列的学生考号是_______________。
(2)小王根据上述算法,设计了一个加密程序,其VB代码如下,请在划线处填入合适的代码。
Const k=30
Function adj(s As String)As String
‘功能:在字符串s前添加若干个空格,代码略。
End Function
Function convert(n As Integer) As String
‘功能:把n转字符串,不足3位则在前面补0,代码略。
End Function
Private Sub Commandl_Click()
Dim kh(1 To 999)As String
Dim n As Integer,m As Integer,kcs As Integer
Dim i As Integer,j As Integer,line As String
Dim start As Integer,ofsetl As Integer,offset2 As Integer
n=Val(Text1.Text)
m.Val(Text2.Text)
For i=1 To n.

kh(i)=convert(i)

Next i
If n Mod k=0 Then kcs=n\k Else___________
If m>kcs or m<l Then

Label3.Caption="无该试场!"

Else

___________

For i=l To 6

line=""
offsetl=i
line=line+adj(kh(start+ofst))
For j=2 To 5
If j Mod 2=1 Then
Offset l=offset1+12
line=line+adj(kh(start+ffset!))
Else
___________
line=line+adj(kh(start+offset2))
End If
Next j
List1.AddItem line

Next i

End If
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
素数只能被1和它本身整除,不能被其他自然数整除。编写VB程序实现如下功能:单击“产生奇数并判断”按钮Command1,随机产生一个三位正奇数显示在文本框Text1中,并在文本框Text2中显示其是否为素数的判断结果。例如,当随机产生的三位正奇数为953时,程序运行界面左图所示。

 

 

 (1)在设计程序界面时,应使用上方右图所示“控件工具箱”中的______(填写相应编号)添加文本框Text1。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ’用于标记是否为素数
Randomize
n = Int(_____________)*2+1
Text1.Text = Str(n)
flag = True ’标记为素数
i = 3
Do While i <= n - 1 And flag = True
If  n Mod i = 0  Then
flag = False
End If 
i = i + 2
Loop
If ______________ Then
Text2.Text = Str(n) + “是素数”
Else
Text2.Text = Str(n) + “不是素数”
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod i = 0”等价的是___________(单选,填字母)。
A.  n \ i = Int(n / i)B.n \ i = n/ i C.n Mod i = n \ i
当前题号:6 | 题型:None | 难度:0.99
如下图所示的流程图:

该算法完成的功能是(    )
A.计算y=1+2+3+4+5B.计算y=1×2×3×4×5
C.计算y=1+2+3+4D.计算y=1+3+5+7
当前题号:7 | 题型:选择题 | 难度:0.99
编写VB程序,实现如下功能:单击按钮“确定”,在列表框中输出1-100里所有的完全平方数。程序界面如下图所示:

为实现上述功能,请将以下程序补充完整。
Private Sub Command1_Click()
Dim j As Integer, k As Integer
List1.Clear
For k = 1 To 100

j = Int(Sqr(k))

If __________Then List1.AddItem _______________

Next k
End Sub
当前题号:8 | 题型:填空题 | 难度:0.99
有如下VB程序段:
For i=1 To 100

For j=i To 100

If j Mod i=0 Then
a(j)=a(j)+1
End If

Next j

Next i
Text1.Text=Str(a(50))
数组各元素初值为0,执行上述程序段后,文本框Textl中输出
A.5B.6C.9D.50
当前题号:9 | 题型:选择题 | 难度:0.99
有如下VB程序段:
Dim a(1 To 10)  As  Integer
Pos= -1
i=1
Do While i<=10
 If  i Mod 2=0  Then  a(i)=i*2  Else  a(i)=i
 i=i+1
Loop
i=10
Do While  i>=1
 If  a(i)=12  Then  Pos=i
 i = i-1
Loop
该程序段运行后,变量Pos值是(  )
A.1B.2C.6D.10
当前题号:10 | 题型:选择题 | 难度:0.99