版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷方案:202305VisualBasic期末考试方案一、单项选择_共50题(选:20题*1’第1题以下有关对象属性的说法中,错误的是___________.A.工具箱中的控件并不是VB中所有的控件B.若将Frame的Enabled属性设立为False,则不能使用放置在Frame里面的控件C.对象的Name属性在运营时不能改变D.对象的所有属性都可以在属性窗口中设立第2题数学表达式的VB算术表达式为_______.A.Sin(27)+Sqr(x+Exp3)/(x+y)B.Sin(27*3.14159/180)+Sqr(x+Exp(3))/Abs(x+y)C.Sin(27*3.14159/180)+Sqr(x+e^3)/Abs(x+y)D.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)+0Mod2的运算结果是___.A.1 ﻩB.-1 ﻩC.–2 D.第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,运营printa>b>c的结果是____________.A.Trueﻩ B.FalseﻩﻩC.1ﻩﻩD.犯错第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.ClearD.List1.RemoveItemList1.ListIndex第10题数学表达式相应的VB表达式是__________.A.(e^(2*π*x-5)*Log(x)+(Sin(2x))^3)/Sqr(Sin(x)-Cos(x^2))B.(Exp(2*3.14159*x-5)*Log(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))C.(Exp(2*π*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))D.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.CaseAbs(Y)>6 ﻩB.Case-6To6C.CaseNot(-6To6)ﻩﻩ ﻩD.CaseIs<-6,Is>6第15题以下关于变量作用域的叙述中,对的的是____________.A.窗体中凡用Private声明的变量只能在某个指定的过程中使用B.模块级变量只能用Dim语句声明C.凡是在窗体模块或标准模块的通用声明段用Public语句声明的变量都是全局变量D.当不同作用域的同名变量发生冲突时,优先访问局限性小的变量第16题以下关于数值常量的说法中,错误的是______A.八进制数的表达方法是在数字前面加&OB.十六进制数的表达方法是在数字前面加&HC.在浮点运算中使用D来分隔尾数和指数时,系统将把该数值作为单精度型数解决D.32768是合法的数值常量第17题数学表达式相应的VB表达式是___________.A.Abs(e^x+Sin(30)^3)∕Sqr(x+y))B.Abs(Exp(x)+Sin(30)^3)∕(Sqr(x+y))C.Abs(e^x+Sin(30*3.14159∕180)^3)∕(Sqr(x+y))D.Abs(Exp(x)+Sin(30*3.14159∕180)^3)∕Sqr(x+y))第18题下面的4个表达式中,有关_________个可以对Single类型变量x(正数)的第3位小数对的地进行四舍五入计算.Format(x,″#.00″)ﻩInt(100*(x+0.005))/100ﻩCInt(100*(x+0.005)/100ﻩFix(100*(x+0.005))/100A.1个ﻩ B.2个ﻩﻩC.3个 ﻩD.4个第19题执行以下语句时,会出现错误提醒的是__________.A.Print"2b3"+12.5 B.Print"12.5"+12ﻩ C.Print"12.5"&12.5ﻩﻩ第20题以下Case语句具有错误的是___________.A.Case0To10 ﻩﻩB.CaseIs>10ﻩ C.CaseIs>10AndIs<50 D.第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(Str(X),1)&Left(Str(X),1))③Val(Right(CStr(X),1)&Left(CStr(X),1))④Val(Mid(X,2,1)+Mid(X,1,1))A.①② ﻩB.②③ ﻩC.②④ ﻩD.①③④第23题以下关于子过程或函数的定义中,对的的是______A.Subf1(nAsString*1) ﻩﻩ ﻩB.Subf1(nAsInteger)AsIntegerC.Functionf1(f1AsInteger)AsInteger D.Functionf1(ByValnAsInteger)第24题下列有关控件数组的说法中,错误的是______.A.控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组B.控件数组中的所有控件不得具有各自不同的属性设立值C.控件数组中的所有控件共享同一个事件过程D.控件数组中每个元素的下标由控件的Index属性指定第25题以下对数组参数的说明中,错误的是___________.A.在过程中可以用Dim语句对形参数组进行声明B.形参数组只能按地址传递C.实参为动态数组时,可用ReDim语句改变相应形参数组的维界D.只需把要传递的数组名作为实参,即可调用过程第26题要向文献datal.txt添加数据,对的的文献打开命令是_____________.A.Open"datal.txt"ForOutputAs#1B.Open"datal.txt"ForInputAs#1C.Open"datal.txt"ForAppendAs#5D.Open"datal.txt"ForWriteAs#5第27题下面有关数组解决的叙述中,对的的是__________.A.在过程中使用ReDim语句可以改变动态数组数据的类型B.在过程中,可以使用Dim、Private和Static语句来定义数组C.用ReDim语句重新定义动态数组时,可以改变数组的大小,但不能改变数组的维数D.不可以用Public语句在窗体模块的通用处说明一个全局数组第28题下面的表达式中,运算结果为True的是__________.A."abcrd"<="ABCRD" ﻩﻩB.Int(134.69)<=CInt(134.69)C.3>2>1 ﻩﻩ ﻩD.Mid("Visual",1,4)=Right("lausiV",4)第29题设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其________属性置为True,再将ScrollBar属性设立为3.A.MultiLineﻩﻩB.AutoSizeﻩﻩC.Alignment D.RightToLeft第30题下面有关数组的说法中,对的的是______A.数组的维下界不可以是负数B.模块通用声明处有OptionBase1,则模块中数组定义语句DimA(0To5)会与之冲突C.模块通用声明处有OptionBase1,模块中有DimA(0To5),则A数组第一维维下界为0D.模块通用声明处有OptionBase1,模块中有DimA(0To5),则A数组第一维维下界为1第31题下面有关数组的叙述中,不对的的是______.①在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量②数组作为形式参数时,传递的是每个数组元素的值③在窗体模块的通用声明处可以用Public说明一个全局数组④数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值A.②③ﻩ B.①③④ﻩﻩC.①②③④ﻩﻩD.③④第32题下列关于对象SetFocus与GotFocus的描述中,对的的是_____A.SetFocus是事件,GotFocus是方法ﻩ ﻩB.Setfocus和Gotfocus都是事件C.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<=YAndY<Zﻩ C.X≤YORY<Z D.X<=Y<Z第36题以下关于Function过程的说法中,错误的是___________.A.Function过程名可以有一个或多个返回值B.在Function过程内部不得再定义Function过程C.Function过程中可以包含多个ExitFunction语句D.可以像调用Sub过程同样调用Function过程第37题下面的关系表达式中,运算结果为True的是______.A.CInt(1.5)=Int(1.5)ﻩ ﻩB.Fix(1.5)=Int(1.5)C.Fix(-1.5)=CInt(-1.5) D.Fix(-1.5)=Int(-1.5)第38题已知X<Y,A>B,则下列表达式中,结果为True的是______A.Sgn(X-Y)+Sgn(A-B)=-1 ﻩB.Sgn(X-Y)+Sgn(A-B)=-2C.Sgn(Y-X)+Sgn(A-B)=2 ﻩﻩD.Sgn(Y-X)+Sgn(A-B)=0第39题执行__________语句时,会出现犯错提醒信息.A.Print5+7=14 ﻩﻩ ﻩB.Print16384*2C.Print32768*2 ﻩ D.Print"14"+32第40题数学表达式相应的VisualBasic表达式是______.A.Sin(30*3.14159/180)+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.14159/180)+Sqr(Log(x)+y))/(2*3.14159+Exp(x+y))第41题在一个多窗体程序中,可以仅将窗体Form2从内存中卸载的语句是________.A.Form2.Unload ﻩﻩﻩﻩB.UnloadForm2C.Form2.End ﻩD.Form2.Hide第42题Print方法可在______上输出数据.①窗体②文本框③图片框④标签⑤列表框⑥立即窗口A.①③⑥ ﻩB.②③⑤ﻩ C.①②⑤ﻩﻩD.③④⑥第43题若要使逻辑表达式x>yXory<z结果为True,则x、y、z的取值应为下列选项中的_______.A.x=3、y=3、z=4ﻩﻩ B.x=2、y=1、z=2C.x=1、y=3、z=2ﻩﻩﻩ D.x=2、y=2、z=2第44题下列____________是合法的变量名.A.absﻩ ﻩB.–alﻩ C.cdcd ﻩﻩD.Abe_10第45题下列______是对的的VB常量.A.D-6 ﻩ B.E-6ﻩﻩ C.5Dﻩﻩ 第46题若在模块中用PrivateFunctionFun(AasSingle,BasInteger)AsInteger定义了函数Fun.调用函数Fun的过程中定义了I、J和K三个Integer型变量,则下列语句中不能对的调用函数Fun的语句是___________.A.Fun3.14,JﻩﻩB.CallFun(I,365)ﻩ C.Fun(I),(J) ﻩD.K=Fun("24","35")第47题若需要在同一窗体内安排两组互相独立的单选按钮(OptionButton),可使用______控件做容器将它们分开.①TextBox②PictureBox③Image④FrameA.①或② ﻩB.②或③ﻩﻩC.②或④ ﻩ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题数学表达式相应的VB表达式是______A.(x^5-Cos(29))/Sqr(e^x+In(y))+5B.(x^5-Cos(29))/(Sqr(Exp(x)+Log(y))+5)C.(x^5-Cos(29*3.14159/180))/(Sqr(Exp(x)+Log(y))+5)D.(x^5-Cos(29*3.14159/180))/(Sqr(e^x+Log(y))+5二、填空_共20题(选:15空*2’=30分)——阅读理解:第1题运营下列程序,单击Command1,在窗体上显示的第一行内容是______【1】____,第二行的内容是_____【2】____,第三行的内容是_____【3】______。OptionExplicitPrivateSubCommand1_Click()DimsAsStrings="Basic"Calltrans(s)EndSubPrivateSubtrans(sAsString)DimjAsInteger,tAsStringDimkAsIntegerk=3Doj=InStr(s,"a")t=LCase(Right(s,j))s=Right(t,Len(s)-k)&Left(s,Len(t))k=k-1PrintsLoopUntilk=0EndSub第2题执行下面程序,单击Command1,则窗体上显示的第一行是_【1】___,第三行是__【2】__,最后一行是__【3】__。OptionExplicitPrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=12:y=0DoWhilex>0IfxMod4=0Theny=y+xElsey=y-xEndIfx=x-3Printx,yLoopEndSub第3题执行下面的程序,单击Command1,窗体上显示的第一行是______【1】_____,第二行是______【2】____,第四行是______【3】_____。OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=1:b=1Callsub1(a,b)Printa,bEndSubPrivateSubsub1(aAsInteger,bAsInteger)a=a+b:b=b+aPrinta,bIfa>10Thena=a+bb=b+aElseCallsub1(a,b)EndIfEndSub第4题运营下面的程序,单击Command1,在窗体上显示的变量a的值为____【1】______,变量b的值为_____【2】____,变量c的值为_____【3】______。OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegera=5:b=10:c=15Printfun(a,b,c)+fun(a,b,c)Printa,b,cEndSubPrivateFunctionfun(xAsInteger,yAsInteger,zAsInteger)AsIntegerz=xx=x+yy=y+zfun=x+yEndFunction第5题执行下面的程序,连续三次单击命令按钮Command1之后,A数组共有【1】个元素;数组元素A(2)的值【2】,A(4)的值是【3】。OptionExplicitOptionBase1PrivateSubCommand1_Click()StaticA()AsInteger,nAsIntegerDimiAsInteger,kAsIntegerk=n'n=n+2ReDimPreserveA(n)Fori=k+1TonA(i)=i*n+1NextiFori=1TonPrintA(i);NextiPrintEndSub第6题运营下面程序,单击Command1,在窗体上显示的变量A的值为___【1】____,变量B的值为____【2】______。OptionExplicitDimaAsIntegerPrivateSubCommand1_Click()DimbAsIntegerb=3a=4b=fun(fun(a,b+2),a)+bPrinta,bEndSubPrivateFunctionfun(nAsInteger,kAsInteger)n=n+ak=n-kfun=n+k+aEndFunction第7题执行下面的程序,单击Commandl,则窗体上第一行显示的是【1】,第二行显示的是【2】。OptionExplicitDimxAsIntegerPrivateSubCommand1_Click()DimyasIntegerX=10:Y=2Callprocess(y)PrintX,YCallprocess((y))PrintX,YEndSubPrivateSubprocess(nAsInteger)DimyAsIntegerIfn>0Thenx=x-ny=xElsex=x+ny=x+2EndIfn=-nEndSub第8题执行下面程序,单击Command1,窗体上显示的第一行是__【1】___,第二行是___【2】___,第四行是___【3】_______,最后一行是___【4】_____.OptionExplicitPrivateSubCommand1_Click()DimnAsIntegern=5Calltest(n)PrintnEndSubPrivateSubtest(ByValnAsInteger)DimiAsInteger,sAsIntegerIfn>0ThenFori=1Tons=s&CStr(i)NextiPrintsCalltest(n-2)ElsePrint"OVER"EndIfEndSub第9题运营下列程序,单击Command1,在窗体上显示的第一行内容是【1】,第二行的内容是【2】,第三行的内容是【3】。("A"的ASCII码是65,"Z"是90)OptionExplicitPrivateSubCommand1_Click()DimiAsInteger,stAsString,nAsInteger,pAsString*1p="B"Fori=3To1Step-1n=Asc(p)-iIfn<65Thenn=n+26st=Chr(n)st=st&F(i)PrintstNextiEndSubPrivateFunctionF(nAsInteger)DimiAsIntegerStaticsAsIntegerFori=1Tons=s+iNextiF=sEndFunction第10题执行下面的程序,单击Command1,输出的变量i的值是【1】,变量j的值是【2】,变量k的值是【3】。OptionExplicitPrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimkAsIntegeri=10j=4k=Funk(i,j)Printi,j,kEndSubPriateFunctionFunk(ByValAAsInteger,BAsInteger)AsIntegerA=A+BB=B-2IfB=0OrB=1ThenFunk=1ElseFunk=A+Funk(A,B)EndIfEndFunction第11题运营下面程序,假如连续三次单击命令按钮之后,A数组共有___【1】___个元素;数组元素A(2)的值是__【2】____,A(5)的值是__【3】______.OptionExplicitOptionBase1PrivateSubCommand1_Click()Statica()AsInteger,nAsIntegerDimiAsInteger,kAsIntegerk=nn=n+2ReDimPreservea(n)Fori=k+1Tona(i)=i*n+1NextiFori=1TonPrinta(i);NextiPrintEndSub第12题执行下面的程序,单击Command1,在窗体界面上显示的第一行是【1】,第二行是【2】,第三行是【3】,第四行是【4】。OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsInteger,iAsIntegeri=1218a=i\100b=iMod100Ifb<>0ThenPrintaPrintb.PrintLcd((a),(b));a;bPrintLcd(a,b);a;bEndIfEndSubPrivateFunctionLcd(xAsInteger,YAsInteger)AsIntegerDimdAsIntegerIfx<ythend=x:x=y:y=dEndIfd=xDoIfxMody=0ThenLcd=xExitDoElsex=x+dEndIfLoopEndFunction第13题执行以下程序,单击Command1,则在Picturel上显示的第一行是【1】,第二行是【2】,第三行是【3】。OptionExplicitPrivateSubCommand1_Click()DimA(3,3)AsInteger,iAsInteger,jAsIntegerDimkAsIntegeri=3:j=2:A(i,j)=1:k=1DoUntilk>9k=k+1Ifi+1>3Andj+1<=3Theni=1:j=j+1ElseIfi+1<=3Andj+1>3Theni=i+1:j=1Elselfi+1>3Andj+1>3Theni=i-1ElseIfi+1<=3Andj+1<=3AndA(i+1,j+1)<>0Theni=i-1Elsei=i+1:j=j+1EndIfA(i,j)=kLoopFori=1To3Forj=1To3Picture1.PrintA(i,j);NextjPicture1.PrintNextiEndSub第14题执行下列程序,单击Command1,在窗体上显示的第一行内容是__【1】__,第二行的内容是__【2】__,第三行的内容是_【3】___。OptionExplicitPrivateSubCommand1_ClickDimnAsInteger,iAsIntegern=2Fori=7To1Step-1Callsub2(i,n)Printi,nNextiEndSubPrivateSubsub2(xAsInteger,yAsInteger)StaticnAsIntegerDimiAsIntegerFori=2To1Step-1n=n+xx=x-1Nextiy=y+nEndSub第15题执行下列的程序,单击Command1,在窗体上显示的变量b的值为__【1】__,变量c的值为___【2】_,变量z的值为__【3】__。PrivateSubCommand1_Click()DimbAsInteger,cAsInteger,zAsIntegerb=2c=1z=fun(b,fun(b+1,c))+b-c+1Printb,c,zEndSubPrivateFunctionfun(xAsInteger,ByValyAsInteger)AsIntegerx=x-yy=x+y+2fun=y-xEndFunction第16题执行下面程序,单击Command1,窗体上显示的第一行是____【1】____,第二行是_____【2】____,第四行是__【3】______.OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsInteger,iAsIntegera=2:b=5Fori=aToa*bStepaCallsub1(i,a,b)Printa,bNextiPrinta,b,iEndSubPrivateSubsub1(iAsInteger,aAsInteger,bAsInteger)i=i+1a=a+1b=b+1EndSub第17题执行下面程序,单击Command1,窗体上显示的第一行是__【1】__,第二行是__【2】__,第三行是_【3】___。OptionExplicitOptionBase1PrivateSubCommand1_Click()Dimsa(3,3)AsString*1,iAsInteger,jAsInteger,kasIntegerk=1Fori=1To3Forj=1To3sa(i,j)=Chr(Asc("A")+(k+i+j)Mod26)Printsa(i,j);"";k=k+3NextjPrintNextiEndSub第18题执行下面程序,单击Command1,则数组元素a(1,2)的数值是____【1】_____,a(3,3)的数值是____【2】______,图片框中最后一行显示的是____【3】_____.OptionExplicitPrivateSubCommand1_Click()Dima(4,4)asInteger,iasInteger,jasIntegerDimkAsInteger,numasIntegernum=0Fork=1To4Fori=1Tok-1num=num+1a(i,k)=numnextiForj=kTo1Step-1num=num+1a(k,j)=numnextjnextkFori=1To4Forj=1To4Picture1.PrintRight(""&a(i,j),3);NextjPicture1.PrintNextiEndSub第19题执行下面程序,单击Command1,则图片框中显示的第一行是___【1】___,显示的第二行是_____【2】___,最后一行显示的是___【3】_____.PrivateSubCommand1_Click()Dima(3,3)AsIntegerDimiAsInteger,jAsIntegerFori=1To3Forj=3To1Step-1Ifi>=jThena(i,j)=i-jElsea(i,j)=j-iEndIfNextjNextiFori=1To3Forj=3To1Step-1Picture1.Printa(i,j);NextjPicture1.PrintNextiEndSub第20题执行下面程序,单击Command1,则窗体上显示的第一行是【1】,第二行是【2】,第三行是【3】。OptionExplicitPrivateSubCommand1_Click()DimaAsString,iAsIntegerDimxAsString,zAsStringa="iamstudent"i=InStr(5,a,"d")Dox=Mid(a,i,3)z=Right(x,1)z=UCase(x&Z)i=i-2PrintzLoopUntili=1EndSub三、程序填空_共16题(选:10空*2’=20分)——完形填空:第1题'本程序的功能是把由4个"."分隔的十进制数表达的IP地址转换为由32位二进制数组成'的IP地址。例如十进制表达的IP地址为202.119.191.1,其中每个十进制数相应一个8位'的二进制数,合起来构成一个32位二进制的IP地址00000001。'过程Tiqu用于提取十进制IP地址中每个用"."分隔的十进制数;'过程Convert用于将十进制数转换为相应的8位二进制数。程序界面参见下图。OptionExplicitPrivateSubCommand1_Click()Dimstr1AsString,str2AsStringDima(4)AsInteger,iAsIntegerstr1=Text1.TextCallTiqu(str1,a)Fori=1To4Ifa(i)<0Ora(i)>255ThenMsgBox("IP地址错误!")ExitSubElse'**********SPACE**********【?】EndIfNextiText2.Text=str2EndSubPrivateSubTiqu(stAsString,a()AsInteger)DimnAsInteger,kAsInteger,sAsString,dAsString*1,iAsIntegern=Len(st):k=0:s=""Fori=1Ton'**********SPACE**********【?】Ifd="."Thenk=k+1a(k)=Val(s)'**********SPACE**********【?】Elses=s&dEndIfNextia(4)=sEndSubPrivateFunctionconvert(ByValnAsInteger)AsStringDimbAsInteger,iAsInteger,sAsStringDoWhilen>0b=nMod2n=n\2'**********SPACE**********【?】LoopFori=1To8-Len(s)s="0"&sNexti'**********SPACE**********【?】EndFunction第2题'下面程序的功能是:记录存放在数组A中的N个数有多少个是不同的。'具体做法是:变量Left指向要被解决的数(从第2个元素开始),'Right指向数组最后一个元素。若A(Left)与排在它前面的某个数组元素值相同,'就用数组元素A(Right)的值来替换A(Left)的值,同时将变量Right的值减1;'否则将变量Left的值加1,解决数组下一个元素,反复以上过程,直到Left>Right为止。'Right的值即为不同的数的个数。程序界面参见下图所示。OptionExplicitOptionBase1PrivateSubCommand1_Click()DimA()AsInteger,NAsInteger,IAsIntegerDimOPAsIntegerN=InputBox("请输入数据个数",,10)ReDimA(N)RandomizeForI=1ToNA(I)=Int(Rnd*10)+1Text1=Text1&A(I)&""NextICallstatistic(A,OP)Text2="有"&OP&"个不同的数:"ForI=1ToOPText2=Text2&A(I)&""NextIEndSubPrivateSubstatistic(A()AsInteger,RightAsInteger)DimLeftAsInteger,KAsInteger,IAsInteger'**********SPACE**********Right=【?】Left=2DoWhileLeft<=Right'**********SPACE**********K=【?】ForI=KTo1Step-1IfA(Left)=A(I)ThenExitForNextI'**********SPACE**********If【?】ThenLeft=Left+1ElseA(Left)=A(Right)'**********SPACE**********【?】EndIfLoopEndSub第3题'下面程序的功能是随机生成小于100的诸素数组成的数据。程序界面如下图所示。OptionExplicitPrivateSubCommand1_Click()Dimp()AsInteger,iAsInteger,nAsIntegerDimstAsString,kAsIntegerRandomizek=InputBox("元素个数;",,20)ReDimp(k)Don=Int(Rnd*90)+10'**********SPACE**********If【?】Theni=i+1p(i)=nEndIf'**********SPACE**********LoopUntil【?】Fori=1ToUBound(p)st=st&Str(p(i))IfiMod10=0Thenst=st&vbCrLfNextiText1=stEndSubPrivateFunctionprime(nAsInteger)AsBooleanDimiAsIntegerPrime=TrueFori=2ToSqr(n)IfnModi=0Then'**********SPACE**********【?】ExitForEndIfNextiEndFunction第4题'用以下公式求f(x)的值。当通项的绝对值小于10^-7时停止计算,x的值由键盘输入。'程序界面和公式参考图片所示:OptionExplicitPrivateSubCommand1_Click()DimxAsSingle,fxAsSingleDimaAsSingle,a1AsSingle,a2AsSingleDimtAsSinglea1=1:a2=2x=Text1'**********SPACE**********If【?】ThenMsgBox("x必须在-1~1之间")ExitSubEndIffx=a1*x-a2*x*xt=(-1)*x*xDoa=1/(a1+a2)t=(-1)*t*x'**********SPACE**********fx=【?】a1=a2'**********SPACE**********【?】LoopUntilAbs(a*t)<0.0000001Text2=fxEndSub第5题'下面程序的功能是:一方面生成一个由小到大已排好序的整数数组,再输入一个数据,'单击"插入"按钮会自动把这个数据插人到原数组适当的位置,并保持数组的有序性。'程序界面参见下图。OptionExplicitDima()AsIntegerPrivateSubForm_Activate()'生成有序数组DimiAsIntegerReDima(10)Fori=1To10a(i)=(i-1)*10+1Text1=Text1&Str(a(i))NextiText2.SetFocusEndSubPrivateSubCommand1_Click()DimnAsInteger,iAsIntegern=Text2Fori=1ToUBound(a)'**********SPACE**********If【?】ThenExitFor'拟定插入的位置Nexti'**********SPACE**********【?】Fori=1ToUBound(a)Text3=Text3&Str(a(i))NextiEndSubPrivateSubinst(P()AsInteger,nAsInteger,kAsInteger)'数组元素移位并实现插入DimiAsInteger'**********SPACE**********【?】Fori=UBound(P)-1TokStep-1'**********SPACE**********【?】NextiP(k)=nEndSub第6题'下面程序的功能是:将输入的2位16进制数的每一位转换为一个4位的二进制数,'再组合成为一个8位的二进制数。程序界面参见下图。OptionExplicitPrivateSubCommand1_Click()DimhAsString,h1AsString*1,h2AsString*1h=Text1h1=Left(h,1):h2=Right(h,1)Text2=h2b(h1)&h2b(h2)EndSubPrivateFunctionh2b(pAsString)AsStringDimstAsString,iAsIntegerst=″ABCDEF″Fori=1ToLen(st)'**********SPACE**********If【?】ThenExitForNextii=i-1Do'**********SPACE**********h2b=【?】i=i\2LoopUntili<=0'**********SPACE**********h2b=【?】EndFunction第7题'用以下公式(公式如下图所示)求Sin(x)的值.当级数通项的绝对值小与eps=10^-7时停止'计算,x的值由键盘输入.'请完善如下程序OptionExplicitPrivateSubForm_Click()DimxAsDouble,tAsDouble,nAsInteger,sumAsDoubleConsteps=0.0000001X=Val(InputBox("请输入x:"))'**********SPACE**********【?】sum=tn=1'**********SPACE**********DoUntil【?】t=-t'**********SPACE**********t=【?】sum=sum+tn=n+1LoopPrint"Sin(";x;")=";Format(sum,"0.000")EndSub第8题'下面程序的功能是:在文本框1中输入若干以空格分隔的整数(末尾无空格),'程序自动将输入的数据分解并存储到一个一维数组,'再把数组中所有反复的元素删除(只保存一个),并输出到文本框2。OptionExplicitOptionBase1PrivateSubCommand1_Click()Dima()AsInteger,iAsInteger,stAsStringDimkAsInteger,pAsIntegerst=Text1Dop=InStr(st,"")Ifp<>0Then'**********SPACE**********【?】ReDimPreservea(k)a(k)=Val(Left(st,p-1))st=Right(st,Len(st)-p)Else'**********SPACE**********【?】a(k+1)=Val(st)EndIf'**********SPACE**********LoopUntil【?】Calldel(a)Fori=1ToUBound(a)Text2=Text2&Str(a(i))NextiText2=LTrim(Text2)EndSubPrivateSubdel(a()AsInteger)DimiAsInteger,jAsInteger,kAsIntegerDoi=i+1j=i+1DoWhilej<=Ubound(a)'**********SPACE**********If【?】ThenFork=jToUBound(a)-1a(k)=a(k+1)NextkReDimPreservea(UBound(a)-1)Else'**********SPACE**********【?】EndIfLoopLoopUntili>UBound(a)EndSub第9题'下面程序的功能是将给定整数N表达成若干个质数因子相乘的形式(分解质因数).'程序界面参见下图。OptionExplicitOptionBase1PrivateSubCommand1_Click()DimnAsInteger,a()AsIntegerDimstAsString,iAsIntegern=Text1Callfenjie(n,a)st=CStr(n)&"="Fori=1ToUBound(a)-1St=st&a(i)&"*"NextiText2=st&a(i)EndSub'**********SPACE**********PrivateSubfenjie(【?】)DimkAsInteger,iAsIntegerk=2DoIfnModk=0Theni=i+1ReDimPreservea(i)a(i)=k'**********SPACE**********【?】Else'**********SPACE**********【?】EndIf'**********SPACE**********LoopUntil【?】EndSub第10题'学生的某次课程测验中,选择题的答案已记录在列表框List1中,'其数据行格式是:学号为6个字符长度、2个空格、选择题的答案为15个字符长度。'程序根据标准答案进行批改,每答对一题给1分,并将得分存放到列表框List2中。'标准答案存放在变量Exact中。程序界面参考图片所示。OptionExplicitPrivateSubCommand1_Click()DimAnwAsString,StudIdAsStringDimScorAsInteger,ExactAsStringDimIAsInteger,JAsIntegerExact="ABCCBAACBBDCCDA"'标准答案'**********SPACE**********ForI=【?】'**********SPACE**********Anw=【?】StudId=Left(Anw,6)Anw=Right(Anw,Len(Anw)-8)'**********SPACE**********【?】ForJ=1ToLen(Anw)'**********SPACE**********If【?】ThenScor=Scor+1EndIfNextJList2.AddItemStudId&""&ScorNextIEndSub第11题'下面程序的功能是:输入一个n位的整数(n≤10),求出由这n个数字组成的n位的'最小整数和最大整数。OptionExplicit0ptionBase1PrivateSubCommand1_Click()DimnAsLong,a()AsStringn=Text1Callchange(n,a)Callsort(a)Fori=1ToUBound(a)large=a(i)&large'**********SPACE**********small=【?】NextiText2=largeFori=1ToLen(small)'**********SPACE**********If【?】ThenExitForNextiIfi<>1Thensmall=Mid(small,i,1)&Left(small,i-1)&Right(small,Len(small)-i)EndIfText3=smallEndSubPrivateSubsort(a()AsInteger)'冒泡法排序DimiAsInteger,jAsInteger,tAsIntegerFori=1ToUBound(a)-1Forj=1ToUBound(a)-i'*********SPACE**********If【?】Thent=a(j)a(j)=a(j+1)a(j+1)=tEndIfNextjNextiEndSub'**********SPACE**********PrivateSubchange(【?】)DimkAsIntegerDok=k+1ReDimPreservea(k)a(k)=nMod10'**********SPACE**********n=【?】LoopUntiln=0EndSub第12题'下面程序的功能是计算如图所示的值。请完善如下程序:OptionExplicitPrivateSubCommand1_Click()DimnAsInteger,stAsString,iAsIntegerDimkAsSingle,sAsSingle,jAsIntegern=Text1s=1Fori=2Ton'**********SPACE**********【?】Forj=1Toist=st&CStr(i)nextj'**********SPACE**********k=【?】s=s+kNextiText2=sEndSub第13题'在计算机中用一个字节(8位)来存储一个字符的ASCII码,'其中低7位二进制数相应字符的编码,每个字节的最高位一般保持为"0",'在数据传输时可用作奇偶校验位。传输时ASCII代码转换成传输码的方法是,'若7位ASCII码有偶数个1,则最高位为1。有奇数个1,则最高位为0。'例如字母"A"的ASCII码十进制表达为65,二进制表达为01000001。'"A"的传输码则为"11000001"。本程序的功能就是把ASCII代码转换成这种传输码。'程序参考界面如下图所示。OptionExplicitPrivateSubCommand1_Click()DimiAsInteger,sAsStringDimstrAsString,chAsStringstr=Text1.TextFori=1ToLen(str)'**********SPACE**********【?】Callconvert(ch,s)List1.AddItemch&"==>"&sNextiEndSubPrivateSubconvert(chAsString,sAsString)DimmAsInteger,kAsInteger,nAsInteger,iAsInteger'**********SPACE**********s=【?】n=Asc(ch)DoWhilen>0'**********SPACE**********【?】s=m&sIfm=1Thenk=k+1EndIfn=n\2LoopFori=1To7-Len(s)'将字符的二进制代码补足7位s="0"&sNextiIfkMod2=0Then'**********SPACE**********【?】Elses="0"&sEndIfEndSub第14题'下面程序的功能是:找出仅由数字1、2、3、4组成的4位素数,规定每个素数由4个不'同数字组成。算法提醒:函数Validate用于验证一个4位数是否由4个不同数字组成。'在函数中用A数组的各个元素分别相应数字0~9,只要某数字出现在四位数中,无论几次,'均将该数字相应的数组元素值置为1。程序界面参见下图。OptionExplicitPrivateSubCommand1_Click()DimiAsInteger,FlgAsBooleanFori=1234To4321'**********SPACE**********【?】CallPrime(i,Flg)IfFlgThenIfValidate(i)ThenText1=Text1&i&vbCrLf.EndIfEndIfNextiEndSubPrivateSubPrime(nAsInteger,fAsBoolean)DimkAsIntegerFork=2ToSqr(n)'**********SPACE**********【?】Nextkf=TrueEndSubPrivateFunctionValidate(nAsInteger)AsBooleanDimA(0To9)AsInteger,sAsString,iAsIntegerDims1AsString*1'**********SPACE**********【?】Fori=1ToLen(s)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽冶金科技职业学院《高等数学》2023-2024学年第一学期期末试卷
- 安徽师范大学皖江学院《小学音乐教材分析与教学设计》2023-2024学年第一学期期末试卷
- 安徽三联学院《电子测量技术实验课》2023-2024学年第一学期期末试卷
- 安徽林业职业技术学院《夏变函数论》2023-2024学年第一学期期末试卷
- 2024年消防工程消防安全隐患排查与整改承接合同范本3篇
- 酒店设施融资租赁转租赁协议
- 2025年度KTV特色主题装饰设计制作合同3篇
- 古镇区二手房交易协议
- 知识更新基金管理办法
- 商务接待商务车租赁协议
- 天津市部分区2023-2024学年九年级上学期化学期末试题
- 医学外科的教学设计
- 济南 公司章程范本
- AR技术在教育领域的应用与课程设计
- 2023年软件主管年终业务工作总结
- 2019疏浚工程预算定额
- 笙的演奏技术与教学
- 大学生预征对象登记表模板
- 《明辨是非》课件
- 重症监护专科护理质控考核标准
- 高标准农田输配电工程施工方案与技术措施
评论
0/150
提交评论