VB改错题(答案)
湖南省计算机二级VB程序改错部分题库
湖南省计算机二级VB程序改错部分题库9、Visual Basic程序改错1.程序功能:求s=1+3+5+7+...直到s>2000为止。
程序中有两行有错误。
改正错误,使它能输出正确的结果。
(2025)Private Sub Form_Click()Dim i As Integer, s As Longs = 0 : i = 1Do Until s < 2000s = s + ii = i + 1LoopPrint sEnd Sub答案:s>2000 ; i+22.程序功能:计算s=2!+4!+8!。
程序中有两行有错误。
改正错误,使它能输出正确的结果。
(40346) Private Sub Command1_Click()Dim k As Integer, i As IntegerDim s As Long, t As Longs = 0i = 1Do While i <= 3t = 1k = 1While k <= 2*it = t * kk = k + 1Wends = s + twendPrint sEnd Sub答案:k<=2^i ; loop3.程序功能:计算s=2!+4!+6!+8!。
程序中有错误。
改正错误,使它能输出正确的结果。
(41066)Private Sub Command1_Click()Dim k As Integer, i As IntegerDim s As Long, t As Longs = 0 : i = 1Do While i <= 4t = 1k = 1While k <= 2^it = t * kk = k + 1Wends = s + ti = i + 1wendPrint sEnd Sub答案:k<=2*i ; loop4.程序功能:求200到400间,能被3整除但不能被7整除的数的个数。
程序中有两行有错误。
VB程序改错
VB程序改错四、程序改错共7题第1题题号:7'【题目】从10个各不相同的正整数中,剔除若干个数。
使得保留下来的数中,' 任意两个数的和都不是平方数'(所谓平方数就是该数等于某一个数的平方,例如4就是一个平方数)。
Option ExplicitOption Base 1Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, j As Integer, p As Integer, k As Integer'**********FOUND**********Do While p <= 10k = Int(20 * Rnd) + 1For j = 1 To p'**********FOUND**********If k = a(j) Then Exit DoNext jIf j > p Thenp = p + 1a(p) = kText1 = Text1 & Str(k)End IfLoopCall delete(a, p)For i = 1 To pText2 = Text2 & Str(a(i))Next iEnd SubPrivate Sub delete(a() As Integer, p As Integer)Dim idx As Integer, j As Integer, sum As Integer idx = 2Do While idx < pFor j = 1 To idx - 1sum = a(idx) + a(j)If Int(Sqr(sum)) = Sqr(sum) Then Exit For Next j'**********FOUND**********If j > idx - 1 Thena(idx) = a(p)p = p - 1Elseidx = idx + 1End IfLoopEnd Sub答案:=======(答案1)=======Do While p < 10=======(答案2)=======If k = a(j) Then Exit For=======(答案3)=======If j <= idx - 1 Then第2题题号:8'【题目】本程序的功能是生成一组(10个)两位的互质数。
vb程序改错
1.在考生文件夹下有一个工程文件Modi.vbp,相应的窗体文件为Modi.frm。
其功能是:产生30个[0,90]的随机整数,放入一个数组中,然后输出其中的最大值。
程序运行后,单击命令按钮,可求出数组中的最大值,并在窗体上显示。
运行界面请参阅附图。
在窗体的代码窗口中,已给出了部分程序,程序中有两处错误,请修改程序并运行,直到得出正确结果。
注意:程序中的修改位置就在注释行:’**********found*************’’请不要删除该行’的下面一行中,请不要改动程序中的其他部分。
最后把修改后的文件按原来文件名存盘,提交程序改错题文档。
VERSION 5.00Begin VB.Form Form1Caption = "Form1"ClientHeight = 2100ClientLeft = 1905ClientTop = 1875ClientWidth = 3660LinkTopic = "Form1"ScaleHeight = 2100ScaleWidth = 3660Begin mandButton Command1Caption = "输出最大值"Height = 375Left = 960TabIndex = 0Top = 1320Width = 1575EndEndAttribute VB_Name = "Form1"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseOption Base 1Private Sub Command1_Click()Dim arrN(30) As IntegerDim Max As IntegerRandomizeForm1.ClsFor i = 1 To 30’**********found*************’’请不要删除该行’arrN(i) = Int(Rnd * 51) 91Print Format(arrN(i),"@@@@@@");If i Mod 6 =0 Then PrintNext i’**********found*************’’请不要删除该行’Max = arrN(0) 1For i = 2 To 30If Max<arrN(i) ThenMax = arrN(i)End IfNext iPrint "Max=";Max2. 在考生文件夹下有一个工程文件Modi.vbp,相应的窗体文件为Modi.frm。
VB上机模拟改错题
(本试卷完成时间 60分钟)[考试须知]1.改错题界面不作要求,主要用来调试程序,题目中有参考界面,则仅作参考;2.考试结束后,文件须存放在指定位置,否则不予评分;3.程序代码书写应成锯齿形。
一、改错题(14分)[题目]随机生成30个三位正整数显示在列表框List1中,并从中找出所有回文数显示在多行文本框Text1中。
Option ExplicitOption Base 1Private Sub Command1_Click()Dim i As IntegerDim A(30) As IntegerFor i = 1 To 30A(i) = Int(Rnd * 900 + 100)List1.AddItem A(i)Next iFor i = 1 To 30If judge(A) ThenText1 = Text1 & CStr(A(i)) & Chr(13) & Chr(10)End IfNext iEnd SubPrivate Function judge(ByVal x As Integer) As BooleanDim S As String, i As IntegerS = Str(x)For i = 1 To Len(S) \ 2If Mid(S, i, 1) = Mid(S, Len(S) - i + 1, 1) Then Exit ForNext iIf i > Len(S) \ 2 Thenjudge = TrueElsejudge = FalseEnd IfEnd Function[要求]1.新建工程,Copy上述代码,改正程序中的错误;2.改错时,不得增加或删除语句,但可适当调整语句位置;3.按要求保存文件,上传窗体文件……G1.frm。
(本试卷完成时间 60分钟)[考试须知]1.改错题界面不作要求,主要用来调试程序,题目中有参考界面,则仅作参考;2.考试结束后,文件须存放在指定位置,否则不予评分;3.程序代码书写应成锯齿形。
VB程序改错40题
第57题(1.0分)题号:465'------------------------------------------------'【程序改错】'------------------------------------------------'题目:用InputBox函数输入一个字符串,编写程序按与' 输入的字符相反的次序用Msgbox函数输出这个字' 符串。
如输入字符串为"abcdefgh",则输出为"h' gfedcba",输出效果如图1。
'------------------------------------------------ Option ExplicitPrivate Sub Command1_Click()Dim pristr As String, outstr As StringDim i As Integerpristr = InputBox("please input a string")'**********FOUND**********For i = 0 To Len(pristr)'**********FOUND**********outstr = outstr + Mid(pristr, Len(pristr) - i) Next i'**********FOUND**********MsgBox outstr, , "The Output Result "End Sub答案:=======(答案1)=======For i = 0 To Len(pristr) - 1=========或=========For i = 0 To -1+Len(pristr)=======(答案2)=======outstr = outstr + Mid(pristr, Len(pristr) - i, 1)=========或=========outstr = Mid(pristr, Len(pristr) - i, 1)+outstr=======(答案3)=======MsgBox outstr, vbQuestion, "The Output Result "第59题(1.0分)题号:147'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下面的程序用来产生并输出图示的杨辉三角。
VB程序改错题
VB程序改错题程序改错1.题目:已知C的公式表示如下:'n!'C=------------------'(n-m)!某m!'函数过程fac()求k!函数,在Fomr_Click事件中完成运算,'请修正程序中错误。
'------------------------------------------------OptionE某plicitPrivateFunctionfac(kAInteger)ASingleDim某ASingle,jAInteger 某=0Forj=1Tok某=某^jNe某tjfac=某EndFunctionPrivateSubForm_Click()DimCASingleDimmAInteger,nAIntegerm=Val(InputBo某(\请输入一个整数(m):\n=Val(InputBo某(\请输入一个整数(n):\C=fac(n)/fac(n-m)某fac(m)Print\EndSub2.题目:程序功能为打印下列图形:'某'某某'某某某'某某某某'某某某某某'------------------------------------------------OptionE某plicitPrivateSubForm_Click()ClDimiAIntegerDimjAIntegerFori=1To7Forj=1To5Print\LoopPrintNe某tiEndSub3.题目:本程序的功能是随机产生的10个两位正整数,并进行递减排序。
'------------------------------------------------OptionE某plicitPrivateSubCreateRND()DimTempAIntegerDimIAIntegerDimNAIntegerDim某(10)AIntegerDimJAIntegerN=10Print\数据:\ForI=1ToN某(I)=Int(Rnd()某90)Print某(I);Ne某tIPrintPrint\排序:\ForI=0ToN-1ForJ=I+1ToNIf某(I)>某(J)ThenTemp=某(I)某(J)=某(I)某(I)=TempEndIfNe某tJPrint某(I);Ne某tIPrintEndSub4.题目:随机产生并输出100以内大于50的20个整数,输出时每5个数一行。
上海计算机VB二级 B卷操作题参考答案
四、程序调试改错题(两小题,共10分,每处2分)1.改错题1答案:Dim s As Double, i As Integer, n As Single, m As SingleLabel11 lable1.Caption = "" ‘ ****n = 2m = 1s = 0 ‘****For i = 1 To 12Label1 = Label1 & n & "/" & m & ", "s = s +n /m ‘******t = m + nm = nn = tIf i Mod 4 = 0 Then ' 每行显示4项,vbCrLf回车换行Label1.Caption = Label1.Caption & vbCrLfEnd IfNext iLabel1.Caption = Label1.Caption & "s=" & Format(s, "###.####")2.改错题2答案:' 本程序段求AB集合的交集,A集合元素由数组初始化赋值,B集合元素随机产生。
' 程序中有2个错误,请调试改正。
Dim a(), b() As Integer, i%, j%, n%a() = Array(1, 3, 6, 8, 11, 13, 17, 18) ' A集合Picture2.ClsPicture2.Print "A集合元素:8个"For i = 1 To 7 ‘********Picture2.Print a(i);Next in = Int(Rnd * 9) ' 随机产生B集合大小,无错误ReDim b(n)Picture2.Print vbCrLf; "B集合元素:" & (n + 1) & "个" 'vbCrLf回车换行For i = 0 To nb(i) = Int(Rnd * 30 + 1) ' 随机产生B集合元素,无错误Picture2.Print b(i);Next iPicture2.Print vbCrLf; "AB交集元素:";For i = 0 To UBound(a)For j = 0 To nIf b(j) = a(j) Then Picture2.Print b(j); ' ******Next jNext i五、编程题(36分)程序参考代码:窗体1Private Sub List1_Click()If List2.ListCount >= List1.ListCount ThenList2.ListIndex = List1.ListIndexEnd IfEnd SubPrivate Sub menu11_Click()List2.ClearOpen App.Path + "\pj.txt" For Input As #1Do While Not EOF(1)Input #1, djList2.AddItem djLoopClose #1End SubPrivate Sub menu13_Click()EndEnd Sub窗体2Private Sub Command1_Click()s1 = Val(Text1) * Val(List2.Text)l = 4If Len(List1.Text) = 5 Then l = 6Text2 = Text2 & List1.Text & Space(l) & Text1 & "张,计" & s1 & "元" & vbCrLf End SubPrivate Sub menu2_Click()Form2.ShowForm1.HideEnd SubDim sPrivate Sub Command1_Click()Timer1.Interval = 100 '开始计时Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Form1.ShowForm2.HideEnd SubPrivate Sub Command3_Click()Timer1.Enabled = FalseLabel2.Caption = "累计进场人数: " & s End SubPrivate Sub Timer1_Timer()n = Int(Rnd * 20)Label1 = ns = s + nEnd Sub。
VB改错填空答案
属性设置:将Timer1的interVal属性设置为:10000,Timer2的interVal属性设置为:1000Timer1_Timerelse*原语句Label1.Visible=False改为Label1.Visible=TrueTimer2_Timer*原语句Label2.Caption = Timer()改为 Label2.Caption = Time()填空Tk248.Frm( 1 ) Val(m) ( 2 ) m Mod n改错Gc315.Frm属性设置:将Timer1的interVal属性设置为:0C1_Click*原语句Timer1.Enabled = False 改为 Timer1.InterVal=100Timer1_Timer*原语句If P1.Top > P2.Top + P2.Left Then 改为 If P1.Top > P2.Top + P2.Height Then填空Tk315.Frm( 1 ) Finish ( 2 ) <改错Gc316.Frm属性设置:将File1的Pattern属性设置为:*.bmp,将Image1的Stretch属性设置为:TrueDir1_Change*原语句 File1.Path = Dir1.Drive 改为 File1.Path = Dir1.PathFile1_Click*原语句 Image1.Picture = fname 改为 Image1.Picture = LoadPicture(fname)填空Tk316.Frm( 1 ) a(j - 1) + a(j) ( 2 ) Picture1.Print改错Gc317.Frm属性设置:将Timer1的InterVal属性设置为:100,将Label1的Caption属性设置为:上机测试Command2_Click*原语句 Timer1.Timer 改为 Timer1_TimerTimer1_Timer*原语句 ElseIf Label1.Left > 0 Then 改为 ElseIf Label1.Left < 0 Then填空Tk317.Frm( 1 ) Len(Text1.Text) ( 2 ) a(j) + 1改错Gc318.Frm属性设置:将Hscroll1的Max、Min属性分别设置为:20、10Command1_Click*原语句RGB(Text1.Text, Text2.Text, Text3.Text) 改为RGB(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))HScroll1_Change()*原语句Label1.FontSize = HScroll1 改为 Label1.FontSize = HScroll1.Value填空Tk318.Frm( 1 ) i = 1 To 9 ( 2 ) Data(i) > Data(j)改错Gc319.Frm属性设置:将Form1的WindowState属性设置为:2,Command1的Caption 属性设置为:开始计算Command1_Click*原语句If j > 10 Then Exit Do 改为 If j = 10 Then Exit Do*原语句i = i - 1 改为 i = i + 1填空Tk319.Frm( 1 ) 5 ( 2 ) i属性设置:将Option3的Caption属性设置为: *,将Option3的ToolTipText属性设置为:乘法Option1_Click*原语句Text3.Text = Text1.Text + Text2.Text 改为Text3.Text = val(Text1.Text) + Val(Text2.Text) Option3_Click*原语句Text3.Text = Integer(Text1.Text * Text2.Text) 改为Text3.Text = Int (Text1.Text * Text2.Text)填空Tk320.Frm( 1 ) b ^ 2 - 4 * a * c ( 2 )ElseIf d = 0改错Gc334.Frm属性设置:将Text1的Text属性设置为:空值,将Command1的Caotion属性设置为:增加List1_Click*原语句List2.AddItem List1.ListIndex 改为List2.AddItem List1.TextList2_Click*原语句List2.RemoveItem List2.List(List2.ListIndex) 改为List2.RemoveItem List2.ListIndex填空Tk334.Frm( 1 ) s(Max) < s(j) ( 2 )s(n) = Text1.Text改错Gc335.Frm属性设置:将Timer1的InterVal属性设置为:1000,将窗体的Caotion属性设置为:倒计时程序Timer1_Timer*原语句Text1.Text = Format(Now, "SS:HH:MM")改为Text1.Text = Format(Now, "HH:MM:SS")Timer2_Timer*原语句Timer1.Interval = 0 改为Timer1.Enabled = False填空Tk335.Frm( 1 )Num(i) = Int(Rnd * 91 + 10) ( 2 )IsPrime(Num(i))改错Gc372.FrmSub swap1过程*原语句swap1(x As Integer, y As Integer)改为swap1(ByVal x As Integer, ByVal y As Integer) Sub swap2过程*原语句t = m: n = m: n = t 改为t = m: m = n: n = t填空Tk372.Frm( 1 )fibo(i); ( 2 )fibo(n - 1) + fibo(n - 2)改错Gc373.FrmForm_Click*原语句Else下面的nCount = nCount + 1 改为nCount = 1*原语句第二个End If 改为 Next n填空Tk373.Frm( 1 )a1 ( 2 )ncount -1改错Gc402.FrmForm_Click*原语句For i = 1 To n 改为For i = 1 To n-1*原语句sum = 1 / kk 改为 sum = sum + 1 / kk填空Tk402.Frm( 1 )Rnd*201+300 ( 2 )s = s + a(i)改错Gc403.FrmCommand1_Click*原语句((a + c>b) And (b>0)) Or ((c + b>a) 改为((a + c>b) And (b > 0)) And ((c + b>a)*原语句Abs(s * (s - a) * (s - b) * (s - c)) 改为 Sqr(s * (s - a) * (s - b) * (s - c))填空Tk403.Frm( 1 ) ss = Str( i ) ( 2 )a^3 + b^3 + c^3 = i属性设置:将Label1的BorderStyle属性设置为:1,将时钟的InterVal属性设置为:500Command2_Click*原语句Timer1.Enabled = True 改为Timer1.Enabled = FalseTimer1_Timer*原语句Label1.Caption = Timer() 改为 Label1.Caption = Time()填空Tk457.Frm( 1 ) n - i ( 2 )i < n改错Gc458.FrmC1_Click*原语句If x > 100 And x < 0 Then 改为If x > 100 Or x < 0 Then*原语句Label3.Caption = "该生成绩" 改为 Label3.Caption = Strtemp填空Tk458.Frm( 1 ) S ( 2 )result改错Gc481.FrmForm_Click*原语句f(i) = f(i) + f(i - 1) 改为f(i) = f(i-2) + f(i - 1)*原语句If (i Mod 5) = 5 Then 改为 If (i Mod 5) = 0 Then填空Tk481.Frm属性设置:将Command1的Caption属性设置为:计算机,将窗体的Caption属性设置为:等级考试( 1 ) Form1.Caption ( 2 )temp改错Gc482.Frm属性设置:将Text1、Text2的Text属性设置为:空值;Command1、Command2的Caption属性分别设置为:华氏转摄氏、摄氏转华氏Command1_Click*原语句F = Text1.Value 改为F = Text1.TextCommand2_Click*原语句C = Text2.Value 改为 C = Text2.Text填空Tk482.Frm( 1 ) i ( 2 )0改错Gc509.Frm属性设置:Command1、Command2的Caption属性分别设置为:计算&S、结束&XCommand1_Click*原语句If Text1.Text = "" Then 改为If Text1.Text <> "" ThenCommand2_Click*原语句Exit 改为 End填空Tk509.Frm( 1 ) 100 ( 2 )True改错Gc510.Frm属性设置:Command1、Command2的Caption属性分别设置为:计算&S、结束&XCommand1_Click*原语句If Text1.Text = "" Then 改为If Text1.Text <> "" ThenCommand2_Click*原语句Exit 改为 End填空Tk510.Frm( 1 ) b^2 – 4 * a * c ( 2 )Sqr(abs(d))属性设置:Command1、Command2的Caption属性分别设置为:定义坐标系统&S、绘正弦曲线&X Command1_Click*原语句Form1.Scale (-8, 2)+(8, -2) 改为Form1.Scale (-8, 2)-(8, -2)Command2_Click*原语句x = 1: y = Sin(i) 改为 x = i: y = Sin(i)填空Tk535.Frm( 1 ) num Mod 6 = 2 And num Mod 5 = 3 ( 2 )Text1.SetFocus改错Gc536.FrmForm_Click*原语句arr(i) = 20 + 80 * Rnd(-1) 改为arr(i) = 20 + 80 * Rnd(1)*原语句s = s + arr(1) 改为 s = s + arr(i)填空Tk536.Frm( 1 ) a ^ 2 + b ^ 2 = c ^ 2 ( 2 )Text1.Text = n改错Gc561.FrmForm_Click*原语句sum = 0 改为sum = 1*原语句sum = 1 / kk 改为 sum = sum + kk填空Tk561.Frm( 1 ) rnd * 201 + 100 ( 2 )s + a(i)改错Gc562.Frm属性设置:Command1、Command2的Caption属性分别设置为:运行、清理Command1_Click*原语句List1.List i & "=" & Sqr(i) & "^2" 改为List1.AddItem Sqr(i) & "^2" Command2_Click*原语句Text1.Focus 改为 Text1.SetFocus填空Tk562.Frm( 1 ) P(I) + P(J) + P(K) = N ( 2 )Idx = Idx + 1改错Gc587.Frm属性设置:Command1的Caption属性设为:开始计数;Timer1的Interval属性设为:1000C1_Click*原语句 Timer1.Enabled = True 改为 T1.Enabled = TrueT1_Click*原语句Text1.Text = Text1.Text + 10 改为 Text1.Text = Text1.Text + 1填空Tk587.Frm( 1 ) 32 ( 2 )String(1, Asc(b) + n)改错Gc588.FrmCommand1_Click*原语句 Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + I/Item填空Tk588.Frm( 1 ) End ( 2 )Text1.Text = ""改错Gc613.Frm属性设置:Form1的Caption属性设为:个人爱好;Command11的Caption属性设为:显示Command1_Click*原语句 If Check2.Value = 0 改为 If Check2.Value = 1Command2_Click*原语句 Then s = Check3.Caption 改为 Then s = s + Check3.Caption填空Tk613.Frm( 1 ) x >= 0 ( 2 )x < aminCommand1_Click*原语句 n = 1 改为 n = 0*原语句Text1 = s 改为 Text1 = n填空Tk614.Frm( 1 ) i+1 ( 2 ) s改错Gc639.Frm属性设置:Forma1的Caption属性设为“书籍采购计划”,Command1、Command2的Nmame属性设为:cmdAdd 和cmdDeleteCommAdd_Click*原语句 lstBook.AddItem = txtBook.Text 改为 lstBook.AddItem txtBook.TextCmdDelete_Click*原语句If lstBook.ListIndex = -1 Then 改为 If lstBook.ListIndex > -1 Then填空Tk639.Frm( 1 ) Rnd * 4 + 1 ( 2 )"S(" & I & ")=" & S(I)改错Gc640.FrmCommand1_Click*原语句 s = s + i 改为 s = s + i^2或 s = s + i*iCommand2_Click*原语句Release Me 改为 Unload Me填空Tk640.Frm( 1 ) f * i ( 2 ) Unload改错Gc666.Frm属性设置:Form1的Caption属性设为:加法器;Label1的Caption属性设为:+Command1_Click*原语句 Timer1.Enabled = True 改为 T1.Enabled = TrueCommand2_Click*原语句Text3 = Text1 + Text2 改为 Text3 = Val(Text1) + Text2填空Tk666.Frm( 1 ) i \ 100 ( 2 )i - hundred * 100 - ten * 10改错Gc667.FrmCommand1_Click*原语句 m = 1 改为 m = 0*原语句n = n + m 改为 n = n + 1填空Tk667.Frm( 1 ) P * j ( 2 )S + P改错Gc692.Frm属性设置:Form1的Caption属性设为:字幕滚动;Command11的Caption属性设为:手动Command1_Click*原语句 Form1.Timer1.Enabled = True 改为 Form1.Timer1.Enabled = FalseCommand2_Click*原语句Else下面的 Form1.Timer1.Enabled = False 改为 Form1.Timer1.Enabled = True填空Tk692.Frm( 1 ) TOTAL = 0 ( 2 )Sqr(L * (L - A) * (L - B) * (L - C))改错Gc693.FrmCommand1_Click*原语句sum = sum + 1 / item 改为 sum = sum + i / item*原语句Text1.Text1 = Str(sum) 改为 Text1.Text = Str(sum)填空Tk693.Frm( 1 ) a(i) ( 2 )i = 5 To 1 Step -1属性设置:Form1的Caption属性设为:字幕放大;Timer1的InterVal属性设为:200 Command1_Click*原语句 Timer1.Enabled = False 改为Timer1.Enabled = True*原语句 Timer1.Enabled = True 改为Timer1.Enabled = False填空Tk728.Frm( 1 ) n + 1 ( 2 )n - 1改错Gc729.FrmCommand1_Click*原语句item = item + j 改为 item = item * j*原语句sum = item 改为 sum = sum + item填空Tk729.Frm( 1 ) For i=0 to 1000 step 2 ( 2 ) Str(sum)改错Gc756.Frm属性设置:Command1的Name、Caption、Left和Top属性分别设为:cmd1、移动、0、0 Command1_Click*原语句cmd1.Left = Left + 100 改为 cmd1.Left = cmd1.Left + 100*原语句Top = cmd1.Top + 100 改为 cmd1.Top = cmd1.Top + 100填空Tk56.Frm( 1 ) Val(Txt1.Text) ( 2 ) num * rmb改错Gc757.Frm属性设置:Command1_Click*原语句Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + 1 / Item填空Tk757.Frm( 1 ) b^2 – 4 * a * c ( 2 ) b / (2 * a)改错Gc784.Frm属性设置:Command1的Name、Caption属性分别设置为Cmd1、开始计时Private Sub Form_Load()*原语句 Timer1.Interval = 100 改为 Timer1.Interval = 1000Private Sub Timer1_Timer()*原语句 Label2(0).Caption = Timer1 改为 Label2(0).Caption = Time填空Tk784.Frm( 1 ) x ( 2 )Form1.Text1.ForeColor改错Gc785.FrmCommand1_Click*原语句Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + i / Item填空Tk785.Frm( 1 ) s + i^2 ( 2 ) End。
vb程序改错和程序设计
【程序改错】'题目:该程序的功能是求出100到200之间的全部素数,并且按每行4个、每个数据之间有10个空格的格式输出。
'注意:不可增加或删除程序行,也不可以更改程序结构' Private Sub Form_Click()dim k as integer,i as integer,j as integerk = 0For i = 100 To 200'**********FOUND**********For j = 1 To i - 1If i Mod j = 0 Then Exit ForNext jIf j = i Then'**********FOUND**********Print i; Tab(10);k = k + 1'**********FOUND**********If k Mod 5 = 0 Then Print;End IfNext iEnd Sub答案:1). For j = 2 To i - 1 或For j = 2 To -1 + i2). Print i; Space(10);3). If k Mod 4 = 0 Then Print━━━━━━━━━━━━━━━━'【程序设计】' '题目:(事件)单击窗体。
(响应)求100以内偶数的和,并将结果输出在窗体上。
将结果存入变量SUM中答案:26__________________________________Dim i As IntegerFor i = 1 To 100If i Mod 2 = 0 Thensum = sum + iEnd IfNextPrint sum'【程序改错】'------------------------------------------------'题目:在下面的程序段中过程pd可以判断任意三个数能' 否构成三角形的三边,利用该过程的判定结果,对能构成三角形的计算其面积,构不成的显示"不能构成三角形Option ExplicitPrivate Sub Form_Click()'**********FOUND**********Dim x%, y%, z%, s%, b As Boolean,h as Singlex = InputBox("请输入三角形的边长")y = InputBox("请输入三角形的边长")z = InputBox("请输入三角形的边长")= InputBox("请输入三角形的边长")b = pd(x, y, z)h = (x + y + z) / 2'**********FOUND**********If not b Thens = Sqr(h * (h - x) * (h - y) * (h - z))Print "三角形面积是"; sElsePrint "不能构成三角形"End IfEnd Sub'**********FOUND**********Public Function pd( ) As BooleanIf x > 0 And y > 0 And z > 0 And x + y > 0 And x + z > y And y + z > x Thenpd = TrueElsepd = FalseEnd IfEnd Function答案:1). Dim ★x%★, ★y%★,★z%★, ★s!★, ★b★As Boolean★, ★h As Single2). If b Then3). Public Function pd(x%, y%, z%) As Boolean━━━━━━━━━━━━━━━━三、程序设计共1题(共计15分)'题目:(事件)双击窗体。
VB程序改错
VB程序改错ProProblemProSource ProAnswer程序功能:根据整型参数m,计算100-999的平方根的倒数之和。
程序的函数fun()中有一行有错误,改正错误,使它能输出正确的结果。
Private SubCommand1_Click() PrintFormat(fun(100, 999),"#.######")End SubPrivate Function fun(m As Integer, n As Integer) As Single 43.27978程序功能:回文数是指正读和反读都一样的正整数。
例如27672是回文数。
求[10000,99999]之间的偶数回文数的个数。
程序中有一行有错误。
改正错误,使它能输出正确的结果。
Private SubCommand1_Click()n = 0For x = 10000 To 99999 a = x \ 10000 Mod 10 '万位b = x \ 1000 Mod 10 '千位c = x \ 100 Mod 10'百位400程序功能:回文数是指正读和反读都一样的正整数。
例如37673是回文数。
求[10000,99999]之间的奇数回文数的个数。
程序中有一行有错误。
改正错误,使它能输出正确的结果。
Private SubCommand1_Click()n = 0For x = 10000 To 99999 a = x \ 10000 Mod 10 '万位b = x \ 1000 Mod 10 '千位c = x \ 100 Mod 10'百位500程序功能:回文数是指正读和反读都一样的正整数。
例如4774是回文数。
求[1000,9999]之间的偶数回文数的个数。
程序中有一行有错误。
改正错误,使它能输出正确的结果。
Private SubCommand1_Click()n = 0For x = 1000 To 9999 a = Int(x / 1000)'千位b = Int(x / 100) -a * 10 '百位c = Int(x / 10) -a * 100 - b * 10 '十40程序功能:计算s=2!+4!+6!+8!。
19VB程序改错题收集(答案在后面)
VB中常见的错误1、运行下面的 Visual Basic程序,单击命令按钮 Command1,出现如下图所示的提示信息:Private Sub Command1_Click()Dim a As Single, b As Singlea = Val(Text1.Text)b = 10If a >= bb = a * a + 2 * bEnd IfLabel1.Caption = Str(b)End Sub出现该错误的原因是A.If语句缺少Then B.If语句缺少ElseC.变量a的数据类型说明错误 D.变量b的数据类型说明错误2、某VB程序的事件过程如下所示:Private Sub Command1_Click ( )Dim a As Integera = Val(Text1.Text)Text1.Text = Str(Int( a ))End Sub运行程序,单击按钮Command1后弹出如下图所示的错误提示。
导致该错误的原因可能是()A.Int函数计算时出现错误 B.Val函数应用不正确C.窗体上缺少Text1文本框对象 D.变量a数据类型定义错误3、某Visual Basic程序段如下:Dim a(1 To 10) As IntegerDim i As Integera(1) = 1For i = 2 To 10a(i) = a(i - 1) * iNext i运行该程序段,会出现的错误提示为(A)下标越界(B)子程序或函数未定义(C)要求对象(D)溢出Interger类型范围在-32768~32767,而1到10相乘超出这个范围4、某Visual Basic程序如下:Private Sub Command1_Click()Dim a(1 To 10) As IntegerDim i As IntegerFor i = 1 To 10a(i) = i * iNext iList1.AddItem Str(a(i))End Sub运行程序,单击命令按钮Command1后,出现的错误提示为(A)下标越界(B)子程序或函数未定义(C)溢出(D)类型不匹5、有如下的Visual Basic程序:Private Sub Command1_Click()Const pi = 3.14Dim s As Single, r As Singler = Val(text1.Text)pi = 3.1415s = pi * r ^ 2Label1.Caption = "面积为" + Str(s)End Sub程序运行后,单击命令按钮Command1,出现如图所示的错误提示,下列原因分析正确的是(A)常量不能用小数(B)pi是常量,不允许赋值(C)文本框Text1中输入的数据不是常量(D)表达式结果超过了变量类型的范围6、某Visual Basic程序如下:Private Sub Command1_Click()Dim a(1 To 10) As IntegerDim i As IntegerFor i = 1 To 10a(i) = i * iNext iList1.AddItem Str(a(i))End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)For i = 1 To 10 (B)a(i) = i * i(C)Next i (D)List1.AddItem Str(a(i))7、某Visual Basic程序如下:Private Sub Command1_Click()Dim a As Single, b As SingleDim c As Singlea = 1b = 5c = Sqr(a - b)Text1.Text = Str(c)End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)a = 1 (B)b = 5(C)c = Sqr(a - b) (D)Text1.Text = Str(c)8、某同学正编写一个判断酒驾行为的Visual Basic程序,其窗体和代码窗口如下图所示。
vb程序改错
程序改错1 题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程fact实现。
程序代码:Private Sub Form_Click()Dim i as integer, s as longFor i = 2 to 8 →For i = 2 to 8 step 2s = s + fact(i)Next iPrint sEnd SubPublic Function fact( ) →Public Function fact(Byval n%)Dim t as longDim i as integert = 1For i = 1 to nt = t * iNext iFact = i →Fact = tEnd function2 题目:请根据下列描述编写购物优惠程序。
某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在100元以上者,按九五折优惠;(2)在200元以上者,按九折优惠;(3)在300元以上者,按八折优惠;(4)在500元以上者,按七折优惠。
在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。
程序代码:Private Sub Command1_Click ()Dim x As Integer, y As Singlex = Val(Text1.Text)If x < 100 thenx = y →y=xElseIf x < 200 theny = 0.95 * xElseIf x < 300 theny = 0.9 * xElseIf x < 300 theny = 0.8 * xElsey = 0.7 * xElse If →End IfEnd IfEnd IfEnd IfText2.text = x →Text2.text = yEnd Sub3 题目:创建一个绘图程序。
VB程序填空改错设计题库全汇编
1.'功能:以下程序段用于计算n的阶乘:n!。
(1!=1)2. 已知某城市一年的交通事故车辆报废情况,编程序计算该城市的交通事故一年损失金额。
3. 下面的程序用"冒泡"法将数组a中的10个整数按从小到大排列,请将程序补充完整。
4. '程序运行界面。
键盘输入3个数,将它们按由大到小的顺序输出,-1为结束标志。
5. '在窗体有三个复选框,名称分别为Ch1、Ch2和Ch3,标题依次为'"体育"、"音乐"、"美术",还有一个命令按钮,名称为C1,标题'为"显示"。
要求程序运行后,如果选中某个复选框,则当单击'"显示"命令按钮时,则显示相应的信息。
例如,如果选中"体育"'和"音乐"复选框,则单击"显示"命令按钮后,在窗体上显示'"我的爱好是体育音乐"(如图1所示);而如果选中"体育"、'"音乐"和"美术"复选框,则单击"显示"按钮后,在窗体上显示"'我的爱好是体育音乐美术"。
6. 窗体上建立了一个文本框Text1("输入口令")和一个命令按钮Command1("检查")。
' 判断密码是否正确,并显示相应提示在加载窗体时设置密码框最大长度为8,密码显示字符为“*”7. 下面的程序用于求三个数中最大数8. 要求输入若干学生的成绩,计算平均分和高于平均分的人数,并将这两个数据放入数组的最后。
9. 求A,B,C三个数的最大值。
10. 该程序通过For循环计算一个表达式的值,这个表达式是1/2+2/3+3/4+4/511. 用户单击命令按钮后,程序将文本框Text1中的文本反转显示,同时在文本框Text2中显示文本框Text1中字符串的个数12. 功能:单击“插入数据”按钮后,输入一个整型数据,该数据会被插入到一个有序的数组a(1 to 10)中,插入该数据后数组还是有序的。
VB综合卷及答案
VB综合试卷(满分100分)姓名:班级:分数:一、选择题(共30小题,每小题2分,共60分)1.下列运算结果中,值最大的是()A.3\4B.3/4C.4mod3D.3mod42.在窗体中添加一个命令按(command1)和一个文本框(名称为text1),并编写如下程序代码:private sub command1_click()dim a as integer,y as integer,z as integerx=1:y=2:z=3x=y:y=z:z=xtext1.text=str(z)end sub程序运行过程中,用户单击命令按钮command1后,文本框text1中显示()A.0B.1C.2D.33.下面程序执行的结果是()private sub form_click()a=”123”:b=”456”c=val(a)+val(b)print c\100end subA.123B.3C.5D.5794.下列逻辑运算结果为“true”的是()A.false or not trueB.false and not trueC.true or not trueD.true and not true5.设有以下程序,当程序运行时,单击窗体,则在窗体上输出结果为()private sub form_click()dim s as integer,c as strings=100:c=”xyz”s%=200:c$=”abc”print s;s%;:print c;c$end subA.100200xyzabcB.100100xyzxyzC.200200abcabcD.100200abcxyz6.以下程序段执行后,整型变量n的值为()y=2001n=y\4+y\400-y\100A.495B.505C.500D.4857.表达式lcase(“AB12”)>left(“abc”,2)and len(“12.3”)=5的值是()A.trueB.falseC.0D.18.在visual basic中,打印机也是一种对象,其名称为()A.printB.printerC.printformD.printor9.表达式2*4^2-2*6/3+3\2的值是()10.在程序中添加一个命令按钮,并编写如下程序代码:private sub command1_click()x=”123.5”y=”-100”z=x+yprint val(z)end sub程序运行时,单击命令按钮后,在窗体上的输出结果为()A.23.5B.123.5C.100D.123.510011.在VB中,下列运算符中优先级最高的是()A.*B.\C.<D.Not12.下列逻辑表达式中,其值为true的是()A.”abc”>”ABC”B.”THAT”>”THE”C.9>”h”D.”A”>”a”13.在窗体上画一个文本框,其名称为Text1,为了在程序运行后隐藏该文本框,应使用的语句为().A.text1.clearB.text1.visible=falseC.text1.hideD.text1.enabled=false14.下列各组变量声明正确的是()A.dim abc as integer,num as singleB.dim l%,n$as integerC.dim a%,b%,c%,a$D.public dim n%15.visual basic表达式sqr(a+b)^3*10中优先进行运算的是()A.sqr函数B.+C.-D.*16.在窗体上画一个命令按钮(名称为command1),然后编写如下事件过程:Private sub command1_click()Dim b as integerB=b+1End sub运行程序,单击命令按钮3次后,变量b的值是()A.0B.1C.2D.317.如果x为一正实数,对x的小数点后第4位进行四舍五入的表达式是()A.0.001*int(x+0.005)B.0.001*int(1000*(x+0.0005))C.0.001*int(1000*9x+0.005))D.0.001*int(x+0.005)18.在表示日期常量时,用符号()将日期型数据括起来。
【word版】上海海事大学VB题库——改错
改错[(第1题》『程序改错」(5分)(题号:132)【程序改错】'题目:求s二2!+4X6!+8!,阶乘的计算用Function过程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构J _____________________ ___ _____________________________ _ ___________________________________ Private Sub Form_Click()dim i as integer,s as Long'**********F0UND**********For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub'**********F0UND**********Public Function fact()dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********F0UND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function Integer) 或Public Function fact(n%) 或Public Function fact(n) Function fact(ByVai n%) 或Public Function fact(ByVai n)3). fact = tK第1题》『程序改错」(5分)(题号:132)【程序改错】'题目:求s二2!+4!+6!+8!,阶乘的计算用Function 11程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click() fact(n As 或Publicdim i as integer, s as Long'**********F0UND**********For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub':fc*********F0UND**********Public Function fact()dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********F0UND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVai n%) 或Public Function fact(ByVai n)3). fact = tK第1题》『程序改错」(5分)(题号:493)【程序改错】'题目:给左年号与月份,判断该年是否闰年,并根据给出的 '月份来判断是什么季节和该月有多少天'(闰年的条件是:年号能被4整除但不能被100整除,'或者能被400整除°) '注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click()Dim Year As Integer, Month As IntegerYear = InputBox(/z输入年号:")Month = InputBox(/z输入月份:“)'**********F0UND**********If Year Mod 4 = 0 And Year Mod 100 <> 0 And Year Mod 400 <> 0 Then'**********FO UND**********flag = 0MsgBox "闰年"Elseflag = 0MsgBox "非闰年"End If'**********FO UND**********Select Case flagCase 1MsgBox "该月有31天,春季"Case 2If flag 二1 Then MsgBox "该月有29 天,春季"Else MsgBox 〃该月有28 天,春季"Case 3MsgBox "该月有31天,春季"Case 4MsgBox "该月有30天,夏季"Case 5MsgBox "该月有31天,夏季"Case 6MsgBox "该月有30天,夏季"Case 7MsgBox该月有31天,秋季"Case 8MsgBox "该月有31天,秋季"Case 9MsgBox "该月有30天,秋季"Case 10MsgBox "该月有31天,冬季"Case 11MsgBox "该月有30天,冬季"Case 12MsgBox该月有31天,冬季"End SelectEnd Sub答案:1) . If Year Mod 4 = 0 And Year Mod 100 <> 0 Or Year Mod 400 = 0 Then 或If YearMod 400 = 0 Or Year Mod 4 = 0 And Year Mod 100 <> 0 Then2) . Flag = 13) . Select Case MonthK第2题』『程序改错」(5分)(题号:119)【程序改错】'题目:在下面的程序段中过程pd可以判断任意三个数能'否构成三角形的三边,利用该过程的判泄结果,'对能构成三角形的讣算其而积,构不成的显示"'不能构成三角形〃 '注意:不可增加或删除程序行,也不可以更改程序结构Option ExplicitPrivate Sub Form_Click()':fc*********FOUND**********Dim x%, y%, z%, s%, b As Boolean, h As SingleX = InputBox C请输入三角形的边长")y = InputBox C请输入三角形的边长")z = InputBox C请输入三角形的边长")b = pd(x, y, z)h = (x + y + z) / 2'客*********FOUND**********If Not b Thens = Sqr (h * (h - x) * (h - y) * (h - z))Print "三角形而积是";sElsePrint "不能构成三角形"End IfEnd Sub'**********FOUND**********Public Function pd() As BooleanIf x > 0 And y > 0 And z > 0 And x + y > z And x + z > y And y + z > x Then pd = TrueElsepd = FalseEnd IfEnd Function答案:1). Dim ★矗★,z%*, ! ★,As Boolean^, ★h As Single 或Dim ★x%^,★ z%*, as Singled,As Boolean*, As Single2). If b Then 或If b=true Then3). Public Function pd(x%, y%, z%) As Boolean 或Public Function pd(x, y, z) As Boolean 或Public Function pd(x as Integer, y as Integer, z as Integer) As Boolean K第3题]]『程序改错」(5分)(题号:134)【程序改错】'题目:程序功能根拯输入的学习成绩,分别显示优秀'(90分以上),良好(75分以上),及格(60分以上) ',不及格几个等级.'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Formed ick()CisDim i As Integeri二InputBox C请输入学习成绩")Select Case I':fc*********FOUND**********Case 0<I<100MsgBox 〃成绩应该在0—100之间"'**********FOUND**********Case 90Print "优秀”Case 75 To 90Print ?,良好"Case 60 To 75Print "及格"'**********FOUND**********CaseMsgBox "不及格",vbCriticalEnd SelectEnd Sub答案:1). Case ★! > 100 ★or* i < 0 或Case ★100 < i★orik* i〈0 或Case ★! > 100 ★or* 0>i 或Case ★100 < i ★or* 0>i2). Case 90 To 1003). Case elseK第4题』『程序改错〕(5分)(题号:481)【程序改错】'题目:下而程序的功能是将一个整数转化为数值字符串, '列如123,转化为"+123",-123转化为“-123”'注意:不可增加或删除程序行,也不可以更改程序结构9 _____________________________ _________________________________________________________________________________Private Function NtoC(ByVai n As Single)Dim sign As Boolean, i%, a%, count%, temp%(100)Dim strc As Stringsign = False'**********F0UND**********If n < 0 Then sign = Falsen = Abs(n)Do Wh:ile n > 0'客*********F0UND**********a = n / 10n = n \ 10'**********FO UND**********count = 1temp(count) = aLoopIf sign Then strc = 〃- " Else strc =For i = count To 1 Step -1strc = strc + Chr(Asc("0") + temp(i))Next iNtoC = strcEnd FunctionPrivate Sub Commandl_Click()Print NtoC(-123)End Sub答案:1). If n 〈0 Then sign = True2). a = n Mod 103). count = count + 1 或count = 1 + count K第1题』『程序改错」(5分)(题号:132)【程序改错】'题目:求s=2!+4!+6!+8!,阶乘的计算用Function 程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click() dim i as integer, s as Long '**********F0UND********** For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub'**********F0UND********** Public Function fact() dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'客*********FOUND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function fact(n AsInteger)或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVai n%)或Public Function fact(ByVai n)3). feet = t。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。