题库 高中信息

题干

小明编写了一个矩阵转换程序,功能如下:单击“生成”按钮Commandl后,在列表框listl中生成1-16顺序矩阵,单击“转换”按钮Command2后,在列表框list2中生成转换后的矩阵。转换的算法如下:
(1)改变列的位置:原矩阵第3列变为新矩阵的第1列,原矩阵第1列变为新矩阵第2列,原矩阵第4列变为新矩阵第3列,原矩阵第2列变为新矩阵第4列。
(2)改变行的位置:经过(1)处理后的矩阵的第1行和第4行交换,第2行和第3行交换。
实现上面的功能,程序运行界面如图所示。

实现上述功能的程序如下,请在程序划线处填入合适的语句或代码。
Dim sc(1 To 16)As Integer ′生成矩阵
Dim zh(1 To 16)As Integer ′转换矩阵
Private Sub Commandl_Click()
′在列表框 listl 中生成4*4矩阵sc,代码略
End Sub
Private Sub Command 2_Click()
Dim pb As Integer,tmp As Integer,i As Integer,line As String
For i=1 To 16 ′变化列

If i Mod 4=1 Then

____________________

Elself i Mod 4=3 Then

pb=i-2

Else

pb=pb+2

End If

zh(pb)=sc(i)

Next i
For i=1 To 8 ′交换行

If___________________Then

tmp=zh(i):zh(i)=zh(i+12):zh(i+12)=tmp

Else

tmp=zh(i):zh(i)=zh(i+4):zh(i+4)=tmp

End If

Next i
line=″″
List2.Clear
For i=1 To 16

If i Mod 4=1 Then

List2.AddItem line
line=adj(Str(zh(i)-3))

Else

___________________

End If

Next i
List2.AddItem line
End Sub
Function adj(a As String,n As Integer)As String
′adj函数的功能:在字符串a前加入适当的空格,使得a的长度为n位,代码略。
End Function
上一题 下一题 0.99难度 None 更新时间:2020-03-31 08:08:29

答案(点此获取答案解析)

同类题2

小王利用VB及ACCESS数据库制作了一个解密程序,具体使用过程如下:
在VB项目文件夹目录中有一个ACCESS数据库文件data.accdb,其中有一张数据表如图1所示ask字段中存放的是密文字符,对应ans字段中存放的是明文字符。

图1
VB程序界面如图2所示,其中一个按钮Command1的Caption属性值设置为“读取密码本”,另一个按钮Command2的Caption属性值设置为“解密”。程序运行后先点击Command1,程序将从ACCESS数据库中读取明文密文对照表并显示在列表框List1中。然后在密文文本框Texe1中输入加密文字,点击Command2解密后的明文将显示在Text2中。

图2
程序代码部分如下,请回答后面的问题:
Dim a() As String
Dim b() As String
Dim length As Integer
Private Sub Command1_Click()
List1.Clear
Dim i As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString =“provider=microsoft.ace.oledb.12.0;data source=”& App.Path &
“\________”
conn.Open
rs.ActiveConnection = conn
rs.CursorLocation = adUseClient
rs. Open (“select * from code”)
length = rs.RecordCount
ReDim a(1 To length)
ReDim b(1 To length)
rs.MoveFirst
For i = 1 To length
a(i) = rs.Fields(“ask”)
b(i) = rs.Fields(“ans”)
List1.AddItem (a(i)&“____”&b(i))
rs.________
Next i
End Sub
Private Sub Command2_Click()
Text2.Text=“”
Dim s As String
Dim i As Integer
s=Text1.Text
For i=1 To Len(s)
Text2.Text=Text2.Text&translate(Mid(s,________))
Next i
End Sub
Function translate(ask As String) As String
Dim i as Integer
Dim flag as Boolean
i=1
flag=True
Do While i<=length And flag
If a(i)=ask Then
________
End If
i=i+1
Loop
If flag=True Then
translate=“”
Else
translate=b(i-1)
End If
End Function
(1)程序代码①处应该填入___________________________________。
(2)程序代码②处应该填入____________________________________。
(3)在程序代码③处补全Mid函数: __________________________。
(4)程序代码④处应该填入____________________________________。
(5)translate函数使用的查找算法是________(填对分查找/顺序查找)。