阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 本程序提供了三阶矩阵加、减及乘运算的功能。用户单击“生成操作数”按钮将随机生成两个矩阵(即操作数1和操作数2),再单击某一矩阵运算按钮后,程序将输出相应运

admin2009-02-15  36

问题 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
   本程序提供了三阶矩阵加、减及乘运算的功能。用户单击“生成操作数”按钮将随机生成两个矩阵(即操作数1和操作数2),再单击某一矩阵运算按钮后,程序将输出相应运算的结果。程序运行界面如下:
        
   开发过程中,界面上从左至右三个文本框分别取名为Text1至Text3,“生成操作数”按钮名为 CmdNew,“+”、“-”和“*”构成按钮控件组,分别名为CmdOperate(0)、CmdOperate(1)和CmdOperate(2)。
   已知n阶矩阵加、减法运算法则是对应位置的元素相加、减;n阶矩阵的乘法C=AB有公式:Cij=AilBij+AilBij+…+An1Bnj其中记号Xij表示矩阵X第i行第j列上的元素。程序使用的主要变量是三维数组matrix(3,3,3),其元素matrix(i,j,k)代表第i个矩阵j行k列上的元素,这里i,j,k均从0开始计数,第0、1、2个矩阵分别表示操作数1、操作数2和结果矩阵。
   代码中用到的子过程及其功能说明如下:
    (1) Sub newMatrices():随机产生矩阵运算的两个操作数;
    (2) Sub printOut(txt As TextBox, i As Integcr):定义矩阵i向文本框txt的输出格式;
    (3) Sub operate(operation As String):计算并输出矩阵运算结果。
[Visual Basic代码]
Dim matrix(3, 3, 3) As Integer
Sub newMatrices()
    ……… End Sub
Sub printOut(txt As TextBox, i As Integer)
    ……… End Sub
Sub operate(operation As String)
Dim i, j, k As Integer
For i = 0 To 2
   For j = 0 To 2
     (1)  
    Case"+": matrix(2, i, j) = matrix(0, i, j) + matrix(1, i, j)
    Case"-": matrix(2, i, j) = matrix(0, i, j) - matrix(1, i, j)
    Case"*"
        matrix(2, i, j) = 0
        For k = 0 To 2
        matrix(2, i, j) = matrix(2, i, j) +(2)  
        Next
    End Select
        Next
    Next
    printOut  (3)  
End Sub
Private Sub CmdNew_Cliek()    ’“生成操作数”按钮的单击事件响应代码
     (4)  
    printout Text1,0
    printout Text2,1
End Sub
Private Sub CmdOperale_Click(Index As Integer)    ’矩阵运算按钮组的单击事件响应代码
     operate CmdOperate(Index).(5)  
End Sub

选项

答案(1) Select Case operation (2) matrix(0,i,k) * matrix (1,k,j) (3) Text3,2 (4) Call newMatrices或newMatrices (5) Caption

解析 (1)此处是针对操作符operation的多分支选择结构;
(2)根据矩阵乘法公式,此处应累加matrix(0,i,k) * matrix(1,k,j),k=0,…,2的值;
(3)此处应向Text3中输出结果矩阵;
(4)此处应调用newMatrices子过程生成新的操作数,调用时可加关键字,也可不加;
(5)根据operate子过程对参数的要求,此处传递的参数应该是“+”、“-”或“*”,即各运算按钮Caption属性的值。
转载请注明原文地址:https://jikaoti.com/ti/jTW7FFFM
0

最新回复(0)