VB习题库.docx
- 文档编号:24598521
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:75
- 大小:29.74KB
VB习题库.docx
《VB习题库.docx》由会员分享,可在线阅读,更多相关《VB习题库.docx(75页珍藏版)》请在冰豆网上搜索。
VB习题库
VB程序设计练习题
一程序改错题
1启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是:
从键盘上输入N(0 ,并在窗体上显示计算结果。 请找出程序中的错误并做修改,调试运行后在MODI1.FRM窗体上显示出结果。 改错要求: 程序中共有三个错误,请修改***found***下面的错误。 注意: 要求在指定位置修改,不得增加或删减程序行。 MODI1.BAS的内容是: PublicSubMain() DimSAsSingle,MAsInteger,NAsInteger '**********found********** S=0 M=0 N=Val(InputBox("请输入小于10的整数")) '**********found********** DoWhileM>N M=M+1 S=S*M '**********found********** Enddo MODI1.Print"N! =";S EndSub 2启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 为10行10列的二维数组A赋值,数组A每一维的下界均为0。 请找出程序中的错误并做修改,调试运行后在MODI1.FRM窗体上显示出结果。 改错要求: 程序中共有三个错误,请修改***found***下面的错误。 注意: 要求在指定位置修改,不得增加或删减程序行。 MODI1.BAS的内容是: SubMain() DimiAsInteger,jAsInteger '**********found********** DimA(1TO10,1TO10) ForI=0TO9 ForJ=0TO9 A(I,J)=I*J Modi1.PrintTAB(J*4);A(I,J); '**********found********** Nexti Modi1.Print '**********found********** Nextj EndSub 3启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 程序运行时输出"1236"。 请找出程序中的错误并做修改,调试运行后在MODI1.FRM窗体上显示出结果。 改错要求: 程序中共有三个错误,请修改***found***下面的错误。 注意: 要求在指定位置修改,不得增加或删减程序行。 MODI1.BAS的内容是: SubMain DimS,K,XAsInteger S=0 ForK=1To3 '**********found********** CALLSUBA(K) S=S+x Modi1.Printx; NextK MODI1.PrintS EndSub FunctionSUBA(K)AsInteger SelectCaseK Case1 x=1 Case2 x=2 '**********found********** ELSE x=3 '**********found********** End SUBA=x EndFunction 4启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 调用子程序计算阶乘10! 。 请找出程序中的错误并做修改,调试运行后在MODI1.FRM窗体上显示出结果。 改错要求: 程序中共有三个错误,请修改***found***下面的错误。 注意: 要求在指定位置修改,不得增加或删减程序行。 MODI1.BAS的内容是: SubMain() Dimm,nAsInteger '**********found********** DimsAsInteger Callmulti(10,s) MODI1.Print"10! =";s EndSub PrivateSubmulti(n,s) '**********found********** m=0,s=1 DoWhilem m=m+1 '**********found********** s=s+m Loop EndSub 二程序填空题 1启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 用户输入任何一个1—32767之间的自然数,由程序判断它是否为素数。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() DimnAsInteger,iAsInteger,flagAsInteger n=Val(InputBox("请输入1—32767的自然数")) flag=1 '**********found********** Fori=2To【1】 '**********found********** If【2】Then flag=0 ExitFor EndIf Nexti '**********found********** Ifflag=【3】Then Modi1.Printn;"是素数! " Else Modi1.Printn;"不是素数! " EndIf EndSub 22 启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 打印如下所示图案。 * *** ***** ******* 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() DimiAsInteger,jAsInteger '**********found********** Fori=1To【1】 Modi1.PrintTab(20-i); '**********found********** Forj=1To【2】 Modi1.Print"*"; Nextj '**********found********** Modi1.【3】 Nexti EndSub 3启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 用INPUTBOX()函数输入两个正整数m和n,计算并输出m和n的最大公约数。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() DimmAsInteger,nAsInteger,aAsInteger,findAsBoolean m=Val(InputBox("请输入m")) n=Val(InputBox("请输入n")) a=n '**********found********** find=【1】 DoWhileNotfind If(mModa=0)And(nModa=0)Then find=True ExitDo EndIf '**********found********** a=【2】 Loop '**********found********** Modi1.Print【3】 EndSub 4启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 求一元二次方程的实根或复根并在MODI1.FRM窗体上输出。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: PublicSubMain() DimA,B,CAsInteger DimD,P,QAsDouble A=Val(InputBox("二次项系数: ","数据输入窗口: ")) B=Val(InputBox("一次项系数: ","数据输入窗口: ")) C=Val(InputBox("常数项: ","数据输入窗口: ")) '**********found********** D=【1】 P=-B/(2*A) Q=Sqr(Abs(D))/(2*A) IfD>=0Then '**********found********** Modi1.Print"X1=";【2】 '**********found********** Modi1.Print"X2=";【3】 EndIf IfD<0Then Modi1.Print"X1=";P;"+";Q;"i" Modi1.Print"X2=";P;"-";Q;"i" EndIf EndSub 5启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 求函数f(x)的值。 当自变量x≤0时,函数值为0;当自变量0 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() DimxAsdouble x=Val(InputBox("请输入一个数: ","输入框")) '**********found********** If【1】Then Modi1.Print"f(x)=";0 '**********found********** ElseIf【2】Then Modi1.Print"f(x)=";(1-x)^2 Else '**********found********** Modi1.Print"f(x)=";【3】 EndIf EndSub 6启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 利用随机函数产生10个100-200之间(包含100、200)的随机整数,打印其中是7的倍数的数并求出它们的总和。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() RandomizeTimer DimMAsInteger,XAsInteger,K1AsInteger ForM=1To10 '**********found********** X=Int(Rnd*【1】) '**********found********** If【2】=0Then Modi1.PrintX; K1=K1+X '**********found********** 【3】 NextM Modi1.Print Modi1.Print"k1=";K1 EndSub 7启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 用随机函数产生4行4列的二维数组,求出该数组两个对角线上的数之和。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() Dima(3,3)asinteger Dimiasinteger,jasinteger,sumasinteger Fori=0To3 '**********found********** Forj=【1】 a(i,j)=Int(Rnd*10) Nextj Nexti sum=0 Fori=0To3 Forj=0To3 '**********found********** If【2】Ori=3-jThen '**********found********** sum=【3】 EndIf Nextj Nexti Modi1.Printsum EndSub 8启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 将一维数组的10个元素中的前5个元素与后5个元素对换,即a(0)与a(9)互换,a (1)与a(8)互换,.……a(4)与a(5)互换。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() Dimtemp,iAsInteger '//定义数组a并赋值// a=Array(3,5,9,14,21,7,15,97,48,65) Fori=0To4 '**********found********** temp=【1】 a(i)=a(9-i) '**********found********** a(9-i)=【2】 Nexti Fori=0To9 '**********found********** Modi1.Print【3】; Nexti EndSub 9启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 用INPUTBOX()函数输入一个正整数,计算从1到该数之间(包括1和该数)所有正整数之和。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() DimsumAsInteger,iAsInteger,aAsInteger a=val(InputBox("请输入一个正整数(小于100): ","输入框")) i=1 '**********found********** sum=【1】 Do sum=sum+i '**********found********** i=i+【2】 '**********found********** Loop【3】i>a Modi1.Printsum EndSub 10启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 在7个数中除去最大数和最小数后,求剩余5个数的平均值。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: SubMain() Dimmax_aasdouble,min_aasdouble Dimsumasdouble,aveasdouble '//定义数组a并赋值// a=array(7.5,7.8,9.1,8.7,9.2,8.5,8.1) max_a=0: min_a=10 ForI=0to6 sum=sum+a(i) Ifmin_a>a(i)Then '**********found********** 【1】 EndIf '**********found********** If【2】Then max_a=a(i) EndIf NextI '**********found********** ave=(sum-max_a-min_a)【3】 Modi1.printave EndSub 11启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 将数组A的10个元素从小到大排序。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MODI1.BAS的内容是: OptionBase1 SubMain() DimiAsInteger,jAsInteger A=Array(1,12,3,14,7,6,9,4,18,8) Fori=1To10 Modi1.PrintA(i); Nexti Modi1.Print '**********found********** Fori=1To【1】 '**********found********** Forj=【2】To10 '**********found********** IfA(i)【3】A(j)Then t=A(i) A(i)=A(j) A(j)=t EndIf Nextj Nexti Fori=1To10 Modi1.PrintA(i); Nexti EndSub 12启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 建立一个5×5阶矩阵,该矩阵两条对角线上的元素为1,其余元素为0,请将矩阵打印出来。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MOD1.BAS的内容是: Submain() Dims(5,5)AsInteger ForN=1To5 ForM=1To5 '**********found********** If【1】OrN+M=6Then s(N,M)=1 Else '**********found********** 【2】 EndIf NextM NextN ForN=1To5 '**********found********** ForM=1To【3】 Modi1.PrintTab(M*3);s(N,M); NextM Modi1.Print NextN EndSub 13启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 某校有N个学生,年龄在17到25岁之间,统计各年龄的学生人数。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MOD1.BAS的内容是: Submain() DimageAsInteger,iAsInteger,nAsInteger DimA(17To25)AsInteger Fori=17To25 A(i)=0 Nexti n=Val(InputBox("请输入学生人数: ")) '**********found********** Fori=1To【1】 age=Val(InputBox("请输入每个学生的年龄: ")) '**********found********** 【2】 Nexti '**********found********** Fori=【3】 MODI1.PrintA(i); Nexti EndSub 14启动考生文件夹下的工程文件MODI1.VBP,其中含有MODI1.FRM窗体与MODI1.BAS模块,模块MODI1.BAS中过程MAIN()的功能是: 已知10道选择题的正确答案依次为A、C、B、D、A、A、B、C、D、D,每题2分;利用InputBox对话框输入学生答案,计算出该生的得分,当输入字符E或e时可提前结束输入。 请在【1】、【2】、【3】处将程序补充完整,调试运行后在MODI1.FRM窗体上显示出结果。 注意: 不得增行或删行,也不得更改相关的程序结构! MOD1.BAS的内容是: OptionBase1 Submain() Dima,scoreAsInteger,iAsInteger DimxAsString,stAsString a=Array("A","C","B","D","A","A","B"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 习题