当前位置: 高中信息技术 / 综合题
  • 1. (2022·浙江模拟) 小明编写了一个矩阵转换程序,功能如下:单击“生成”按钮Command1后,在列表框list1中生成1-16顺序矩阵,单击“转换”按钮Command2后,在列表框.list2中生成转换后的矩阵。

    转换的算法如下:

    1)改变列的位置:原矩阵第3列变为新矩阵的第1列,原矩阵第1列变为新矩阵第2列,原矩阵第4列变为新矩阵第3列,原矩阵第2列变为新矩阵第4列。

    2)改变行的位置:经过(1)处理后的矩阵的第1行和第4行交换,第2行和第3行交换。实现上面的功能,程序运行界面如图所示。

    1. (1) 程序执行后,点击转换按钮,在列表框List2中显示转换后的矩阵。再次点击转换按钮后,列表框List2中仅显示重新转换后的矩阵,则应在Com-mand2_ Click( )事件过程中添加语句(单选,填字母:A .Text2. Text=“”/B .List2. AddItem“”/C .List2. Clear)
    2. (2) 实现上述功能的程序如下,请在程序划线处填入合适的语句或代码。

      Dim sc(1 To 16) As Integer

      Dim zh(1 To 16) As Integer

      Private Sub Command1_ Click( )

          '在列表框list1中生成4*4矩阵sc,代码略

      End Sub

      Private Sub Command2_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

                  

              ElseIf 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

微信扫码预览、分享更方便