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。
- 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。