当前位置:文档之家› VB改错题(答案)

VB改错题(答案)

1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。

程序中有两处错误,请修改程序并运行,直到得出正确结果。

注意:程序中的修改行就在注释行:'**********found*************' '请不要删除该行'的下面,请不要修改程序中的其他部分。

最后把修改后的文件按原来文件名存盘。

第1个出错位置:For i=3 to 20第2个出错位置:If i Mod 4=0 then Picture1.PrintPrivate Sub Command1_Click()Dim f(40) As LongDim i As IntegerPicture1.Clsf(1) = 0f(2) = 1Picture1.Print f(1), f(2),'**********found*************' '请不要删除该行'For i = 1 To 40For i=3 to 20f(i) = f(i - 1) + f(i - 2)Picture1.Print f(i),'**********found*************' '请不要删除该行'If i Mod 4 = 0 Then Picture.PrintIf i mod 4=0 then picture1.printNext iEnd Sub2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。

程序中有两处错误,请修改程序并运行,直到得出正确结果。

第1个出错位置:A(i)=Int(Rnd*100+0) p50第2个出错位置:Print A(11-i);Private Sub Command1_Click()RandomizeDim A(10), I As IntegerForm1.ClsFor I = 1 To 10'*********found******** '请不要删除该行A(I) = Int(Rnd * 99) A(i)=Int(Rnd*100+0)Print A(I);Next IPrintFor I = 1 To 10'*********found******** '请不要删除该行Print A(I); Print A(11-i) (注意答案中间无;)Next IEnd Sub3. 在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm,此外还有一个名为Modiin.dat的文本文件,其内容如下: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程序运行后,单击窗体,将把文件Modiin.dat中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,然后交换矩阵第一行和第三行的数据,并在窗体上输出交换后的矩阵。

在窗体的代码窗口中,已给出了部分程序,程序中有两处错误需要改正,改错行就在注释行:第1个出错位置:dim mat(5,5)第2个出错位置:mat(3,j)=tmat(3,j)=tPrivate Sub Form_Click()Const N = 5Const M = 5'**********found*************' '请不要删除该行'Dim Mat dim mat(5,5)Dim i, j, tOpen App.Path & "\" & "modiin.dat" For Input As #1For i = 1 To NFor j = 1 To MInput #1, Mat(i, j)Next jNext iClose #1PrintPrint "初始矩阵为:"PrintFor i = 1 To NFor j = 1 To MPrint Tab(5 * j); Mat(i, j);Next jPrintNext iPrintPrintFor j = 1 To Mt = Mat(1, j)Mat(1, j) = Mat(3, j)'**********found*************' '请不要删除该行't = Mat(3, j) mat(3,j)=tNext jPrintPrint "交换第一行和第三行后的矩阵为:"PrintFor i = 1 To NFor j = 1 To MPrint Tab(5 * j); Mat(i, j);Next jPrintNext iEnd Sub6.4. 程序的功能是:实现密码登录验证。

运行时,当用户输入完口令并按"确定"按钮时,对口令进行判断。

在连续三次输入错误口令后,结束程序。

程序中有两处错误,请修改程序并运行,直到得出正确结果。

第1个出错位置:Static i as integer2个出错位置:if Lcase(text1.text)="hello" theniflcase(text1.text)="hello"thenPrivate Sub Command1_Click()'*********found******** 请不要删除该行Dim I As Integer Static i as integer(注意i的值要累加)'*********found******** 请不要删除该行If UCase(Text) = "hello" Then if Lcase(text1.text)="hello" thenForm1.Caption = "恭喜!,您已成功进入本系统"ElseIf I = 0 Or I = 1 ThenI = I + 1Form1.Caption = "口令错!,请重新输入"Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)ElseMsgBox "对不起,您不能使用本系统"EndEnd IfEnd Sub5.在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm,此外还有一个名为Modiin.dat的文本文件,其内容如下: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程序运行后,单击窗体,将把文件Modiin.dat中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,然后计算矩阵第三行各项的和(设数组下标下界为1),并在窗体上显示计算结果。

在窗体的代码窗口中,已给出了部分程序,程序中有两处错误需要改正,改错行就在注释行:'**********found*************' '请不要删除该行'的下面,请不要修改程序中的其他部分。

只在指定的修改行中修改、运行程序。

最后把修改后的文件按原来文件名存盘。

标准答案:第1个出错位置:printtab(5*j);mat(i,j);第2个出错位置:sum=sum+mat(3,j)Option Base 1Private Sub Form_Click()Const N = 5Const M = 5Dim Mat(M, N)Dim Sum, i, jOpen App.Path & "\" & "Modiin.dat" For Input As #1For i = 1 To NFor j = 1 To MInput #1, Mat(i, j)Next jNext iClose #1PrintPrint "初始矩阵为:"PrintFor i = 1 To NFor j = 1 To M'**********found*************' '请不要删除该行'Print Tab(5 * j); Mat(i, j) print tab(5*j); mat(i,j);(加;否则换行)Next jPrintNext iSum = 0For j = 1 To M'**********found*************' '请不要删除该行'Sum = Sum + Mat(i, j) sum=sum+mat(3,j)(注意计算第三行之和)Next jPrintPrint "第三行各项的和为:";Print SumEnd Sub6.在窗体上有一个名为Text1的文本框和一个名为L1的列表框;还有两个命令按钮,名称分别为C1和C2,标题分别为“添加”和“删除”。

程序的功能是在运行时,如果在文本框中输入一行字符并单击“添加”按钮,则把文本框中的内容作为列表项添加到列表框中。

如果选中列表中的某一项并单击“删除”按钮,则从列表框中删除该项。

程序中有两个地方不正确,请进行修改并运行,直到得出正确结果。

第1个出错位置:L1.AddItem text1.text第2个出错位置:L1.RemoveItem L1.listindexDim n As IntegerPrivate Sub C1_Click()'**********found*************' '请不要删除该行'L1.AddItem Text L1.AddItem text1.textText1.Text = ""Text1.SetFocusEnd SubPrivate Sub C2_Click()If L1.ListCount = 0 ThenMsgBox ("无项可以删除!")Else'**********found*************' '请不要删除该行'L1.RemoveItem L1.List L1.RemoveItem L1.listindex (把列表框当前行删除)Text1.SetFocusEnd IfEnd Sub7. 在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm。

相关主题