谁有vb的vb选择题题库库

2011年5月 VB大版内专家分月排行榜第一2011年4月 VB大版内专家分月排行榜第一2011年3月 VB大版内专家分月排行榜第一2011年2月 VB大版内专家分月排行榜第一2011年1月 VB大版内专家分月排行榜第一2010年12月 VB大版内专家分月排行榜第一2010年11月 VB大版内专家分月排行榜第一2002年2月 VB大版内专家分月排行榜第一2002年1月 VB大版内专家分月排行榜第一
2002年3月 VB大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。【VB】VB题库选择,填空,判断
一、判断 共10题 (共计10分)
第1题 Shape控件和Line控件可以在窗体中移动,因此它们具有Move方法.&&&& 答案:N
第2题 Visual Basic程序的运行可以从Main()过程启动,也可以从某个窗体启动.&& 答案:Y
第3题图片框的属性Enabled设置为FALSE,& 图片框上的控件仍可响应用户操作.&&& 答案:N
第4题若已在窗体中加入了一个通用对话框:要求在运行时,通过ShowOpen打开对话框时,只显示扩展名为 DOC 的文件,则对通用对话框的 Filter的属性设置应该是:" (*.DOC)| ( .DOC)" . N
第5题设计菜单中每一个菜单项分别是一个控件,每个控件都有自己的名字.&&&&& 答案:Y
第6题清除list1列表框对象的内容的语句是list1.cls.&&&& 答案:N
第7题图片框的Move方法不仅可以移动图片框,而且还可以改变该图片框的大小,同时也会改变该图片框有关属性的值.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 答案:N
第8题当窗体的ScaleTop=0,ScaleLeft=0时,这个窗体Top和Left值也是0.&&&& 答案:N
第9题框架控件和形状控件都不能响应用户的鼠标的单击事件.&&& 答案:Y
第10题通用对话框只能用SHOW方法进行调用.&&&&&&&&&&&&&& 答案:N&&&&&&&&&&&&&&&&&&&&&&&
二、单项选择 共10题 (共计10分)
第1题用户可以通过设置菜单项的()属性值为FALSE来使该菜单项不可见.A:Hide&&& B:Checked&&& C:Visible&&& D:Enabled&&&&&&& 答案:C
第2题定时器的Interval属性以()为单位指定Timer事件之间的时间间隔.A:分&& B:秒&& C:毫秒&& D:微秒&&&&&&&&&&&&&&&&&&&& 答案:C
第3题要在图片框P1中打印字符串" HowAreYou" ,应使用语句().A:Picture1.Print=" HowAreYou" &&&B:P1.Picture=LoadPicture(" HowAreYou" )C:P1.Print" HowAreYou" &&&&D:Print" HowAreYou" &&&&&&&&&&答案:C
第4题下列关于设置控件属性的叙述正确的是().A:用户必须设置属性值&&&&&&&& B:所有的属性值都可以由用户随意设定C:属性值不必一一重新设置&&&&&&&&&&& D:不同控件的属性项都完全一样&&&&&& 答案:C
第5题启动VisualBasic后,系统为用户新建的工程起一个名为()的临时名称.A:工程1&& B:窗体1&& C:工程&&& D:窗体&&&& 答案:A
第6题设a=10,b=5,c=1,执行语句Printa&b&c后,窗体上显示的是().A:True&&&& B:False&&& C:1&&&& D:出错信息&&&&&&&&&&&&&&&&&& 答案:B
第7题MSGBOX函数中有4个参数,其中必须写明的参数是().A:指定对话框中显示按钮的数目& B:设置对话框标题& C:提示信息& D:所有参数都是可选的 C
第8题应用程序设计完成后,应将程序保存,保存的过程是().A:只保存窗体文件即可&&& B:只保存工程文件即可&&& C:先保存工程文件,之后保存窗体文件D:先保存窗体文件(或标准模块文件),之后还要保存工程文件&&&&&&&&&&&&&&&&&&&&& 答案:D
第9题改变控件在窗体中的左右位置应修改该控件的()属性.A:Top&&& B:Left&& C:Width&&& D:Right&&&&&&&&&&&&&& 答案:B
分享这篇日志的人也喜欢
回收废旧主播
请大家关爱新儿童
相遇很幸运!
留不住的就不留
热门日志推荐
人人最热标签
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场当前位置: >>
VB期末考试题库及答案
试卷方案:201105 Visual Basic 期末考试方案一、单项选择_共 50 题(选:20 题*1’=20 分) 第1题以下有关对象属性的说法中,错误的是___________. A. 工具箱中的控件并不是 VB 中所有的控件 B. 若将 Frame 的 Enabled 属性设置为 False,则不能使用放置在 Frame 里面的控件 C. 对象的 Name 属性在运行时不能改变 D. 对象的所有属性都可以在属性窗口中设置第2题数学表达式 sin 27 A. B. C. D.??x ? e3| x ? y |的 VB 算术表达式为_______ .Sin(27)+Sqr(x+Exp3)/(x+y) Sin(27*3.)+Sqr(x+Exp(3))/Abs(x+y) Sin(27*3.)+Sqr(x+e^3)/Abs(x+y) Sin(27*pi/180)+Sqr(x+Exp(3)/Abs(x+y)第3题下列有关对象的叙述中,正确的是______ A. 对象由属性,事件和方法构成 B. 对象的所有属性既可以在属性窗口设置,又可以在程序运行时用赋值语句设置 C. 对象的事件一定就是由 VB 预先设置好的人工干预的动作 D. 对象的方法是对象响应某个事件后执行的一段程序代码第4题表达式 CInt(4.5)+Cint(-4.51)+Int(4.9)+Int(-4.1)+Fix(-1.9)+0 Mod 2 的运算结果是___. A. 1 B. -1 C. C2 D. C3第5题下列关于菜单的说法中,错误的是__________. A. 每一个菜单项就是一个对象,并且可设置自己的属性和事件 B. 菜单项不可以响应 DblClick 事件 C. VB6.0 允许创建超过四级的子菜单 D. 程序执行时,如果要求菜单项是灰色,不能被用户选择,则应设置菜单项的 Enabled 属性为 False第6题以下关于数组的说法中,错误的是__________. A. 使用了 Preserve 子句的 Redim 语句,只允许改变数组最后一维的上界 B. 对于动态数组, Redim 语句可以改变其维界但不可以改变其数据类型 C. Erase 语句的功能只是对固定大小的数组进行初始化 D. Lbound 函数返回值是指定数组某一维的下界第7题设 a=3,b=2,c=1,运行 print a&b&c 的结果是____________. A. True B. False C. 1 D. 出错1 第8题以下说法不正确的是____________. A. 使用不带关键字 Preserve 的 ReDim 语句可以重新定义数组的维数 B. 使用不带关键字 Preserve 的 ReDim 语句可以改变数组各维的上、下界 C. 使用不带关键字 Preserve 的 ReDim 语句可以改变数组的数据类型 D. 使用不带关键字 Preserve 的 ReDim 语句可以对数组中的所有元素进行初始化第9题在列表框 List1 中有若干列表项,可以删除选定列表项的语句是__________. A. List1.text=&& B. List1.List(List1.ListIndex)=&& C. List1.Clear D. List1.RemoveItem List1.ListIndex第 10 题数学表达式 A. B. C. D.e2?x ? 5ln x ? sin3(2 x)2对应的 VB 表达式是__________.| sin x ? cos x|(e^(2*π *x-5)*Log(x)+(Sin(2x))^3)/Sqr(Sin(x)-Cos(x^2)) (Exp(2*3.14159*x-5)*Log(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2)) (Exp(2*π *x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2)) e^(2*3.14159*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))第 11 题以下有关数组参数的说明中,正确的是______ A. 在过程中也可用 Dim 语句对形参数组进行说明 B. 动态数组作为实参时,可用 ReDim 语句在过程中改变对应形参数组的维界 C. 调用过程时,数组名不能作为实参 D. 数组可以按地址传递也可以按植传递第 12 题下列有关过程的说法中,错误的是_____________. A. 在 Sub 或 Function 过程内部不能再定义其它 Sub 或 Function 过程 B. 对于使用 ByRef 说明的形参,在过程调用时形参和实参只能按传址方式结合 C. 递归过程既可以是递归 Function 过程,也可以是递归 Sub 过程 D. 可以像调用 Sub 过程一样使用 Call 语句调用 Function 过程第 13 题要将焦点设置在某个控件上,以下四个选项中正确的是______. A. 只能使用鼠标直接点击控件 B. 只能使用 Tab 键将焦点移到该控件 C. 只能在程序中调用该控件的 SetFocus 方法 D. A、B、C 三选项中涉及的方法均可使用第 14 题以下 Case 语句中,能正确描述 Y 的绝对值大于 6 的是______. A. Case Abs(Y)&6 C. Case Not(-6 To 6) B. Case -6 To 6 D. Case Is&-6,Is&62 第 15 题以下关于变量作用域的叙述中,正确的是____________. A. 窗体中凡用 Private 声明的变量只能在某个指定的过程中使用 B. 模块级变量只能用 Dim 语句声明 C. 凡是在窗体模块或标准模块的通用声明段用 Public 语句声明的变量都是全局变量 D. 当不同作用域的同名变量发生冲突时,优先访问局限性小的变量第 16 题以下关于数值常量的说法中,错误的是______ A. 八进制数的表示方法是在数字前面加&O B. 十六进制数的表示方法是在数字前面加&H C. 在浮点运算中使用 D 来分隔尾数和指数时,系统将把该数值作为单精度型数处理 D. 32768 是合法的数值常量第 17 题数学表达式ex? sin330?x? y对应的 VB 表达式是___________.A. Abs(e^x+Sin(30)^3)MSqr(x+y)) B. Abs(Exp(x)+Sin(30)^3)M(Sqr(x+y)) C. Abs(e^x+Sin(30*3.)^3)M(Sqr(x+y)) D. Abs(Exp(x)+Sin(30*3.)^3)MSqr(x+y))第 18 题下面的 4 个表达式中,有关_________个能够对 Single 类型变量 x(正数)的第 3 位小数正确地进行四舍五入计算. Format(x,″#.00″) A. 1 个 B. 2 个 Int(100*(x+0.005))/100 C. 3 个 D. 4 个 CInt(100*(x+0.005)/100 Fix(100*(x+0.005))/100第 19 题执行以下语句时,会出现错误提示的是__________. A. Print&2b3 & +12.5 B. Print&12.5&+ 12 C.Print&12.5& & 12.5 D.Print&2e3&+12第 20 题以下 Case 语句含有错误的是___________. A. Case 0 To 10 B. Case Is&10 C. Case Is&10 And Is&50 D. Case 3,5,Is&10第 21 题下列语句中,正确的是__________ A. Textl.SetFocus B. Forml.Clear C. Labell.SetFocus D. Listl.Cls第 22 题下列选项中,所包含的所有表达式能够将两位整数 x 的个位数与十位数对调(如将 78 转换为 87)的是 _______________. ①Val(Right(X,1)&Left(X,1)) ③Val(Right(CStr(X),1)&Left(CStr(X),1)) A. ①② B. ②③ C. ②④ ②Val(Right(Str(X),1)&Left(Str(X),1)) ④Val(Mid(X,2,1)+Mid(X,1,1)) D. ①③④第 23 题以下关于子过程或函数的定义中,正确的是______ A. Sub f1(n As String*1 ) As Integer)As Integer B. Sub f1(n As Integer)As n As Integer Integer)3C. Functionf1(f1D. Functionf1(ByVal 第 24 题下列有关控件数组的说法中,错误的是______. A. 控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组 B. 控件数组中的所有控件不得具有各自不同的属性设置值 C. 控件数组中的所有控件共享同一个事件过程 D. 控件数组中每个元素的下标由控件的 Index 属性指定第 25 题以下对数组参数的说明中,错误的是___________ . A. 在过程中可以用 Dim 语句对形参数组进行声明 B. 形参数组只能按地址传递 C. 实参为动态数组时,可用 ReDim 语句改变对应形参数组的维界 D. 只需把要传递的数组名作为实参,即可调用过程第 26 题要向文件 datal.txt 添加数据,正确的文件打开命令是_____________. A. Open&datal.txt&For Output B. Open&datal.txt&For Input C. Open&datal.txt&For Append As #1 As #1 As #5D. Open&datal.txt& For Write As #5第 27 题下面有关数组处理的叙述中,正确的是__________. A. 在过程中使用 ReDim 语句可以改变动态数组数据的类型 B. 在过程中,可以使用 Dim 、Private 和 Static 语句来定义数组 C. 用 ReDim 语句重新定义动态数组时,可以改变数组的大小,但不能改变数组的维数 D. 不可以用 Public 语句在窗体模块的通用处说明一个全局数组第 28 题下面的表达式中,运算结果为 True 的是__________. A. &abcrd& &=&ABCRD& C. 3&2&1 B. Int(134.69) &=CInt(134.69) D. Mid(&Visual&,1,4)=Right(&lausiV&,4)第 29 题设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其________属性置为 True,再将 ScrollBar 属性设置 为 3. A. MultiLine B. AutoSize C. Alignment D. RightToLeft第 30 题下面有关数组的说法中,正确的是______ A. 数组的维下界不可以是负数 B. 模块通用声明处有 Option Base 1,则模块中数组定义语句 Dim A(0 To 5)会与之冲突 C. 模块通用声明处有 Option Base 1,模块中有 Dim A(0 To 5),则 A 数组第一维维下界为 0 D. 模块通用声明处有 Option Base 1,模块中有 DimA(0 To 5),则 A 数组第一维维下界为 1第 31 题下面有关数组的叙述中,不正确的是______. ① 在过程中用 ReDim 语句定义的动态数组,其下标的上下界可以是变量 ② 数组作为形式参数时,传递的是每个数组元素的值 ③ 在窗体模块的通用声明处可以用 Public 说明一个全局数组4 ④ 数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值 A. ②③ B. ①③④ C. ①②③④ D. ③④第 32 题下列关于对象 SetFocus 与 GotFocus 的描述中,正确的是_____ A. SetFocus 是事件,GotFocus 是方法 C. Setfocus 和 GotFocus 都是方法 B. Setfocus 和 Gotfocus 都是事件 D. SetFocus 是方法,GotFocus 是事件第 33 题创建一个名为&文件&的菜单项,欲使其可用 Alt+F 方式访问,则在菜单编辑器的标题文本框中应输入_________. A. 文件($F) B. 文件(&F) C. 文件(#F) D. 文件(%F)第 34 题在下列属性中,属于 CommandButton 控件、ListBox 控件共有的是______. A. Caption、Text B. Visible、Font C. Caption、Visible D. List、Visible第 35 题下列能够正确表示条件&X≤Y&Z&的 VB 逻辑表达式是______ A. X≤Y&Z B. X&=Y And Y&Z C. X≤Y OR Y&Z D. X&=Y&Z第 36 题以下关于 Function 过程的说法中,错误的是___________. A. Function 过程名可以有一个或多个返回值 B. 在 Function 过程内部不得再定义 Function 过程 C. Function 过程中可以包含多个 Exit Function 语句 D. 可以像调用 Sub 过程一样调用 Function 过程第 37 题下面的关系表达式中,运算结果为 True 的是______. A. CInt(1.5)=Int(1.5) C. Fix(-1.5)=CInt(-1.5) B. Fix(1.5)=Int(1.5) D. Fix(-1.5)=Int(-1.5)第 38 题已知 X&Y,A&B,则下列表达式中,结果为 True 的是______ A. Sgn(X-Y)+Sgn(A-B)=-1 C. Sgn(Y-X)+Sgn(A-B)=2 B. Sgn(X-Y)+Sgn(A-B)=-2 D. Sgn(Y-X)+Sgn(A-B)=0第 39 题执行__________语句时,会出现出错提示信息. A. Print 5+7=14 C. Print 32768*2 B. Print 16384*2 D. Print &14&+32第 40 题数学表达式sin 30??log x ? yx? y2? ? e对应的 Visual Basic 表达式是______.A. Sin(30*3.)+Sqr(Log(x)+y)/2*3.14159+Exp(x+y) B. (Sin(30*π /180)+Sqr(Ln(x)+y))/(2*π +Exp(x+y)) C. Sin(30*180/3.14159)+Sqr(Log(x)+y)/(2*3.14159+e^(x+y)) D. (Sin(30*3.)+Sqr(Log(x)+y))/(2*3.14159+Exp(x+y))5 第 41 题在一个多窗体程序中,可以仅将窗体 Form2 从内存中卸载的语句是________. A. Form2.Unload C. Form2.End B. Unload Form2 D. Form2.Hide第 42 题Print 方法可在______上输出数据. ①窗体 A. ①③⑥ ②文本框 ③图片框 ④标签 ⑤列表框 ⑥立即窗口 D. ③④⑥ B. ②③⑤ C. ①②⑤第 43 题若要使逻辑表达式 x&y Xor y&z 结果为 True,则 x、y、z 的取值应为下列选项中的_______. A. C. x=3、y=3、z=4 x=1、y=3、z=2 B. x=2、y=1、z=2 D. x=2、y=2、z=2第 44 题下列____________是合法的变量名. A. abs B. Cal C. cdc d D. Abe_10第 45 题下列______是正确的 VB 常量. A. D-6 B. E-6 C. 5D D. 5E-6第 46 题若在模块中用 Private Function Fun(A as Single,B as Integer) A. Fun 3.14,J B. Call Fun(I,365) C. Fun(I),(J) As Integer 定义了函数 Fun.调用函数 Fun D. K=Fun(&24&,&35&) 的过程中定义了 I、J 和 K 三个 Integer 型变量,则下列语句中不能正确调用函数 Fun 的语句是___________.第 47 题若需要在同一窗体内安排两组相互独立的单选按钮(OptionButton),可使用______控件做容器将它们分开. ①TextBox A. ①或② ②PictureBox B. ②或③ ③ Image C. ②或④ ④ Frame D. ③或④第 48 题以下关于文件的叙述中,错误的是__________。 A. 用 Output 模式打开一个顺序文件,即使不对它进行写操作,原来的内容也被清除 B. 可以用 Print #语句或 Write# 语句将数据写到顺序文件中 C. 若以 Output、Append、Random、Binary 方式打开一个不存在的文件,系统会出错 D. 顺序文件或随机文件都可以用二进制访问模式打开第 49 题窗体上有若干命令按钮和一个文本框,程序运行时焦点置于文本框中,为了在按下回车键时执行某个命令按钮的 Click 事件过程,需要将该按钮的_________属性设置为 True. A. Enabled B. Default C. Cancel D. Visible第 50 题数学表达式x5? cos 29x?对应的 VB 表达式是______(e? ln y ) ? 5A. (x^5-Cos(29))/Sqr(e^x+In(y))+5 B. (x^5-Cos(29))/(Sqr(Exp(x)+Log(y))+5)6 C. (x^5-Cos(29*3.))/(Sqr(Exp(x)+Log(y))+5) D. (x^5-Cos(29*3.))/(Sqr(e^x+Log(y))+5二、填空_共 20 题(选:15 空*2’=30 分)――阅读理解:填写程序的输出结果 第1题运行下列程序,单击 Command1, 在窗体上显示的第一行内容是______【1】____, 第二行的内容是_____【2】____, 第三行的内容是_____【3】______。 Option Explicit Private Sub Command1_Click() Dim s As String s=&Basic& Call trans(s) End Sub Private Sub trans(s As String) Dim j As Integer,t As String Dim k As Integer k=3 Do j=InStr(s,&a&) t=LCase(Right(s,j)) s=Right(t,Len(s)-k) & Left(s,Len(t)) k=k-1 Print s Loop Until k=0 End Sub第2题执行下面程序,单击 Command1,则窗体上显示的第一行是_【1】___,第三行是__【2】__,最后一行是 __【3】__。 Option Explicit Private Sub Command1_Click() Dim x As Integer,y As Integer x=12:y=0 Do While x& 0 If x Mod 4=0 Then y=y+x Else y=y-x End If x=x-3 Print x,y Loop End Sub第3题执行下面的程序,单击 Command1,窗体上显示的第一行是______【1】_____,第二行是______【2】____,第四行是 ______【3】_____。 Option Explicit7 Private Sub Command1_Click() Dim a As Integer, b As Integer a=1 : b=1 Call sub1(a, b) Print a, b End Sub Private Sub sub1(a As Integer, b As Integer) a=a+b : b=b+a Print a, b If a&10 Then a=a+b b=b+a Else Call sub1(a, b) End If End Sub第4题运行下面的程序,单击 Command1,在窗体上显示的变量 a 的值为____【1】______,变量 b 的值为_____【2】____, 变量 c 的值为_____【3】______。 Option Explicit Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer a=5: b=10: c=15 Print fun(a,b,c)+fun(a,b,c) Print a,b,c End Sub Private Function fun(x As Integer, y As Integer, z As Integer) As Integer z=x x=x+y y=y+z fun=x+y End Function第5题执行下面的程序,连续三次单击命令按钮 Command1 之后,A 数组共有 【2】 ,A(4)的值是 【3】 。 Option Explicit Option Base 1 Private Sub Command1_Click() Static A( ) As Integer,n As Integer Dim i As Integer,k As Integer k=n n=n + 2 ReDim Preserve A(n) For i=k+1 To Next i8【1】个元素;数组元素 A(2)的值'nA(i)=i*n+1 For i=1 To n Print A(i); Next i Print End Sub第6题运行下面程序,单击 Command1,在窗体上显示的变量 A 的值为___【1】____,变量 B 的值为____【2】______。 Option Explicit Dim a As Integer Private Sub Command1_Click() Dim b As Integer b = 3 a = 4 b = fun(fun(a, b + 2), a) + b Print a, b End Sub Private Function fun(n As Integer, k As Integer) n = n + a k = n - k fun = n + k + a End Function第7题执行下面的程序,单击 Commandl,则窗体上第一行显示的是 Option Explicit Dim x As Integer Private Sub Command1_Click() Dim y as X=10:Y=2 Call process(y) Print X,Y Call process((y)) Print X,Y End Sub Private Sub process(n As Integer) Dim y As Integer If n&0 Then x=x-n y=x Else x=x+n y=x+2 End If n=-n End Sub Integer 【1】 ,第二行显示的是 【2】 。第8题执行下面程序, 单击 Command1, 窗体上显示的第一行是__ 【1】 ___, 第二行是___ 【2】 ___, 第四行是___ 【3】 _______,9 最后一行是___【4】_____. Option Explicit Private Sub Command1_Click() Dim n As Integer n = 5 Call test(n) Print n End Sub Private Sub test(ByVal n As Integer) Dim i As Integer, s As Integer If n & 0 Then For i = 1 To n s = s & CStr(i) Next i Print s Call test(n - 2) Else Print &OVER& End If End Sub第9题运行下列程序,单击 Command1,在窗体上显示的第一行内容是 容是 【3】 。 (&A&的 ASCII 码是 65,&Z&是 90) Option Explicit Private Sub Command1_Click() Dim i As Integer, st As String, n As Integer, p As String * 1 p = &B& For i = 3 To 1 Step -1 n = Asc(p) - i If n & 65 Then n = n + 26 st = Chr(n) st = st & F(i) Print st Next i End Sub Private Function F(n As Integer) Dim i As Integer Static s As Integer For i = 1 To n s = s + i Next i F = s End Function 【1】 ,第二行的内容是 【2】 ,第三行的内第 10 题执行下面的程序, 单击 Command1, 输出的变量 i 的值是 【1】 , 变量 j 的值是 【2】 , 变量 k 的值是 【3】 。 Option Explicit10 Private Sub Command1_Click() Dim i As Integer,j As Integer Dim k As Integer i=10 j=4 k=Funk(i,j) Print i,j,k End Sub Priate Function Funk(ByVal A As Integer,B As Integer) As Integer A=A+B B=B-2 If B=0 Or B=1 Then Funk=1 Else Funk=A+Funk(A,B) End If End Function第 11 题运行下面程序,如果连续三次单击命令按钮之后,A数组共有___【1】___个元素;数组元素 A(2)的值是__【2】 ____,A(5)的值是__【3】______. Option Explicit Option Base 1 Private Sub Command1_Click() Static a() As Integer, n As Integer Dim i As Integer, k As Integer k = n n = n + 2 ReDim Preserve a(n) For i = k + 1 To n a(i) = i * n + 1 Next i For i = 1 To n Print a(i); Next i Print End Sub第 12 题执行下面的程序, 单击 Command1,在窗体界面上显示的第一行是 【1】 , 第二行是 【2】 , 第三行是 【3】 第四行是 【4】 。 Option Explicit Private Sub Command1_Click() Dim a As Integer,b As Integer,i As Integer i=1218 a=i\100 b=i Mod 100 If b&&0 Then11, Print a Print b . Print Lcd((a),(b));a;b Print Lcd(a,b);a;b End If End Sub Private Function Lcd(x As Integer,Y As Integer) As Integer Dim d As Integer If x&y then d=x:x=y:y=d End If d=x Do If x Mod y=0 Then Lcd=x Exit Do Else x=x+d End If Loop End Function第 13 题执行以下程序, 单击 Command1, 则在 Picturel 上显示的第一行是 【1】 , 第二行是 【2】 , 第三行是 【3】 Option Explicit Private Sub Command1_Click() Dim A(3,3) As Integer,i As Integer,j As Integer Dim k As Integer i=3:j=2:A(i,j)=1:k=1 Do Until k&9 k=k+1 If i+1&3 And j+1&=3 Then i=1:j=j+1 ElseIf Elself i+1&=3 And j+1&3 Then i+1&3 And j+1&3 Then i=i+1:j=1 i=i-1 ElseIf i+1&=3 And j+1&=3 And A(i+1,j+1)&&0 Then i=i-1 Else i=i+1:j=j+1 End If A(i,j)=k Loop For i=1 To 3 For j=1 To 3 Picture1.Print A(i,j); Next j12。 Picture1.Print Next i End Sub第 14 题执行下列程序,单击 Command1,在窗体上显示的第一行内容是__【1】__,第二行的内容是__【2】__, 第三行的内容是_【3】___。 Option Explicit Private Sub Command1_Click Dim n As Integer ,i As Integer n=2 For i=7 To 1 Step -1 Call sub2(i,n) Print i,n Next i End Sub Private Sub sub2(x As Integer,y As Integer) Static n As Integer Dim i As Integer For i =2 To 1 Step -1 n =n+x x =x-1 Next i y=y+n End Sub第 15 题执行下列的程序,单击 Command1,在窗体上显示的变量 b 的值为__【1】__,变量 c 的值为___【2】_, 变量 z 的值为__【3】__。 Private Sub Command1_Click() Dim b As Integer,c As Integer,z As Integer b=2 c=1 z=fun(b,fun(b+1,c))+b-c+1 Print b,c,z End Sub Private Function fun(x As Integer,ByVal y As Integer) As Integer x=x-y y=x+y+2 fun=y-x End Function第 16 题执行下面程序,单击 Command1,窗体上显示的第一行是____【1】____,第二行是_____【2】____,第四行是__【3】 ______. Option Explicit Private Sub Command1_Click() Dim a As Integer, b As Integer, i As Integer a=2:b=513 For i=a To a*b Step a Call sub1(i,a,b) Print a,b Next i Print a,b,i End Sub Private Sub sub1(i As Integer, a As Integer, b As Integer) i=i+1 a=a+1 b=b+1 End Sub第 17 题执行下面程序,单击 Command1,窗体上显示的第一行是__【1】__,第二行是__【2】__,第三行是_【3】 ___。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim sa (3,3) As String*1,i As Integer,j As Integer,k as Integer k=1 For i=1 To 3 For j=1 To 3 sa(i,j)=Chr(Asc(&A&)+(k+i+j) Mod 26) Print sa(i,j);& &; k=k+3 Next j Print Next i End Sub第 18 题执行下面程序,单击 Command1,则数组元素 a(1,2)的数值是____【1】_____,a(3,3)的数值是____【2】______,图 片框中最后一行显示的是____【3】_____. Option Explicit Private Sub Command1_Click() Dim a(4,4) as Integer, i as Integer, j as Integer Dim k As Integer, num as Integer num=0 For k=1 To 4 For i=1 To k-1 num=num+1 a(i,k)=num next i For j=k To 1 Step -1 num=num+1 a(k,j)=num next j next k14 For i=1 To 4 For j=1 To 4 Picture1.Print Right(& Next j Picture1.Print Next i End Sub & & a(i,j),3);第 19 题执行下面程序,单击 Command1,则图片框中显示的第一行是___【1】___,显示的第二行是_____【2】___,最后 一行显示的是___【3】_____. Private Sub Command1_Click() Dim a(3, 3) As Integer Dim i As Integer, j As Integer For i = 1 To 3 For j = 3 To 1 Step -1 If i &= j Then a(i, j) = i - j Else a(i, j) = j - i End If Next j Next i For i = 1 To 3 For j = 3 To 1 Step -1 Picture1.Print a(i, j); Next j Picture1.Print Next i End Sub第 20 题执行下面程序,单击 Command1,则窗体上显示的第一行是 Option Explicit Private Sub Command1_Click() Dim a As String,i As Integer Dim x As String,z As String a=&iamstudent& i=InStr(5,a,&d&) Do x=Mid(a,i,3) z=Right(x,1) z=UCase(x & Z) i=i-2 Print z Loop Until i=1 End Sub 【1】 ,第二行是 【2】 ,第三行是 【3】 。15 三、程序填空_共 16 题(选:10 空*2’=20 分)――完形填空:把题目中空的程序代码行补齐 第1题'本程序的功能是把由4个&.&分隔的十进制数表示的 IP 地址转换为由 32 位二进制数组成 '的 IP 地址。 例如十进制表示的 IP 地址为 202.119.191.1,其中每个十进制数对应一个 8 位 '的二进制数,合起来构成一个 32 位二进制的 IP 地址 。 '过程 Tiqu 用于提取十进制 IP 地址中每个用&.&分隔的十进制数; '过程 Convert 用于将十进制数转换为相应的 8 位二进制数。程序界面参见下图。 Option Explicit Private Sub Command1_Click() Dim str1 As String, str2 As String Dim a(4) As Integer, i As Integer str1 = Text1.Text Call Tiqu(str1, a) For i = 1 To 4 If a(i) & 0 Or a(i) & 255 Then MsgBox(&IP 地址错误!&) Exit Sub Else '**********SPACE********** 【?】 End If Next i Text2.Text = str2 End Sub Private Sub Tiqu(st As String, a() As Integer) Dim n As Integer, k As Integer, s As String, d As String * 1, i As Integer n = Len(st): k = 0: s = && For i = 1 To n '**********SPACE********** 【?】 If d = &.& Then k = k + 1 a(k) = Val(s) '**********SPACE********** 【?】 Else s = s & d End If Next i a(4) = s End Sub Private Function convert(ByVal n As Integer) As String Dim b As Integer, i As Integer, s As String Do While n & 0 b = n Mod 2 n = n \ 216 '**********SPACE********** 【?】 Loop For i = 1 To 8 - Len(s) s = &0& & s Next i '**********SPACE********** 【?】 End Function第2题'下面程序的功能是:统计存放在数组 A 中的 N 个数有多少个是不同的。 '具体做法是:变量 Left 指向要被处理的数(从第 2 个元素开始) , 'Right 指向数组最后一个元素。若 A(Left)与排在它前面的某个数组元素值相同, '就用数组元素 A(Right)的值来替换 A(Left)的值,同时将变量 Right 的值减 1; '否则将变量 Left 的值加 1,处理数组下一个元素,重复以上过程,直到 Left&Right 为止。 'Right 的值即为不同的数的个数。程序界面参见下图所示。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim A() As Integer, N As Integer, I As Integer Dim OP As Integer N = InputBox(&请输入数据个数&, , 10) ReDim A(N) Randomize For I = 1 To N A(I) = Int(Rnd * 10) + 1 Text1 = Text1 & A(I) & & & Next I Call statistic(A, OP) Text2 = &有 & & OP & & 个不同的数: & For I = 1 To OP Text2 = Text2 & A(I) & & & Next I End Sub Private Sub statistic(A() As Integer, Right As Integer) Dim Left As Integer, K As Integer, I As Integer '**********SPACE********** Right=【?】 Left = 2 Do While Left &= Right '**********SPACE********** K= 【?】 For I = K To 1 Step -1 If A(Left) = A(I) Then Exit For Next I '**********SPACE********** If 【?】 Then17 Left = Left + 1 Else A(Left) = A(Right) '**********SPACE********** 【?】 End If Loop End Sub第3题'下面程序的功能是随机生成小于 100 的诸素数组成的数据。程序界面如下图所示。 Option Explicit Private Sub Command1_Click() Dim p() As Integer,i As Integer,n As Integer Dim st As String,k As Integer Randomize k =InputBox(&元素个数;&,,20) ReDim p(k) Do n =Int(Rnd*90)+10 '**********SPACE********** If 【?】 Then i =i+1 p(i) =n End If '**********SPACE********** Loop Until【?】 For i =1 To UBound(p) st =st & Str(p(i)) If i Mod 10 =0 Then st =st & vbCrLf Next i Text1 =st End Sub Private Function prime(n As Integer) As Boolean Dim i As Integer Prime =True For i =2 To Sqr(n) If n Mod i =0 Then '**********SPACE********** 【?】 Exit For End If Next i End Function第4题'用以下公式求 f(x) 的值。当通项的绝对值小于 10^-7 时停止计算,x 的值由键盘输入。18 '程序界面和公式参考图片所示: Option Explicit Private Sub Command1_Click() Dim x As Single, fx As Single Dim a As Single, a1 As Single, a2 As Single Dim t As Single a1 = 1: a2 = 2 x = Text1 '**********SPACE********** If 【?】Then MsgBox (&x 必须在-1~1 之间&) Exit Sub End If fx = a1 * x - a2 * x * x t = (-1) * x * x Do a = 1 / (a1 + a2) t = (-1) * t * x '**********SPACE********** fx = 【?】 a1 = a2 '**********SPACE********** 【?】 Loop Until Abs(a * t) & 0.0000001 Text2 = fx End Sub第5题'下面程序的功能是:首先生成一个由小到大已排好序的整数数组,再输入一个数据, '单击&插入&按钮会自动把这个数据插人到原数组适当的位置,并保持数组的有序性。 '程序界面参见下图。 Option Explicit Dim a( ) As Integer Private Sub Form_Activate() Dim i As Integer ReDim a(10) For i=1 To 10 a(i)=(i-1)*10+1 Text1=Text1 & Str(a(i)) Next i Text2.SetFocus '生成有序数组19 End Sub Private Sub Command1_Click() Dim n As Integer,i As Integer n=Text2 For i=1 To UBound(a) '**********SPACE********** If 【?】Then Exit For Next i '**********SPACE********** 【?】 For i=1 To UBound(a) Text3=Text3 & Str(a(i)) Next i End Sub Private Sub inst(P() As Integer,n As Integer,k As Integer) '数组元素移位并实现插入 Dim i As Integer '**********SPACE********** 【?】 For i=UBound(P)-1 To k Step -1 '**********SPACE********** 【?】 Next i P(k)=n End Sub '确定插入的位置第6题'下面程序的功能是:将输入的 2 位 16 进制数的每一位转换为一个 4 位的二进制数, '再组合成为一个 8 位的二进制数。程序界面参见下图。 Option Explicit Private Sub Command1_Click() Dim h As String, h1 As String * 1,h2 As String * 1 h=Text1 h1=Left(h,1): h2=Right(h,1) Text2=h2b(h1) & h2b(h2) End Sub Private Function h2b(p As String) As String Dim st As String, i As Integer st=″ABCDEF″ For i=1 To Len(st) '**********SPACE********** If 【?】 Then Exit For Next i i=i-1 Do '**********SPACE********** h2b=【?】 i=i\2 Loop Until i&=020 '**********SPACE********** h2b=【?】 End Function第7题'用以下公式(公式如下图所示)求 Sin(x)的值.当级数通项的绝对值小与 eps=10^-7 时停止3 5 2 n ?1sin( x ) ? x ?x?x? ? ? ? ( ? 1)nx3!5!( 2 n ? 1)!? ? ? , | x |? ? , n ? 0 ,1, 2 , ? ?'计算,x 的值由键盘输入. ' 请完善如下程序 Option Explicit Private Sub Form_Click() Dim x As Double,t As Double,n As Integer,sum As Double Const eps=0.0000001 X =Val(InputBox(&请输入 x:&)) '**********SPACE********** 【?】 sum =t n =1 '**********SPACE********** Do Until t =-t '**********SPACE********** t =【?】 sum =sum+t n =n+1 Loop Print &Sin(&;x;&)=&;Format(sum,&0.000&) End Sub 【?】第8题'下面程序的功能是:在文本框 1 中输入若干以空格分隔的整数(末尾无空格) , '程序自动将输入的数据分解并存储到一个一维数组, '再把数组中所有重复的元素删除(只保留一个) ,并输出到文本框 2。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim a() As Integer, i As Integer, st As String Dim k As Integer, p As Integer st=Text1 Do p=InStr(st,& &) If p&&0 Then '**********SPACE********** 【?】 ReDim Preserve a(k) a(k)=Val(Left(st,p-1))21 st=Right(st,Len(st)-p) Else '**********SPACE********** 【?】 a(k+1)=Val(st) End If '**********SPACE********** Loop Until【?】 Call del(a) For i= 1 To UBound(a) Text2=Text2 & Str(a(i)) Next i Text2=LTrim(Text2) End Sub Private Sub del(a() As Integer) Dim i As Integer, j As Integer, k As Integer Do i=i+1 j=i+1 Do While j&=Ubound(a) '**********SPACE********** If 【?】Then For k=j To UBound(a)-1 a(k)=a(k+1) Next k ReDim Preserve a(UBound(a)-1) Else '**********SPACE********** 【?】 End If Loop Loop Until i&UBound(a) End Sub第9题'下面程序的功能是将给定整数 N 表示成若干个质数因子相乘的形式(分解质因数). '程序界面参见下图。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim n As Integer,a() As Integer Dim st As String,i As Integer n =Text1 Call fenjie(n,a) st =CStr(n) & &=& For i =1 To UBound(a)-1 St =st & a(i) & &*&22 Next i Text2 =st & a(i) End Sub '**********SPACE********** Private Sub fenjie(【?】) Dim k As Integer,i As Integer k =2 Do If n Mod k =0 Then i =i +1 ReDim Preserve a(i) a(i) =k '**********SPACE********** 【?】 Else '**********SPACE********** 【?】 End If '**********SPACE********** Loop Until【?】 End Sub第 10 题'学生的某次课程测验中,选择题的答案已记录在列表框 List1 中, '其数据行格式是:学号为 6 个字符长度、2 个空格、选择题的答案为 15 个字符长度。 '程序根据标准答案进行批改,每答对一题给 1 分,并将得分存放到列表框 List2 中。 '标准答案存放在变量 Exact 中。程序界面参考图片所示。 Option Explicit Private Sub Command1_Click() Dim Anw As String, StudId As String Dim Scor As Integer, Exact As String Dim I As Integer, J As Integer Exact = &ABCCBAACBBDCCDA& '标准答案 '**********SPACE********** For I = 【?】 '**********SPACE********** Anw = 【?】 StudId = Left(Anw, 6) Anw = Right(Anw, Len(Anw) - 8) '**********SPACE********** 【?】 For J = 1 To Len(Anw) '**********SPACE********** If 【?】Then Scor = Scor + 1 End If Next J23 List2.AddItem StudId & & & & Scor Next I End Sub第 11 题'下面程序的功能是:输入一个 n 位的整数(n≤10),求出由这 n 个数字组成的 n 位的 '最小整数和最大整数。 Option Explicit 0ption Base 1 Private Sub Command1_Click() Dim n As Long,a() As String n=Text1 Call change(n,a) Call sort(a) For i=1 To UBound(a) large=a(i) & large '**********SPACE********** small=【?】 Next i Text2=large For i=1 To Len(small) '**********SPACE********** If 【?】 Then Exit For Next i If i&&1 Then small =Mid(small, i ,1) & Left(small,i-1) & Right(small,Len(small)-i) End If Text3=small End Sub Private Sub sort(a() As Integer) For i=1 To UBound(a)-1 For j=1 To UBound(a)-i '*********SPACE********** If 【?】 Then t =a(j) a(j)=a(j+1) a(j+1)=t End If Next j Next i End Sub '**********SPACE********** Private Sub change(【?】) Dim k As Integer Do k=k+1 ReDim Preserve a(k)24'冒泡法排序Dim i As Integer,j As Integer,t As Integer a(k)=n Mod 10 '**********SPACE********** n=【?】 Loop Until n=0 End Sub第 12 题'下面程序的功能是计算如图所示的值。请完善如下程序:Option Explicit Private Sub Command1_Click() Dim n As Integer, st As String, i As Integer Dim k As Single, s As Single, j As Integer n=Text1 s=1 For i =2 To n '**********SPACE********** 【?】 For j =1 To i st=st & CStr(i) next j '**********SPACE********** k=【?】 s=s + k Next i Text2=s End Sub第 13 题' 在计算机中用一个字节(8 位)来存储一个字符的 ASCII 码, ' 其中低 7 位二进制数对应字符的编码,每个字节的最高位一般保持为&0&, ' 在数据传输时可用作奇偶校验位。传输时 ASCII 代码转换成传输码的方法是, ' 若 7 位 ASCII 码有偶数个 1,则最高位为 1。有奇数个 1,则最高位为 0。 ' 例如字母&A&的 ASCII 码十进制表示为 65,二进制表示为 。 ' &A&的传输码则为&&。本程序的功能就是把 ASCII 代码转换成这种传输码。 ' 程序参考界面如下图所示。 Option Explicit Private Sub Command1_Click() Dim i As Integer, s As String Dim str As String, ch As String str = Text1.Text For i = 1 To Len(str) '**********SPACE********** 【?】 Call convert(ch, s) List1.AddItem ch & &==&& & s25 Next i End Sub Private Sub convert(ch As String, s As String) Dim m As Integer, k As Integer, n As Integer, i As Integer '**********SPACE********** s= 【?】 n = Asc(ch) Do While n & 0 '**********SPACE********** 【?】 s = m & s If m = 1 Then k = k + 1 End If n = n \ 2 Loop For i = 1 To 7 - Len(s) s = &0& & s Next i If k Mod 2 = 0 Then '**********SPACE********** 【?】 Else s = &0& & s End If End Sub '将字符的二进制代码补足 7 位第 14 题'下面程序的功能是:找出仅由数字 1、2、3、4 组成的 4 位素数,要求每个素数由 4 个不 '同数字组成。算法提示:函数 Validate 用于验证一个 4 位数是否由 4 个不同数字组成。 '在函数中用 A 数组的各个元素分别对应数字 0~9,只要某数字出现在四位数中,无论几次, '均将该数字对应的数组元素值置为 1。程序界面参见下图。 Option Explicit Private Sub Command1_Click() Dim i As Integer,Flg As Boolean For i=1234 To 4321 '**********SPACE********** 【?】 Call Prime(i,Flg) If Flg Then If Validate(i) Then Text1=Text1 & i & vbCrLf . Next i End Sub Private Sub Prime(n As Integer,f As Boolean) Dim k As Integer26End If End If For k=2 To Sqr(n) '**********SPACE********** 【?】 Next k f=True End Sub Private Function Validate(n As Integer) As Boolean Dim A(0 To 9)As Integer,s As String,i As Integer Dim s1 As String*1 '**********SPACE********** 【?】 For i=1 To Len(s) s1=Mid(s,i,1) '**********SPACE********** 【?】 Next i If A(1)+A(2)+A(3)+A(4)=4 Then '**********SPACE********** 【?】 End If End Function第 15 题'本程序的功能是利用无穷级数求 cos(x)的近似值,已知公式如图所示:'当第 n 项的绝对值小于等于 10^-7 时计算终止。程序界面参见下图。 Option Explicit Private Sub Command1_Click() Dim X As Single, n As Integer, sum As Single Dim a As Single X = Text1 '**********SPACE********** 【?】 a = 1 n = 1 Do a = -a '**********SPACE********** a = 【?】 sum = sum + a n = n + 1 '**********SPACE********** Loop Until 【?】 Text2 = sum End Sub27 第 16 题'定义方阵的一种范数为该方阵各列元素的绝对值之和中的最大值。以下程序的功能 '是求一个 4×4 方阵的范数。该方阵的数据是随机生成的-20~20 之间的整数。 '程序界面参见下图。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim a(4,4) As Integer Dim i As Integer,j As Integer For i=1 T0 4 For j=1 To 4 '**********SPACE********** a(i,j)= Next j Picture1.Print Next i '**********SPACE********** Text1.Text= End Sub Private Function fan(a()As Integer) As Integer Dim b(4) As Integer,max As Integer Dim i As Integer,j As Integer For i=1 To 4 For j=1 To 4 '**********SPACE********** b(j)=【?】 Next j Next i max=b(1) For i=2 To 4 If max&b(i) Then max=b(i) Next i fan=max End Function 【?】 【?】 & & Str(a(i,j)),4); Picture1.Print Right(&四、程序改错_共 7 题(选:3 错*4’=12 分) 第1题'【题目】从 10 个各不相同的正整数中,剔除若干个 '数。使得保留下来的数中, ' 任意两个数的和都不是平方数 '(所谓平方数就是该数等于某一个数的平方,例如 '4 就是一个平方数) 。 Option Explicit Option Base 1 Private Sub Command1_Click()28 Dim a(10) As Integer, i As Integer, j As Integer, p As Integer, k As Integer '**********FOUND********** Do While p & 10 k = Int(20 * Rnd) + 1 For j = 1 To p '**********FOUND********** If k = a(j) Then Exit for Next j If j & p Then p = p + 1 a(p) = k Text1 = Text1 & Str(k) End If Loop Call delete(a, p) For i = 1 To p Text2 = Text2 & Str(a(i)) Next i End Sub Private Sub delete(a() As Integer, p As Integer) Dim idx As Integer, j As Integer, sum As Integer idx = 2 Do While idx & p For j = 1 To idx - 1 sum = a(idx) + a(j) If Int(Sqr(sum)) = Sqr(sum) Then Exit For Next j '**********FOUND********** If j &= idx - 1 Then a(idx) = a(p) p = p - 1 Else idx = idx + 1 End If Loop End Sub第2题'【题目】本程序的功能是生成一组(10 个)两位的互质 '数。 '一组互质数是指其中任意两个数之间都不存在除 1 以外 '的任何公约数。 Private Sub Command1_Click() Dim i As Integer, k As Integer, num(10) As Integer Dim flag As Boolean, n As Integer29 num(1) = Int(Rnd * 90) + 10 k = 1 Do '**********FOUND********** flag =flase n = Int(Rnd * 90) + 10 For i = 1 To k If gcd(num(i), n) && 1 Then flag = False Next i If flag Then k = k + 1 num(k) = n End If Loop Until k = 10 For i = 1 To 10 Text1 = Text1 & Str(num(i)) Next i End Sub '**********FOUND********** Private Function gcd(ByVal m%, ByVal n%) As Integer Dim r As Integer Do r = m Mod n m = n n = r Loop Until r = 0 '**********FOUND********** gcd = m End Function第3题'【题目】本程序的功能是:把 10~20 范围内的数分别表示成若干个质因子连乘的形式。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim j As Integer, pf() As Integer, i As Integer Dim st As String For i = 10 To 20 Call prime_f(i, pf) st = CStr(i) & &=& '**********FOUND********** For j = 1 To UBound(pf)-1 st = st & Str(pf(j)) & &*& Next j st = st & Str(pf(j)) List1.AddItem st Next i End Sub30 '**********FOUND********** Private Sub prime_f(ByVal n As Integer, a() As Integer) Dim i As Integer, k As Integer i = 2 Do If n Mod i = 0 Then k = k + 1 ReDim Preserve a(k) a(k) = i n = n \ i Else i = i + 1 End If '**********FOUND********** Loop Until n &= 1 End Sub第4题'[题目]本程序的功能是: 查找 800-1200 范围内的所 '有具有两个相同数字的素数。 '例如 811、877 等都是符合要求的数据。 Option Explicit Private Sub Command1_Click() Dim i As Integer For i = 800 To 1200 If validate(i) And prime(i) Then List1.AddItem i End If Next i End Sub '**********FOUND********** Private Function validate(n As Integer) As Boolean Dim num() As Integer, k As Integer Dim i As Integer, j As Integer Do k = k + 1 '**********FOUND********** ReDim preserve num(k) num(k) = n Mod 10 n = n \ 10 Loop Until n &= 0 k = 0 For i = 1 To UBound(num) - 1 For j = i + 1 To UBound(num) If num(i) = num(j) Then k = k + 1 Next j Next31 If k = 1 Then validate = True End Function Private Function prime(n As Integer) As Boolean Dim i As Integer For i = 2 To Sqr(n) '**********FOUND********** If n Mod i = 0 Then Exit Function Next i prime = True End Function第5题'题目: 本程序功能是查找给定范围内满足以下条件' 的整数数对。 '条件 1 是每个整数的各位数字各不相同, 且不得为' 数字 0, '条件 2 是第二个数等于第一个数的两倍。 '例如 123 和 246 就是符合条件的数对。 Option Explicit Private Sub Command1_Click() Dim i As Integer Dim n As Integer For i = 123 To 5678 n = i * 2 If fun(i) And fun(n) Then List1.AddItem &(& & i & &,& & n & &)& End If Next i End Sub '**********FOUND********** Private Function fun(Byval n As Integer) As Boolean Dim a() As Integer, i As Integer, j As Integer Do i = i + 1 ReDim Preserve a(i) a(i) = n Mod 10 If a(i) = 0 Then Exit Function n = n \ 10 '**********FOUND********** Loop Until n= 0 For i = 1 To UBound(a) - 1 For j = i + 1 To UBound(a) '**********FOUND********** If a(i) = a(j) Then Exit For Next j Next i fun = True32 End Function第6题'[题目]本程序的功能是:随机生成一个有 n 个元素的数组(n 由 inputBox 函数) , '找出其中的最大元素并将它删除,再输出删除后的数组。 Option Explicit Option Base 1 Dim a() As Integer, n As Integer Private Sub Command1_Click() Dim i As Integer n = InputBox(&请输入数组个数&, , 10) ReDim a(n) For i = 1 To n a(i) = Int(Rnd * 100) + 1 Text1 = Text1 & Str(a(i)) Next i Call Lookup(a) '**********FOUND********** For i = 1 To n-1 Text2 = Text2 & Str(a(i)) Next i End Sub Private Sub Lookup(a() As Integer) Dim Maxv As Integer, maxp As Integer, i As Integer Maxv = a(1): maxp = 1 For i = 2 To n If a(i) & Maxv Then Maxv = a(i): maxp = i End If Next i Call move_f(a, maxp) End Sub Private Sub move_f(a() As Integer, k As Integer) Dim i As Integer For i = k + 1 To UBound(a) '**********FOUND********** a(i-1) = a(i) Next i '**********FOUND********** ReDim preserve(UBound(a) - 1) End Sub第7题'【题目】本程序的功能是:找出介于 100、999 之间的 ''由三个不同数字组成的完全平方数。 '所谓完全平方数是指平方根为整数的数。例如,529 的 ''各位数字不同,且平方根是 23, '所以 529 是符合要求的数。33 Option Explicit Option Base 1 Private Sub Command1_Click() Dim i As Integer, p As Single For i = 100 To 999 If pf(i) And verify(i) Then p = Sqr(i) List1.AddItem i & &=& & p & &*& & p End If Next i End Sub Private Function pf(n As Integer) As Boolean If Sqr(n) = Int(Sqr(n)) Then pf = True End Function '**********FOUND********** Private Function verify(Byval n As Integer) As Boolean Dim a() As Integer, k As Integer, i As Integer, j As Integer Do k = k + 1 ReDim Preserve a(k) a(k) = n Mod 10 n = n \ 10 '**********FOUND********** Loop Until n &= 0 For i = 1 To UBound(a) - 1 For j = i + 1 To UBound(a) '**********FOUND********** If a(i) = a(j) Then Exit Function Next i verify = True End Function Next j五、程序设计_共 12 题 (选:共 2 题,1 题为 8 分,另一题 10 分=18 分) 第1题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 1) 编写程序,生成一个 4 行 5 列的二维数组,其每 ''个数组元素是随机产生的两位数, ' 求该数组的最大元素及其所在的行号、列号。 ' (若有多个相同的最大元素,则要一一标出其所在 ''行号、列号) ' [算法提示]首先找出最大元素,再将数组中的元素 ''与最大元素一一比较, ' 若有相等元素则输出其所在位置。 ' 窗体设计界面参见已给出的参考界面。34 '【编程要求】 ' 1) 运行程序,按“运行”按钮(Command1),生成一个 4 行 5 列的两位随机整数数组, ' ' ' 按参考界面格式显示在多行文本框 Text1 中,再调用求二维数组最大元素的通用过程, 最后将结果输出到一个多行文本框 Text2 中; (注意代码中不得使用 randomize 语句) 按“清除”按钮(Command2),则将文本框与图片框清空;' 2) 程序中应定义一个名为 maxele 的通用函数过程,用于求二维数组的最大元素。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义函数过程 maxele 的程序代码以及 Command2 的代码 (2)最后完善 Command1_Click()事件过程代码。 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第2题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 编一程序,将一维数组中元素向右循环移位,移位次数键盘输入。 ' 例如,数组各元素的值依次为 1,2,3,4,5,6,7,8,9,10; ' 位移 3 次后,各元素的值依次为 8,9,10,1,2,3,4,5,6,7。 ' 窗体设计界面参见已给出的参考界面。'【编程要求】 ' 1) 数组可定义为固定大小的 10 个元素的数组。 ' ' ' ' ' ' ' 按“输入”按钮(Command1),则用 inputbox 函数逐一输入 “1---10”10 个数据,并显示在文本框 Text1 中。 在文本框 Text2 中输入循环移位位数(请输入 3) 按“移位”按钮,调用通用 Sub 过程 rmove(),实现移位操作,同时将 移位后 10 个数据显示在文本框 Text3 中。 按“清除”按钮 Command2,则将 3 个文本框清空,将焦点置于 Text2 上; 按“退出”按钮 Command3,结束程序运行' 2)程序中应定义一个通用 Sub 过程 rmove(),以实现移位操作。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等35 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 (1)先写出自定义 Sub 过程 rmove()的程序代码 ' ' ' !!!! 注意: ' Command2_Click()过程的结束语句 End Sub 及其它已经给出的代码,均不得删除,否则无分。 (2)然后完成 Command1_Click(),Command3_Click(),Command4_Click()过程代码。 (3)最后完善 Command2_Click()过程代码第3题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 编写程序,随机生成一个 4 行 5 列由两位整数组成的数组,并找出其中所有的谷点元素。 ' 所谓谷点元素是指在本行内为最小,在本列内也为最小的元素。 ' 窗体设计界面参见已给出的参考界面。 '【编程要求】 ' 1)按“生成数组”按钮(Command1),生成随机数组并 '显示到图片框(Picture1)中, ' 按“查找谷点”按钮(Command2),则找出谷点元素, ' 并按图示的格式显示到多行文本框(Text1)中, ' 按“清除”按钮 Command3,清除图片框与文本框。 ' 2) 程序中应定义一个名为 cp 的 Sub 过程,用于查找 数组某行是否有谷点元素。 ' (算法提示:先求出某行最小元素,再判断该元素是 '否在该列也为最小, ' 若是,则为谷点数,否则,谷点不存在。 ) '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义 Sub 过程 cp 的程序代码以及 Command1,Command3 的代码 (2)最后完善 Command2_Click()事件过程代码。 Command2_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第4题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 '编写求前 n 项级数和的程序。求和公式参见已给出的参考图所示。' 1)在文本框 Text1 中输入 x 值 1,文本框 Text2 中输入 n 值 5, ' 按“计算”按钮(Command1),则开始计算并在列表框 List1 中显示 S1,S2,?,Sn;36 ' '按“清除”按钮(Command2),则将两个文本框及列表框清空,焦点置于 Text1 上; 按“退出”按钮(Command3),结束程序运行;' 2)程序中应定义一个名为 fact 的函数过程,用于计算阶乘值。 '【代码书写要求】 ' 1)列表框、文本框、命令按钮的名称必须使用系统默认的名称, ' 如 List1,Text1,Command1 等,否则扣分。 ' 2)窗体设计界面参见已给出的参考界面。' 3)请在“****Program*****”与“****End*****”之间添加程序代码 ' 请在指定区间 ' ' !!!! 注意: ' ' Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。 1)先写出自定义函数 fact 及 Command2,Command3 的程序代码 2)然后完善 Command1_Click()过程代码。第5题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 '编写程序, 以给定的方式标记出方阵中每一行最小元素 '的位置。 '如果某一行有多个数值相等的最小元素, 也要同时标记 '出来。 '标记方式为每一行的最小元素为 0,其他元素为 1。 '窗体设计界面参见已给出的参考界面。 ’【编程要求】 '1)在文本框 Text1 中输入 N 值(要求输入 5) , ' ' ' ' ' 按“执行”按钮,则随机生成一个 N 行 N 列的由两位正整数组成的 N 阶方阵, 并输出到多行文本框 Text2 中,同时求出每一行的最小元素并生成标记矩阵 输出到多行文本框 Text3 中; 按“清除”按钮,则将 3 个文本框清空,将焦点置于文本框 Text1 上; 按“退出” 按钮,结束程序运行;'2)程序中应定义一个求数组某一行的最小元素值的通用 Sub 过程 minx()。 '3)原始方阵数据由随机函数生成(注意:不要使用 randomize 语句) '【代码书写要求】37 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Text2,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 (1)先写出自定义 Sub 过程 minx()的程序代码以及 Command2_Click()、 ' ' ' !!!! 注意: ' ' Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码,均不得删除, 否则无分。 Commnad3_Click()的代码 (2)最后完善 Command1_Click()过程代码。第6题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 '从键盘上输入 6 名同学的成绩,分别为:87,72,56,89,92,66。将这些成绩 '显示在文本框 Text1 中(由 Command1_Click()事件过程完成) 。 '然后按降序对这 6 个成绩进行排序,并将结果显示在文本框 Text2 中 '(由 Command2_Click()事件过程完成) 。窗体设计界面参见已给出的参考界面。'【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Text2,Command1 等 '2)用 inputbox 函数输入成绩。原始成绩必须为上面给出的数据,否则扣分。 '3)请在“****Program*****”与“****End*****”之间添加程序代码第7题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 编写程序,找出随机生成的 30 个无重复数的三位整数中的降序数。 ' 所谓降序数是指百位数大于十位数、且十位数大于个位数。 ' 窗体设计界面参见已给出的参考界面。38 '【编程要求】 ' 1)单击“执行”按钮(Command1),随机生产 30 个无重复数的三位整数, ' 按 10 个数一行的格式显示在多行文本框 Text1 中,再找出其中的降序数输出到列表框 List1; ' 要求程序代码中不得使用 Randomize 语句,否则扣分。 ' 如果数据中无降序数存在,则使用 msgbox 输出“无降序数”信息, ' 按“清除”按钮(Command2),将文本框及列表框清空。 ' 2)程序中应定义一个名为 jx 的函数过程,用于判断一个整数是否为降序。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义函数过程 jx 的程序代码以及 Command2 的代码 (2)最后完善 Command1_Click()事件过程代码。 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第8题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 编写程序,找出 100 以内的所有素数,存放在数组 P 中, ' 并将所找到的素数,按每行 10 个的形式显示在文本框 'Text1 中。 ' 窗体设计界面参见已给出的参考界面。 '【编程要求】 '1)按“找素数”按钮(Command1), 则查找素数,并按格式要 求显示在多行文本框 Text1 中。 '2)程序中应定义一个通用函数过程 Prime(),以判断一个数是否为素数。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 (1)先写出自定义函数过程 Prime()的程序代码39 ' ' !!!! 注意: ' '(2)然后完善 Command1_Click()过程代码 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。第9题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 1) 编写程序,本程序的功能是:首先按给定格式(数据以逗号分隔,-1 表示数据结束) ' ' ' ' 将输入到文本框 Text1 中的数据(12,22,15,25,17,22,19,11,-1)依次存入一个数组 p, 然后为该组数据建立一个按从大到小次序排列的索引表并显示在文本框 Text2 中。 文本框 Text2 中的第一个数据 4 表示文本框 1 中第 4 个数最大; 文本框 2 中的最后一个数据 8 表示文本框 1 中第 8 个数最小。' 2) 窗体设计界面参见已给出的参考界面。'【编程要求】 ' 1)在文本框 Text1 中输入测试数据,按“处理”按钮(Command1), ' ' ' 则按题目要求得到结果并显示在文本框 Text2 中; 按“清除”按钮(Command2),则将 2 个文本框清空,将焦点置于文本框 Text1 上; 按“退出”按钮(Commnad3),结束程序运行。' 2)程序中应定义一个通用 Sub 过程 lnum,用于把 Text1 中的原始数据放入数组 p 中。 ' 3) 程序中应定义一个根据数组元素的大小从大到小取其排列号的通用 Sub 过程 Ind。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义 Sub 过程 lnum()和 Ind()的程序代码以及 Command2、Command3 的代码 (2)最后完善 Command1_Click()事件过程代码。 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第 10 题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】40 '编写程序,找出 50 以内的所有不可表示成两个平方数之和的整数。 '窗体设计界面参见已给出的参考界面。’【编程要求】 '1) 按“执行”按钮 Command1,则开始运行程序,按参考界面格式将符合条件的数 ' ' ' '2) 显示在多行文本框中,每行显示 5 个数; 按“清理”按钮 Command2,则将文本框清空; 按“结束”按钮 Command3,结束程序运行; 程序需创建一个通用 Sub 过程 Sub1,该过程的功能是判断一个数是否是平方数;'3) 显示在文本框中的数据必须按参考界面中的形式对齐。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义 Sub 过程 Sub1 的程序代码以及 Command2、Commnad3 的代码 (2)最后完善 Command1_Click()过程代码。 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第 11 题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 ' 1) 编写程序,找出由 1,2,3,4 四个不同数字组成的 四位整数中的素数。 ' 2) 窗体设计界面参见已给出的参考界面。 '【编程要求】 ' ' ' ' ' 1)单击“开始”按钮(Command1),生成(或筛选出) 组成的 4 位整数,并显示在列表框 List1 中,在列 2)单击“清理”按钮(Command2),则将两个列表框清空; 单击“退出”按钮(Command3),结束程序运行。 3)程序中必须包含一个判断某数是否为素数的通用函数过程 Prime。41由 1,2,3,4 四个数字 表框 List2 中显示其中的素数。 ' '4) 程序中必须包含一个判断某数是否仅由 1--4 构成且各数字仅出现 1 次的 通用函数过程 Compare。'【代码书写要求】 '1)列表框、命令按钮的名称必须使用系统默认的名称,如 List1,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 ' ' ' ' (1)先写出自定义函数过程 Prime 的程序代码以及 Command2、Command3 的代码 (2)最后完善 Command1_Click()事件过程代码。 Command1_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。' !!!! 注意:第 12 题'--------------------------------'【程序设计】 '--------------------------------'【题目要求】 '编写程序,随机生成 10 个[10,99]区间的整数,并用选择法对这十个数进行排序。 '窗体设计界面参见已给出的参考界面。’【编程要求】 '1)按“生成”按钮(Command1),则随机生成(注意:不要使用 randomize 语句) ' ' 10 个两位正整数组成的数列,并输出到文本框 Text1 中 按“排序”按钮(Command2),则将 10 个数排序后显示在文本框 Text2 中'2)程序中应定义一个通用 Sub 过程 ssort(),以实现选择法排序过程。 '【代码书写要求】 '1)文本框、命令按钮的名称必须使用系统默认的名称,如 Text1,Text2,Command1 等 '2)请在“****Program*****”与“****End*****”之间添加程序代码 '3)请在指定区间 (1)先写出自定义 Sub 过程 ssort()的程序代码以及 Command1_Click()过程代码 ' ' ' (2)最后完善 Command2_Click()过程代码。 Command2_Click()过程的结束语句 End Sub 及其它已经给出的代码, 均不得删除,否则无分。 ' !!!! 注意:42
VB 期末考试试题及答案一、 填空题 1、 VB 程序设计的主要特点是 可视化设计 ...12、使用 Data 控件可以直接显示数据库中的数据。X 13、ImageList 是一个图像...大学VB期末考试试题_理学_高等教育_教育专区。VB 期末...12、使用 Data 控件可以直接显示数据库中的数据。X...参考答案: 一、 填空题 (1)MsgBox 函数 (2)其...青岛科技大学信息工程 VB期末考试题库及答案_IT认证_资格考试/认证_教育专区。试卷方案:201105 Visual Basic 期末考试方案一、单项选择_共 50 题(选:20 题*1’...大一VB语言程序期末考试题及答案_IT认证_资格考试/认证_教育专区。VB(Visial Basic)语言程序设计期末考试题库大一VB语言程序设计期末考试题一、选择题 1 下列常量中...大一的vb期末考试题和答案_理学_高等教育_教育专区。大一的 vb 期末考试题和答案 1.在代码中引用一个控件时,应使用控件的( b )属性。 A.Caption B.Name C....VB期末考试试题_教育学_高等教育_教育专区。试题一 一、单项选择题(共 10 分...(8 分) VB 试题答案及评分标准 一、 单项选择题(每题 1 分,共 10 分) ...姓名《 VB 程序设计试题》试题(卷一)(适用班级:10 级 6 系本)
学年第二学期期末试题 得分 二、选择题(每空 2 分,共 40 分) 班级学号 题号...VB期末考试题库2011-05_韩语学习_外语学习_教育专区。VB期末考试题库2011-05 ...对象的所有属性都可以在属性窗口中设置 答案:D 第 2 题题号:3 x?e3 数学...VB期末考试真题试卷及答案四_IT认证_资格考试/认证_教育专区。练习四一、单选题...(D) 这个对话框不能真正实现保存文件 的功能 二、填空题 1.函数 Sin(30 *...大一的vb期末考试题和答案_理学_高等教育_教育专区。VB 期末考试试题 一、 ...13、ImageList 是一个图像容器控件,可用作工具栏的图像库。 14、当用户单击...
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 计算机二级vb题库 的文章

 

随机推荐