在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下:
32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37
程序运行后单击窗体,将把文件datain.txt中的数据输入到二维数组Mat中,在窗体上按5行、5列的矩阵形式显示出来,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图5所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。
要求:在程序中的横线处填写正确的内容(可以是多行),使其实现上述功能,但不能修改程序的其他部分。最后把修改后的文件按原文件名存盘。
[题目提供的源程序]
Option Base 1
Private Sub Form_Click()
Const N=5
Const M=5
Dim (1)
Dim i,j,t
Open App.Path & "\" & "datain.txt" (2) As #1
For i=1 To N
For j=1 To M
(3)
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
For i=1 To N
t=Mat(i,2)
Mat(i,2)=Mat(i,4)
(4)
Next i
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
End Sub
参考答案:[操作步骤]
第A步:打开工程文件
第B步:分析修改源程序
第C步:调试、运行并保存程序。
[A]Mat(N,M) [B]For Input [C]Input #A, Mat(i,j) [D]Mat(I,D)=t
解析: 根据已给出的源程序可以看出,程序中采用数组来存储所有的数据,因此在[1]处明显就是要求定义一个数组,再根据循环体循环次数和引用的数组元素可以确定数组为Mat(N,M)。有了数组后,需要从文件中读取数据存入到数组中,因此打开文件的模式应该是For Input。[3]处应该是读数据。[4]处应该是交换两列的值,根据两变量交换的常用写法很容易得出答案。