VB程序改错
VB改错常见错误类型
VB改错常见错误类型
1、在通用函数(过程)中Exit Do 或Exit For 改为Exit Function或Exit Sub;或者说Exit
Function或Exit Sub改为Exit Do 或Exit For
2、形实结合时:类型是否一致;按值(按址)传递问题;所有形参变量不必在通用函数(过
程)中重复声明;实参是数组用数组名或数组名(),如实参是数组元素用数组名(下标)——对应形参为普通变量。
3、窗体变量在模块中都有效,过程中不要重复声明。
4、赋初值语句(如Sum=0或S=””)在循环体内还是循环体外;赋初值语句(如Sum=0
或S=””)在条件语句的位置。
5、变量改变语句(如Sum=Sum+I或F=True)的位置
6、运算符\与/;+与&;函数Str与Cstr;
7、Do循环的条件>、>=、<、<=、=、<>;While还是Until
8、Redim Preserve 数组名(下标)中Preserve是否要
9、字符串连接时左右操作数的位置(如S=Text1 & S还是S=S & Text1)。
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程序改错
count = 0
x = 200
While x <= 400
If x Mod 3 = 0 Or x Mod 7 <> 0 Then
count = count + 1
End If
x = x + 1
Loop
Print count
End Sub
k = k + 1
Wend
s = s + t
i = i + 1
Wend
Print s
End Sub
答案:40346
3004题:
程序功能:计算s=2!+4!+6!+8!。程序中有两行有错误。改正错误,使它能输出正确的结果。
原程序:
Private Sub Command1_Click()
Number = Number + 1
End If
Next x
Print Number
End Sub
答案:21
3020题:
程序功能:sum=d+dd+ddd+……+ddd..d(d为1-9的数字)。例如:3+33+333+3333(此时d=3,n=4)。从键盘上输入d 的值为8,n的值为9,求sum的值。程序中有两行有错误。改正错误,使它能输出正确的结果。
Next count
print count
End Sub
答案:19
3008题:
程序功能:求1到500间,同时能被5和9整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。
原程序:
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程序改错和程序设计
【程序改错】'题目:该程序的功能是求出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程序改错40题含答案
【程序改错】题目:该程序实现将输入的 0 - 255 之间的正整数转换成二进制数Option ExplicitPrivate Sub Form_Click()Const n = 8Dim a(n) As Integer, s As String, m As Integer, x As Integer x = Val(InputBox("请输入一个 0 - 255 之间的正整数:"))Print xFor m = 1 To na(m) = x Mod 2x = x / 2Next ms = " "For m = n To 0 Step -1s = Str(a(m))Next mPrint sEnd Sub答案:=======(答案1)=======For m = 0 To n=======(答案2)=======x= x \ 2=========或=========x= int(x/2)=======(答案3)=======s = s + Str(a(m))第3题(1.0分)题号:463'【程序改错】'题目:以下程序功能是输入三个数,由大到小排序。
Option ExplicitDim A As IntegerDim B As IntegerDim C As IntegerPrivate Sub Form_Click()Dim nTemp As IntegerA = Val(InputBox("Please input first integer", "输入正整数"))B = Val(InputBox("Please input second integer", "输入正整数"))C = Val(InputBox("Please input third integer", "输入正整数"))If A <= C ThennTemp = AA = BB = nTempEnd IfIf B <= C ThennTemp = AA = CC = nTempEnd IfIf A <= B ThennTemp = BB = CC = nTempEnd IfPrint "The integers in order is"; A; B; CEnd Sub答案:=======(答案1)=======If A <= B Then=========或=========If B >= A Then=======(答案2)=======If A <= C Then=========或=========If C >= A Then=======(答案3)=======If B <= C Then=========或=========If C >= B Then第4题(1.0分)题号:127'【程序改错】'题目:下面程序可输出如下图形:' *' ***' *****' *******' *********'------------------------------------------------Option ExplicitPrivate Sub Form_Click()Dim m As Integer, n As Integer, s As String, i As Integer, j As Integer n = 4m = 1s = "*"For i = 5 To 1 Step -1Print Spc(n)For j = 1 To 2 * m - 1Print s;Next jPrintn = n + 1m = m - 1Next iEnd Sub答案:=======(答案1)=======Print Spc(n);=========或=========Print Spc(i);=========或=========? Spc(n);=========或=========? Spc(i);=======(答案2)=======n = n - 1=========或=========n = - 1+n=======(答案3)=======m = m + 1第5题(1.0分)题号:469'【程序改错】'题目:已知一个函数f(x)=1000*sin(x),利用绘图方法' 在图片框中显示其图形。
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!。
VB改错整理与分析
VB改错:整理与分析1.参数是按值传递还是按地址传递:byval(常考),byref 2.Do……loop until n(n的取值是=某值还是>某值或<某值)3.字符串,如st=””的位置,是在前还是在后;数值,k,sum,j=j+1的位置是在前还是在后;逻辑型,如flag=true的位置,prime=true等位置4.字符串的连接,如:st=st & str(A(i))等,遗漏st;还有将数字赋给字符串一定要加str(数字) 5.在for 语句中的考点:如for i=1 to Ubound(A)有可能考查Ubound(A)-1;是for i=1 to k还是for i=k to 1 step -1 ;step -1也是考点有可能遗漏,语句无法正常执行6.在退出具体语句中,exit ……(do,for sub,function)等把他们的搭配搞错7.对数字的处理,是str还是cstr,如求长度就用cstr,n=len(cstr(数值)),出现他们时一定检查是否用错,important8.各数对应的数据类型,integer,string等,搭配要正确9.在循环中,搭配不当,如i错搞成j,for i=1 to 10 ……next j搭配错误10.R edim preserve A(k)等遗漏preserve11.在if语句中的考点,要具体判断成立条件,分支条件,做到不重不漏12.赋值对象搞错,是k=n还是n=k 13.用and 还是用or,看满足的条件要求是什么,并列还是或者14.字符串的连接,是正序ps=ps & st 还是逆序ps=st & ps15.形参不可以定义为定长字符串,如private function prime(s asstring*1) as string,就错误,应改为s as string,但数组可以的如:…(n as long,np() as string *1)16.常见错误和难点分析1.在选择结构中缺少配对的结束语句2.多边选择ElseIf关键字的书写和条件表达式的表示3.Select Case语句的使用(1) "表达式列表i" 中不能使用"变量或表达式"中出现的变量。
版上海海事大学VB题库——改错
改错〖第1题〗『程序改错』(5分)(题号:132)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程' fact实现'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()dim i as integer,s as Long'**********FOUND**********For i = 2 To 8s = s + fact(i)Next iPrint sEnd Sub'**********FOUND**********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(ByVal n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVal n%) 或Public Function fact(ByVal n)3)、fact = t〖第1题〗『程序改错』(5分)(题号:132)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程' fact实现'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()dim i as integer,s as Long'**********FOUND**********For i = 2 To 8s = s + fact(i)Next iPrint sEnd Sub'**********FOUND**********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(ByVal n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVal n%) 或Public Function fact(ByVal n)3)、fact = t〖第1题〗『程序改错』(5分)(题号:493)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:给定年号与月份,判断该年就是否闰年,并根据给出的' 月份来判断就是什么季节与该月有多少天?' (闰年的条件就是:年号能被4整除但不能被100整除,' 或者能被400整除。
【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。
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程序改错题程序改错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课程设计改错
vb课程设计改错一、教学目标本节课的教学目标是让学生掌握VB编程语言的基本语法和程序设计的基本结构,培养学生编写简单程序的能力,提高学生分析问题和解决问题的能力。
具体来说,知识目标包括:1.掌握VB编程语言的基本语法。
2.理解程序设计的基本结构,包括顺序结构、选择结构和循环结构。
3.熟悉常用的数据类型、运算符和表达式。
技能目标包括:1.能够使用VB编写简单的程序,实现数据的输入、输出、排序、查找等功能。
2.能够分析问题,设计简单的算法,并将其转化为VB程序。
情感态度价值观目标包括:1.培养学生对编程语言的兴趣,激发学生学习编程的热情。
2.培养学生解决问题的自信心,培养学生的创新精神和团队合作意识。
二、教学内容本节课的教学内容主要包括VB编程语言的基本语法、程序设计的基本结构以及常用的数据类型、运算符和表达式。
具体安排如下:1.引入VB编程语言的基本语法,讲解变量、常量的声明及使用。
2.讲解程序设计的基本结构,包括顺序结构、选择结构和循环结构。
3.介绍常用的数据类型、运算符和表达式,并通过示例进行讲解。
4.通过课后练习,让学生运用所学知识编写简单的VB程序。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:教师讲解VB编程语言的基本语法、程序设计的基本结构和常用的数据类型、运算符和表达式。
2.讨论法:学生分组讨论课后练习题目,共同解决问题。
3.案例分析法:教师展示典型案例,引导学生分析问题、设计算法并编写程序。
4.实验法:学生动手实践,编写VB程序,验证所学知识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的VB编程教材作为主要教学资源。
2.参考书:提供丰富的参考书籍,供学生课后自主学习。
3.多媒体资料:制作精美的PPT,展示典型案例,引导学生思考。
vb课程设计改错
vb课程设计改错一、教学目标本节课的教学目标是让学习者掌握VB编程语言的基本语法和程序设计的基本结构,能够运用VB编写简单的程序,解决实际问题。
具体来说,知识目标包括:1. 理解VB编程语言的基本语法;2. 掌握VB程序设计的基本结构。
技能目标包括:1. 能够使用VB编写简单的程序;2. 能够通过调试和修改代码,解决程序中的错误。
情感态度价值观目标包括:1. 培养学习者对编程语言的兴趣;2. 培养学习者解决问题的能力;3. 培养学习者的团队合作意识。
二、教学内容本节课的教学内容主要包括VB编程语言的基本语法和程序设计的基本结构。
具体包括以下几个部分:1. VB编程语言的基本语法;2. VB程序设计的基本结构;3. 常用编程控制语句;4. 编程实践。
三、教学方法为了达到本节课的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
通过这些方法,我们希望能够激发学习者的学习兴趣,提高他们的学习主动性。
具体来说,我们将通过以下方式进行教学:1. 通过讲授法,向学习者介绍VB编程语言的基本语法和程序设计的基本结构;2. 通过案例分析法,让学习者分析实际编程案例,加深对编程语言的理解;3. 通过实验法,让学习者动手编写程序,提高他们的实践能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备多种教学资源,包括教材、参考书、多媒体资料、实验设备等。
这些资源将有助于丰富学习者的学习体验,提高他们的学习效果。
具体来说,我们将使用以下教学资源:1. 教材:《VB编程语言基础》;2. 参考书:《VB编程语言实例教程》;3. 多媒体资料:VB编程语言的教学视频;4. 实验设备:计算机、网络设备等。
五、教学评估本节课的教学评估将采用多元化的评估方式,包括平时表现、作业和考试等,以全面客观地评估学生的学习成果。
具体来说,平时表现占30%,作业占30%,考试占40%。
平时表现主要评估学生在课堂上的参与程度和表现,作业评估学生对课堂所学知识的掌握程度,考试则评估学生的综合运用能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷编号:8248所属语言:Visual Basic试卷方案:VB_程序改错试卷总分:83分共有题型:1种一、程序改错共83题(共计83分)第1题(1.0分)题号:470 '------------------------------------------------'【程序改错】'------------------------------------------------'题目:在窗体上有两个命令按钮和一个文本框,名称分别为' cmdstart("开始")、cmdend("结束")和Text1。
' 文本框Text1中的字符个数不超过200个。
程序刚开始' 运行时,"结束"按钮成灰色,单击"开始"按钮后,将' 文本框Text1.text中的字符按其ASCII码值由大到小自' 左而右重新组合,并在窗体上输出重组后的字符串,同' 时使"结束"按钮能响应而"开始"按钮不能响应。
'------------------------------------------------Option ExplicitPrivate Sub Form_load() '**********FOUND**********Cmdend.Enabled = TrueEnd SubPrivate SubCmdstart_click()Dim n As Integer, I AsInteger, j As Integer, p AsIntegerDim a(200) As String *1, str1 As String, t AsStringstr1 = Text1.Textn = Len(str1)For I = 1 To na(I) = Mid(str1, I,1)Next I'**********FOUND**********For I = 0 To n - 1p = IFor j = I + 1 To n'**********FOUND**********If a(p) < a(j)Then j = pNext jIf p <> I Then t =a(I): a(I) = a(p): a(p) =tNext IFor I = 1 To nPrint a(I);Next ICmdend.Enabled = TrueCmdstart.Enabled =FalseEnd SubPrivate SubCmdend_click()EndEnd Sub答案:=======(答案1)=======Cmdend.Enabled = False=========或=========Cmdend.Enabled = -1=======(答案2)=======For I = 1 To n - 1=========或=========For I = 1 To -1+n=======(答案3)=======If a(p) < a(j) Then p = j=========或=========If a(j) > a(p) Then p = j第2题(1.0分)题号:129'------------------------------------------------'【程序改错】'------------------------------------------------'题目:该程序实现将输入的0 - 255 之间的正整数转' 换成二进制数'------------------------------------------------Option ExplicitPrivate Sub Form_Click()Const n = 8Dim a(n) AsInteger, s As String, m AsInteger, x As Integerx =Val(InputBox("请输入一个0 - 255 之间的正整数:")) Print x'**********FOUND******** **For m = 1 To n a(m) = x Mod 2'**********FOUND******** **x = x / 2Next ms = " "For m = n To 0 Step -1'**********FOUND******** **s = Str(a(m)) Next mPrint sEnd Sub答案:=======(答案1)======= For m = 0 To n=======(答案2)=======x= x \ 2=========或=========x= int(x/2)=======(答案3)=======s = s + Str(a(m))第3题(1.0分)题号:463 '------------------------------------------------'【程序改错】'------------------------------------------------'题目:以下程序功能是输入三个数,由大到小排序。
'------------------------------------------------Option ExplicitDim A As IntegerDim B As IntegerDim C As IntegerPrivate Sub Form_Click()Dim nTemp As IntegerA =Val(InputBox("Pleaseinput first integer", "输入正整数"))B =Val(InputBox("Pleaseinput second integer", "输入正整数"))C =Val(InputBox("Pleaseinput third integer", "输入正整数"))'**********FOUND**********If A <= C ThennTemp = AA = BB = nTempEnd If'**********FOUND**********If B <= C ThennTemp = AA = CC = nTempEnd If'**********FOUND**********If A <= B ThennTemp = BB = CC = nTempEnd IfPrint "The integers inorder is"; A; B; CEnd Sub答案:=======(答案1)=======If A <= B Then=========或=========If B >= A Then=======(答案2)=======If A <= C Then=========或=========If C >= A Then=======(答案3)=======If B <= C Then=========或=========If C >= B Then第4题(1.0分)题号:127'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下面程序可输出如下图形:' *' ***' *****' *******' *********'------------------------------------------------Option ExplicitPrivate Sub Form_Click() Dim m As Integer, n As Integer, s As String, i As Integer, j As Integern = 4m = 1s = "*"For i = 5 To 1 Step -1'**********FOUND******** **Print Spc(n)For j = 1 To 2 * m - 1 Print s;Next jPrint'**********FOUND******** **n = n + 1'**********FOUND******** **m = m - 1Next iEnd Sub答案:=======(答案1)======= Print Spc(n);=========或=========Print Spc(i);=========或=========? Spc(n);=========或========= ? Spc(i);=======(答案2)=======n = n - 1=========或=========n = - 1+n=======(答案3)=======m = m + 1第5题(1.0分)题号:469'------------------------------------------------'【程序改错】'------------------------------------------------'题目:已知一个函数f(x)=1000*sin(x),利用绘图方法' 在图片框中显示其图形。
结果如图1'------------------------------------------------Option ExplicitPrivate Const pi = 3.14159Private SubCommand1_Click()'**********FOUND**********Dim x As IntegerPicture1.Scale (-pi,-1200)-(pi, 1200)'**********FOUND**********For x = -pi To pi Steppi'**********FOUND**********Picture1.PSet (x,1000 * pi * Sin(x)), vbRedNext xEnd Sub答案:=======(答案1)=======Dim x As Single=========或=========Dim x!=======(答案2)=======For x = -pi To pi Step pi/ 180=======(答案3)=======Picture1.PSet (x, 1000 *Sin(x)), vbRed=========或=========Picture1.PSet (x,Sin(x)*1000), vbRed第6题(1.0分)题号:497'------------------------------------------------'【程序改错】'------------------------------------------------'题目:编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。