问答题
注意:下面出现的“考生文件夹”均为C:/wexam/25160002。
在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下:
86 97 13 24 35 46 57 68 79 80 59 37 32 43 76 58 28 12 98 57 31 42 53 64 75
程序运行后,单击窗体,将把文件datain.txt中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,然后计算矩阵第三行各项的和,并在窗体上显示出来,如图25-5所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。
【正确答案】
【答案解析】[解析] 程序首先应该打开文件(使用只读方式打开文件),然后将文件中的数据存放到Mat数组中。程序中使用了Option Base1语句,则数组每一维的下标都从1开始,把二维数组行标为3的所以元素相加,所求得的和就是矩阵第三行各项的和。
解题步骤:
第一步:;建立控件并设置属性值。
本题不需要设置。
第二步:编写程序代码。
程序提供的代码:
Option Base 1
Private Sub Form_Click()
Const N=5
Const M=5
'Dim ?
Dim Sum, i, j
'Open App.Path & "/" & "datain.txt" ? As #1
For i=1 To N
For j=1 To M
'?
Next j
Next i
Close #1
Print
Print "初始矩阵为:"
Print
For i=1 To N
For j=1 To M
Print Tab (5 * j) ; Mat(i, j) ;
Next j
Print
Next i
'Sum=?
For j=1 To M
'?
Next j
Print
Print "第三行各项的和为;";
Print Sum
End Sub
参考代码:
Option Base 1
Private Sub Form_Click()
Const N=5
Const M=5
Dim Mat (5, 5)
Dim Sum, i, j
Open App.Path & "/" & "datain.txt" For Input As #1
For i=1 To N
For j=1 To M
Input #1, Mat(i, j)
Next j
Next i
Close #1
Print
Print "初始矩阵为:"
Print
For i=1 To N
For j=1 To M
Print Tab (5 * j) ; Mat(i, j) ;
Next j
Print
Next i
Sum=0
For j=1 To M
Sum=Sum + Mat (3, j)
Next j
Print
Print "第三行各项的和为:”;
Print Sum
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。