VB程序设计例题-程序改错程序填空程序设计
- 格式:doc
- 大小:72.50 KB
- 文档页数:13
vb程序设计书习题和参考答案练习题习题⼀⼀、判断题1.Visual Basic是以结构化的Basic语⾔为基础、以事件驱动作为运⾏机制的可视化程序设计语⾔。
2.⾯向对象的程序设计是⼀种以对象为基础,由事件驱动对象的编程技术。
3.事件是由Visual Basic预先定义的对象能够识别的动作。
4.新建⼯程时系统会⾃动将窗体标题设置为Form1。
5.控件的属性值不可以在程序运⾏时动态地修改。
6.决定对象是否可见的属性为Visible属性,决定对象可⽤性的属性是Enabled属性。
7.保存Visual Basic⽂件时,若⼀个⼯程包含多个窗体或模块,则系统先保存⼯程⽂件,再分别保存窗体或模块⽂件。
8.单击“启动”菜单项将窗体装⼊内存时,⼀定触发窗体的Load事件。
9.“事件过程”是⽤来完成事件发⽣后所要执⾏的程序代码。
10.在打开某窗体时,初始化该窗体中的各控件,应选⽤Load事件。
⼆、选择题1.⼯程⽂件的扩展名为。
A、.frxB、.basC、.vbpD、.frm2.下列不属于对象的基本特征是。
A、属性B、⽅法C、事件D、函数3.在设计模式双击窗体将显⽰的窗⼝是A、⼯程窗⼝B、⼯具箱C、代码窗⼝D、属性窗⼝4.VB中运⾏程序的快捷键是A、F2B、F5C、Alt+F35.改变控件在窗体中的上下位置应修改该控件的属性。
A、TopB、LeftC、WidthD、Right6.窗体模块的⽂件扩展名是A、.exeB、.basC、.frxD、frm7.设置窗体的字体⽤属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic8.设置窗体的字号⽤属性。
A、FontNameB、FontSizeC、FontBoldD、FontItalic9.下列选项中不属于事件的是。
A、DblclickB、LoadC、ShowD、KeyUp10.VB编制的程序保存在磁盘上,⾄少会产⽣何种⽂件。
A、.doc与.txtB、.com与.exe.C、.bat与.frmD、.vbp与.frm三、程序设计题1.新建⼀个⼯程,单击窗体时,在窗体上显⽰“欢迎使⽤Visual Basic程序”。
vb程序设计试题及答案一、选择题(每题2分,共20分)1. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. DoubleC. StringD. All of the above答案:D2. VB中用于声明变量的关键字是?A. DimB. DeclareC. SetD. All of the above答案:A3. 在VB中,下列哪个选项是正确的循环语句?A. ForB. DoC. WhileD. All of the above答案:D4. VB中用于打开文件的函数是?A. OpenB. CloseC. WriteD. Read答案:A5. 在VB中,下列哪个选项是正确的条件语句?A. If...ThenB. Select CaseC. Do WhileD. All of the above答案:A6. VB中用于创建新窗体的语句是?A. Form.ShowB. Form.NewC. Form.CreateD. Form.Open答案:A7. VB中用于声明常量的关键字是?A. ConstB. DimC. StaticD. Option答案:A8. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(5) As IntegerB. Dim arr() As IntegerC. Dim arr As IntegerD. Dim arr(5) As String答案:A9. VB中用于结束程序的语句是?A. EndB. ExitC. CloseD. All of the above答案:B10. VB中用于捕获异常的语句是?A. Try...CatchB. On ErrorC. CatchD. All of the above答案:B二、填空题(每题2分,共20分)1. 在VB中,声明一个名为myVar的变量,其类型为字符串,应该使用语句________。
答案:Dim myVar As String2. VB中,用于定义一个名为myFunction的函数,返回值为整数,应该使用语句________。
'以下程序段用于输出杨辉三角:结果样式如图1'Private Sub Form_Click()Const n = 10Dim arr(n, n) As IntegerFor I = 1 To narr(I, I) = 1'**********SPACE**********【arr(I, 1) = 1】Next IFor I = 3 To nFor j = 2 To I - 1'**********SPACE**********arr(i, j) =arr(i-1,j-1)+arr(i-1,j)Next jNext IFor I = 1 To nFor j = 1 To I'**********SPACE**********【print arr(I,j)】Next jPrintNext IEnd SubOption Explicit'------------------------------------------------'【程序改错】'------------------------------------------------'题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!,' 当x〉1或x〈-1时,函数值为0。
当n〈=0时,输入数' 据错误。
X、N都是由用户输入。
'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Command1_Click()Dim s As SingleDim n As Integer, x As Single, k As Integern = Val(InputBox("Please input a integer value:"))x = Val(InputBox("Please input a single value:"))If n <= 0 Thenk = MsgBox("数据输入错误!", vbRetryCancel + vbExclamation, "数据输入")Exit SubEnd Ifs = Sum(x, n)Print sEnd SubFunction Sum(x As Single, n As Integer)Dim i As Integer, ss As Longss = 1Sum = 0If x > 1 Or x < -1 Then'**********FOUND**********Exit Do 改为Exit FunctionElse'**********FOUND**********For i = 2 To n 改为For i = 2 To n+1ss = ss * i'**********FOUND**********Sum = x ^ (i - 1) / ss 改为Sum =sum+ x ^ (i - 1) / ssNext iEnd IfEnd FunctionOption Explicit'------------------------------------------------'【程序改错】'------------------------------------------------'题目:编程将一个数从已经有序(设从小到大排序)的数组' 中删除,使数组还继续保持有序而且其余元素按照下' 标连续存放。
《程序设计语言VB》填空题1. Private Sub Command1_Click()a=3b=1For i=1 To 3f=a + ba=bb=fNext iPrint fEnd Sub以上程序段运行后,f的结果为。
2.设有如下通用过程:Public Sub fun(a() As Integer, x As Integer)For i = 1 To 5x = x + a(i)NextEnd Sub在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim arr(5) As Integer, n As IntegerFor i = 1 To 5arr(i) = 2* iNextfun arr, nText1.Text = Str(n)End Sub程序运行后,单击命令按钮,则在文本框中显示的内容是。
3.阅读下列程序段Option ExplicitPrivate Sub Command1_Click()Dim str1 As StringDim str2 As Stringstr1 = "ABCDEFG"MySub str1, str2Print str2End SubPrivate Sub MySub(ByVal a As String, b As String) Dim c As StringDim i As IntegerFor i = Len(a) To 1 Step -1c = c+ Mid(a, i, 1)Nextb= cEnd Sub程序运行后,“print”语句的输出结果是___ _。
4.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x = Int(Rnd) + 6If x ^ 2 > 25 Then y = x ^ 2 + 5x = Int(Rnd) + 4If x ^ 2 < 25 Then y = x ^ 2x = Int(Rnd) + 5If x ^ 2 = 25 Then y = x ^ 2 - 5Print yEnd Sub程序运行后,单击命令按钮,其输出结果为__ _。
第一部分:应试攻略一、灵活运用多种求解方法由于湖南省二级考试所有程序题(包括:改错题、填空题和编程题)采取计算机自动评分,而评分的标准就是你最后填写的程序的运行结果而不是代码!因此,在不得已的情况下(有时也是更直接甚至是更简洁的办法),可利用以下方法之一解决问题!1、按自己的思路编程。
对于改错题或填空题,如果看不懂原代码,以至无法求解,可以按照自己的思路重写代码求解。
2、借助Windows附件中的计算器解决问题(如数制转换、开方、乘方、求和等)。
3、数学方法求解。
4、利用EXCEL求解。
二、熟悉基本问题的求解思路1、求整数的各位数字主要利用除法运算和求余运算。
基本思路是:先将要求的数字移到个位,再取出个位。
例如,x为四位数,则:x\1000:是千位数字。
x\100mod10:百位数字。
x\10mod10:十位数字。
xmod10:个位数字。
2、判断一个整数是否为素数判断整数N>2是否为素数的主要方法是:----若[2,sqr(N)]上无N的因子,则N为素数。
----将区间改为为[2,N/2]或[2,N-1],上述结论仍然成立。
----将“因子”改为“质因子”或“奇数因子”,上述结论仍然成立。
注意,1既不是素数,也不是合数。
在考试中,为了简便,建议将区间定为[2,N-1]。
如:以下代码用于判断奇数是否为素数:For k=2 To n-1 '在[2,n-1]上搜索n的奇因子If n Mod k=0 Then Exit ForNextIf k>=n Then ……' 如果k>=n,则n是素数3、判断一个整数是否为完全平方数设K、N均为Long类型变量,取K=sqr(N)。
则N为完全平方数的充要条件为:(1)K*K=N(2)Int(Sqr(N))=Sqr(N)。
4、确定正整数N的位数基本方法是删除个位法:Do While m ' m的初值为Nk=k+1:m=m\10Loop 'k初值为0。
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程序设计及参考答案⼀、单选题(共20分,每⼩题1分)1、要改变控件的宽度,应修改该控件的()属性。
(A)TOP (B)width (C)Left (D)Height2、将命令按钮Command1设置为不可见,应修改该命令按钮的()属性。
(A)Visible (B)Value (C)Caption(D)Enabled3、()对象具有clear⽅法。
(A)图⽚框(B)窗体(C)复选框(D)列表框4、启动VB后,就意味着要建⽴⼀个新()。
(A)窗体(B)⽂件(C)⼯程(D)程序5、下列()对象不具有Clear⽅法。
(A)列表框(B)组合框(C)剪贴框(D)图⽚框6、组合框有三种风格,它们由Style属性所决定,其中为简单组合框时,Style 属性值应为()(A)0 (B)1 (C)2 (D)37、下列可调整图⽚框的⼤⼩以适合图⽚的属性是()(A)Stretch (B)autosize (C)picture (D)oledropmode 8、要想清除⽂本框中的内容则可利⽤()进⾏。
(A)Caption (B)Text (C)Clear (D)Cls9、在⽂本框控件中将Text的内容全部显⽰为所定义的字符的属性是()。
(A)Password (B)PasswordChar(C)需要编程来实现(D)以上都不是10、Visual Basic是⼀种⾯向对象的程序设计语⾔,所采⽤的编程机制是()。
(A)从主程序开始执⾏(B)按过程顺序执⾏(C)事件驱动(D)按模块顺序执⾏11、下列四项中合法的变量名是()。
(A)a-bc (B)a_bc (C)4abc (D)integer12、⽆论何种控件,共同具有的属性是()(A)Text (B)Name (C)Caption (D)ForeColor13、有程序代码如下:Text1.Text = "Visual Basic程序设计"则Text1、Text ,和"Visual Basic程序设计"分别代表()。
VB程序设计练习题及参考答案visualbasic程序设计练习题一、填空1.当进入vb集成环境,发现没有显示“工具箱”窗口时,应选择菜单的选项,使“工具箱”窗口显示。
2.在BMP图形文件之后加载命令按钮的图片属性时,所需的图形不会显示在选项按钮上,因为该属性未设置为1(图形)。
3.在文本框中,通过属性能获得当前插入点所在的位置。
4.要编辑文本框中的现有内容,请按键盘上的键,但该键不起作用,因为该属性已设置为true。
6.在vb中,1234、123456&、1.2346e+5、1.2346d+5四个常数分别表示、、、。
7.整数变量x存储两位数。
要交换两个数字的位置,例如,13变为31,表达式为。
8.表示x是5的倍数或是9的倍数的逻辑表达式为。
9.如果a=3.5、B=5.0、C=2.5和d=true,则表达式a>=0anda+C>B+3ornotd的值为。
10.int(-3.5)、int(3.5)值分别是、。
11.表达式ucase(mid(\的值是。
12.要将以下语句循环20次,循环变量的初始值应为:fork=to-5step-213.下面程序段显示个“*”。
fori=1到5 Forj=1打印\nextjnexti14.复选框属性设置为2-grayed时,变成灰色,禁止用户选择。
15.属性设置为1,单选按钮和复选框的标题显示在左边。
16.属性设置为1,单选按钮和复选框以图形方式显示。
17.程序运行时,如果框架属性设置为false,框架标题为灰色,表示框架内的所有对象均被屏蔽,不允许用户对其进行操作。
18.列表框中项目的序号是从开始的。
19.指示列表框中最后一项的序列号。
20.方法可以清除列表框中的所有内容。
21.组合框是组合了文本框和列表框的特性而形成的一种控件。
风格的组合框不允许用户输入列表框中没有的项。
22.VB程序存储在模块中,模块分为______________三种类型。
123.如果希望每15秒生成一次计时器事件,interval属性应设置为。
属性设置:将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。
【程序改错】'题目:该程序的功能是求出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分)'题目:(事件)双击窗体。
'以下程序段用于输出杨辉三角:结果样式如图1'Private Sub Form_Click()Const n = 10Dim arr(n, n) As IntegerFor I = 1 To narr(I, I) = 1'**********SPACE**********【arr(I, 1) = 1】Next IFor I = 3 To nFor j = 2 To I - 1'**********SPACE**********arr(i, j) =arr(i-1,j-1)+arr(i-1,j)Next jNext IFor I = 1 To nFor j = 1 To I'**********SPACE**********【print arr(I,j)】Next jPrintNext IEnd SubOption Explicit'------------------------------------------------'【程序改错】'------------------------------------------------'题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!,' 当x〉1或x〈-1时,函数值为0。
当n〈=0时,输入数' 据错误。
X、N都是由用户输入。
'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Command1_Click()Dim s As SingleDim n As Integer, x As Single, k As Integern = Val(InputBox("Please input a integer value:"))x = Val(InputBox("Please input a single value:"))If n <= 0 Thenk = MsgBox("数据输入错误!", vbRetryCancel + vbExclamation, "数据输入")Exit SubEnd Ifs = Sum(x, n)Print sEnd SubFunction Sum(x As Single, n As Integer)Dim i As Integer, ss As Longss = 1Sum = 0If x > 1 Or x < -1 Then'**********FOUND**********Exit Do 改为Exit FunctionElse'**********FOUND**********For i = 2 To n 改为For i = 2 To n+1ss = ss * i'**********FOUND**********Sum = x ^ (i - 1) / ss 改为Sum =sum+ x ^ (i - 1) / ssNext iEnd IfEnd FunctionOption Explicit'------------------------------------------------'【程序改错】'------------------------------------------------'题目:编程将一个数从已经有序(设从小到大排序)的数组' 中删除,使数组还继续保持有序而且其余元素按照下' 标连续存放。
'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()Dim A() As Integer, N As Integer, Flag As IntegerDim i As Integer, X As Integer, P As IntegerFlag = 0N = InputBox("输入元素个数")'**********FOUND**********Dim A(N) 改为ReDim A(N)For i = 1 To NA(i) = InputBox("输入数组的第" & i & "个元素") Next iPrint "删除某元素前的数组"For i = 1 To NPrint A(i);Next iStart:X = InputBox("输入要删除的元素:")For i = 1 To NIf X = A(i) Then P = i: Flag = 1Next iIf Flag = 0 Then MsgBox ("没有此元素"): GoTo StartFor i = P To N - 1'**********FOUND**********A(i + 1) = A(i) 改为A(i) = A(i+1)Next i'**********FOUND**********N = N + 1 改为N = N- 1Print "删除元素后的数组:"For i = 1 To NPrint A(i);Next iEnd SubPrivate Sub Form_Click()'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:(事件)单击窗体。
' (响应)输出一个如图所示的由数字组成的倒三角形' 请将结果存入变量S中(要求利用msgbox函数' 显示结果,使用for...next语句完成程序)'-------------------------------------------------'注意:请在指定的事件内编写代码。
'-------------------------------------------------Dim s As String'***************** Program **************Dim i%, j%, w$w = ""For i = 10 To 1 Step -1For j = 0 To i - 1w = w & CStr(j)Nextw = w & vbCrLfNextMsgBox ws = w'*************** End *************************Call YZJ(s)End SubPrivate Sub YZJ(i As String)Dim OUT As IntegerOUT = FreeFileOpen App.Path & "\out.txt" For Output As #OUTPrint #OUT, iClose #OUTEnd SubPrivate Sub Form_Click()'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:(事件)单击窗体。
' (响应)求100到500之间奇数的和,将结果输出' 在窗体上并存入变量SUM中。
' 使用do...loop until语句完成程序'-------------------------------------------------'注意:请在指定的事件内编写代码。
'-------------------------------------------------Dim sum As Long'***************** Program **************'*************** End ************************* Call YZJ(sum)End SubPrivate Sub YZJ(i As Long)Dim OUT As IntegerOUT = FreeFileOpen App.Path & "\out.txt" For Output As #OUTPrint #OUT, iClose #OUTEnd SubOption Explicit'-------------------------------------------------------'【程序填空】'-------------------------------------------------------'题目:下面的程序用于求三个数中最大数'请在【?】处填入正确的内容'-------------------------------------------------------'Private Sub Command1_Click()Dim a, b, c, max, min As Integera = Val(InputBox("请输入第一个数:"))b = Val(InputBox(" 请输入第二个数:"))c = Val(InputBox("请输入第三个数:"))'**********SPACE**********【?】= amin = a'**********SPACE**********If b > max Then 【?】If b < min Then min = b'**********SPACE**********If 【?】Then max = cIf c < min Then min = cPrint "最大数为:"; maxPrint "最小数为:"; minEnd Sub'下面过程max()用于求3个数中最大值,利用这个过程求5个数中最大值。