中国地质大学VB考试重点与试卷_第1页
中国地质大学VB考试重点与试卷_第2页
中国地质大学VB考试重点与试卷_第3页
中国地质大学VB考试重点与试卷_第4页
中国地质大学VB考试重点与试卷_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编写一个函数fib.该函数可以求数列1,1,2,3,5,8,13,21……的第n(1<=n<=20)项,将第N项的值作为函数的返回值。Functionfib(nAsInteger)AsLongIfn=1Thenfib=1Ifn=2Thenfib=1Ifn>=3Andn<=20Thenfib=fib(n-1)+fib(n-2)EndFunction以上是定义函数,下面是主程序调用函数PrivateSubCommand1_Click()DimiAsIntegerFori=1To20Printfib(i);‘加分号,横行输出Ifimod5=0Thenprint‘每行输出5个NextiEndSub2、下面程序用于统计一个班级的某科成绩,成绩百分制。要求所有成绩由键盘输入,输入负数认为输入结束,输出数据为班级人数、最高分是、最低分和平均分。PrivateSubCommand1_Click()Dimf()AsSingleDimminAsSingle,maxAsSingle,nAsIntegerDimsAsSingle,kAsSingle,iAsSingleDimtAsSinglei=1s=InputBox("输入成绩1:")DoWhiles>=0‘s<0时就停止循环ReDimPreservef(1Toi)f(i)=si=i+1s=InputBox("输入成绩"&i)Loopi=i–1‘停止循环时I多加1,负数不计数min=f(1)‘将f(1)置为minmax=f(1)‘将f(1)置为maxForn=1ToiIfmax<f(n)Thenmax=f(n)Ifmin>f(n)Thenmin=f(n)t=t+f(n)‘计算总分Nextk=t/i‘计算平均分Print"总人数是:"&i&"人"&","&"平均分是:"&kPrint"最高分是:"&max&","&"最低分是:"&minEndSub3、窗口有三个控件,命令按钮Command1、图片框1和图片框二,单击按钮时先为picture1加载图片(f:\123.jpg),然后将picture1里的图片复制到picture2中并实现水平反转。PrivateSubCommand1_Click()Picture1.Picture=LoadPicture("f:\123.jpg")Picture2.PaintPicturePicture1.Picture,_0,0,Picture1.ScaleWidth,Picture1.ScaleHeight,Picture1.ScaleWidth,0,-Picture1.ScaleWidth,Picture1.ScaleHeight‘目标区域左上角,目标宽高,开始复制点,绘图大小EndSub4、有分段函数Sin(x)+1x0f(x)=sin(x)+cos(x)0<x,当单击command1时将在窗口中绘制[-,2]的图形。cos(x)-sin(x)x>PrivateSubCommand1_Click()DimxAsSingleDimyAsSingleConstpi=3.1415926Me.Scale(-5,3)-(10,-3)Forx=-piTo2*piStep0.002Ifx<=0Theny=Sin(x)+1ElseIfx<=piTheny=Cos(x)+Sin(x)ElseIfx<=2*piTheny=Cos(x)-Sin(x)EndIfMe.PSet(x,y),vbRedNextxMe.Line(-5,0)-(8,0),vbBlueMe.Line(0,-2.5)-(0,2.5),vbBlueEndSub5、画图y=sin(x)PrivateSubCommand1_Click()'Me.ScaleHeight=-4'首先设置系统坐标,高度值设为负数,以向上为正'Me.ScaleLeft=-3'Me.ScaleTop=2'Me.ScaleWidth=12'这四句相当于me.scale(-4,3)-(8,-3)Constpi=3.1415926'常量定义方式,方便后面使用DimxAsSingleDimyAsSingleDimtAsSingleForx=0To2*piStep0.0002'在0到2pi上用Pset画点函数来画正弦曲线,步长尽量取小y=Sin(x)Me.PSet(x,y),vbRedNextxForx=-2To8Step0.0002'画横轴,从-2到8,也可用line函数来画Me.PSet(x,0),vbBlueNextxMe.Line(0,1.5)-(0,-1.5),vbBlue'画纵轴,从-1.5到1.5Me.Line(7.8,0.1)-(8,0),vbBlueMe.Line(7.8,-0.1)-(8,0),vbBlueMe.Line(-0.2,1.3)-(0,1.5),vbBlueMe.Line(0.2,1.3)-(0,1.5),vbBlue'这四句画坐标轴箭头Forx=-1To7Line(x,0)-(x,0.1),vbBlue'在横轴上画小箭头Ifx<>0ThenMe.CurrentX=x-0.2Me.CurrentY=-0.1Printx'在合适的位置输出数值的标识ElseMe.CurrentX=0Me.CurrentY=-0.1Print"(0,0)"'在合适的位置输出(0,0)标识EndIfNextx'Me.Line(0,1)-(0.2,1),vbBlue'Me.CurrentX=-0.3'Me.CurrentY=1'Print"1"'Me.Line(0,-1)-(0.2,-1),vbBlue'Me.CurrentX=-0.3'Me.CurrentY=-1'Print"-1"Fort=-1To1Step0.5'在纵轴上输出小间隔和标识Line(0,t)-(0.2,t),vbBlueIft<>0ThenMe.CurrentX=-0.5Me.CurrentY=tPrinttElsePrint""EndIfNexttEndSub6、fibonacci数列:1,1,2,3,5,8,13,21……PrivateSubCommand1_Click()Dimf()AsDouble,iAsInteger'这里使用数组重定义,表示数组长度会发生变化ReDimf(1To48)f(1)=1f(2)=1Fori=3To48f(i)=f(i-1)+f(i-2)NextiFori=1To48Printf(i),'末尾加逗号,橫行输出IfiMod6=0ThenPrint'每输出六个数换一行NextiReDimPreservef(1To84)'preserve函数保留之前的值Me.ForeColor=vbRedFori=49To84f(i)=f(i-1)+f(i-2)NextiFori=1To84Printf(i),IfiMod6=0ThenPrintNextiEndSub7、杨辉三角PrivateSubCommand1_Click()Me.Cls‘清屏PrintTab(48),"杨辉三角"'空48格,输出标题DimiAsInteger,jAsInteger'i定义为行,j定义为列Dimy(1To7,1To7)AsInteger'定义y是一个7*7的二维数组Fori=1To7y(i,1)=1'第一列全是1y(i,i)=1'对角线上全是1Nexti'接下来输出中间的数Fori=3To7'输出3到7行Forj=2Toi-1y(i,j)=y(i-1,j-1)+y(i-1,j)'中间数等于上面一行相邻两数相加NextjNextiFori=1To7Forj=1ToiPrinty(i,j),'末尾加逗号,横行输出NextjPrintNextiEndSub8、读写文件OptionExplicitPrivateTypes'定义结构体xmAsString*10nlAsIntegercjAsSingleEndTypeDimaAssPrivateSubCommand1_Click()C.ShowOpen‘通用对话框打开OpenC.FileNameForOutputAs#1'output写文件,input为读文件a.xm=Text1.Texta.nl=Val(Text2.Text)a.cj=Val(Text3.Text)Print#1,a.xmPrint#1,a.nlPrint#1,a.cj'Write#1,a.xm,a.nl,a.cj'write写文件其中有分隔符,print没有分隔符Close#1EndSubPrivateSubCommand2_Click()DimiAsIntegerText1.Text=""Text2.Text=""Text3.Text=""C.ShowSaveDimlAsIntegerDimsAsStringOpenC.FileNameForInputAs#1l=LOF(1)DoWhileNotEOF(1)LineInput#1,sText1.Text=Text1.Text&s&Chr(13)&Chr(10)LoopClose#1EndSub9、画图程序中画笔部分DimgongjuAsStringDimyanseAsLongDimxxAsSingle,yyAsSinglePrivateSubForm_Load()yanse=vbBluePicture4.BackColor=yansegongju="笔"EndSubPrivateSubOption1_Click(IndexAsInteger)SelectCaseIndexCase0gongju="笔"Case1gongju="直线"Picture3.Visible=TrueCase2gongju="橡皮"EndSelectEndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)SelectCasegongjuCase"笔"IfButton=1ThenPicture1.CurrentX=xPicture1.CurrentY=yEndIfCase"橡皮"Case"直线"EndSelectEndSubPrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)SelectCasegongjuCase"笔"IfButton=1ThenPicture1.Line-(x,y),yanseEndIfCase"橡皮"Case"直线"EndSelectEndSub‘画笔无mouseup事件,直线有Case"橡皮"Case"直线"EndSelectEndSubPrivateSubPicture2_Click(IndexAsInteger)‘选择画笔颜色,picture2为控件数组yanse=Picture2(Index).BackColor‘把选中的颜色置为yansePicture4.BackColor=yanse‘在picture4中显示当前颜色EndSub10、计算器OptionExplicitDimaAsSingle,bAsSingle,tAsSingleDimopAsString*1DimqingAsBooleanDimmAsSinglePrivateSubCommand1_Click(IndexAsInteger)‘数字键控件数组Ifqing=TrueThenLabel1.Caption=""‘再次运算时清空显示qing=FalseEndIfLabel1.Caption=Label1.Caption&Command1(Index).CaptionEndSubPrivateSubCommand10_Click()‘MRLabel1.Caption=mEndSubPrivateSubCommand11_Click()‘M+IfLabel2.Caption=""Thenm=m+Val(Label1.Caption)EndIfIfLabel1.Caption<>""Thenm=m+Val(Label1.Caption)Label2.Caption="m"EndIfEndSubPrivateSubCommand12_Click()‘MCLabel2.Caption=""m=0EndSubPrivateSubCommand13_Click()‘+/-Label1.Caption=-Val(Label1.Caption)EndSubPrivateSubCommand14_Click()‘小数点Ifqing=TrueThenLabel1.Caption=""qing=FalseEndIfIfInStr(1,Label1.Caption,".")=0ThenLabel1.Caption=Label1.Caption&"."EndIfEndSubPrivateSubCommand2_Click(IndexAsInteger)‘控件数组+-*/qing=Truea=Val(Label1.Caption)Label1.Caption=""op=Command2(Index).CaptionEndSubPrivateSubCommand3_Click()‘等号qing=Trueb=Val(Label1.Caption)'SelectCaseop'Caseop="+"'t=a+b'Caseop="-"'t=a-b'Caseop="*"'t=a*b'Caseop="/"'Ifb=0ThenLabel1.Caption="除数不能为零"'ExitSub't=a/b'EndSelectIfop="+"Thent=a+bEndIfIfop="-"Thent=a-bEndIfIfop="*"Thent=a*bEndIfIfop="/"ThenIfb=0ThenLabel1.Caption="除数不能为零"Elset=a/bEndIfEndIfLabel1.Caption=tEndSubPrivateSubCommand4_Click()‘CELabel1.Caption=""EndSubPrivateSubCommand5_Click()‘BackspaceIfLabel1.Caption<>""ThenLabel1.Caption=Left(Label1.Caption,Len(Label1.Caption)-1)EndIfEndSubPrivateSubCommand6_Click()‘Ca=0Label1.Caption=""EndSubPrivateSubCommand7_Click()‘sqrtLabel1.Caption=Sqr(Val(Label1.Caption))qing=TrueEndSubPrivateSubCommand8_Click()‘1/xIfVal(Label1.Caption)<>0ThenLabel1.Caption=1/Val(Label1.Caption)ElseLabel1.Caption="分母不能为零"EndIfqing=TrueEndSubPrivateSubCommand9_Click()IfLabel1.Caption<>""Thenm=Val(Label1.Caption)Label2.Caption="m"EndIfEndSubPrivateSubForm_Load()qing=TrueIfqing=TrueThenLabel1.Caption=""qing=FalseEndIfop="+"EndSub11、把列表框中的古诗在单击command1按钮时将所有诗句以顺序文件形式写入F盘的gushi.txt文件中。PrivateSubCommand1_Click()Open"f:\gushi.txt"ForOutputAs#1DimiAsIntegerFori=0ToL.ListCount-1Print#1,L.List(i)NextClose#1EndSub12、编写一个函数S利用缺省函数的特性来求矩形面积(矩形可能是:正方形、长方形、梯形),若只有一个参数a则认为求正方形面积,有两个参数a,b,认为求长方形面积,有三个参数a,b,h,认为求梯形面积。Functions(aAsSingle,Optionalb,Optionalh)AsSingleIfIsMissing(h)=TrueThenIfIsMissing(b)=TrueThens=a*aElses=s*bEndIfElses=(a+b)*h/2EndIfEndFunctionPrivateSubCommand1_Click()Prints(5)EndSub13、编写一个函数,求任意个浮点数的平均值,函数的返回值为求得的结果。Functionp(ParamArraya())AsDoubleDimbAsVariant,sAsDouble,nAsIntegerForEachbInas=s+bn=n+1Nextbp=s/nEndFunction多窗体的应用程序只能包含一个MDI(父窗口),可以包含多个SDI(子窗口),父窗口要先于子窗口加载,但卸载时晚于子窗口图像框(image)中的图像可以随控件大小自动缩放(stretch属性为false;为true时会使图片适应相框大小),图片框(picturebox)把autosize属性置为true系统会自动改变控件大小以适应要加载图片单选按钮控件数组要放在同一个框架中(同一容器),并只能有一个控件被选中(value=true)通用的函数有返回值,通用的过程没有返回值,函数可以通过call来调用具有value属性的控件:滚动条(scrollbar)、复选框checkbox(1选中,0未选中)、单选按钮optionbutton(ture/false)组合框控件style属性:0可输入可选,1输入,2只能选择对于一个正常的窗体来说,terminate是最后发生的,initialize(初始化)是最早发生的。使控件获取焦点,用setfocus方法多窗体工程用unloadme语句可以卸载SDI窗体(本窗口),但不会影响其他窗口运行,用end方法可以终止程序10、文本框具有passordchar属性,也就是掩码11、Visible属性是可见性,me.hide相当于form1.visible=true,enable属性是可用性,command1.enable=false,表示command1按钮呈灰色不可用12、强制变量声明:optionexplicit13、“56”+“23”=“5623”“56”+23=7914、实参是主程序中的参数,形参是被调用函数或者过程中的参数,Byref是传地址,是默认值,形参和实参要互相影响;Byval是传值,实参和形参之间不影响15、for循环中的步长默认为1如Fori=1to10(step1)……Nexti如果循环是从大数到小数,步长为-1时,要写明step-1,不符合循环条件时,中间退出循环(for语句应exitfor;doloop语句用exitdo),否则看循环条件,循环完毕自动退出。循环结构还有Dowhile条件do…………LoopLoopwhie条件16、选择语句有单分支if条件thenif条件then……(不用endif)……Endif多分支中间加elseif条件then……17、列表框中添加条目用list1.additem+要添加的字符,用双引号;删除条目用list1.removeitem+index(索引号)第一行索引号为0,要清除列表框中的所有内容用list1.clear18、keydown和keyup是两个成对出现的事件,只要按下键盘按键就会发生,keypress是检测按键的ascii码,所以只在能产生ascii码的按键按下时才会发生;mousedown和mouseup是成对出现的事件,mousmove是移动鼠标时触发的事件。19、通用对话框(commondialog)是无法完成文件的打开和保存操作的,它只提供要操作文件的地址20、窗体的scaleleft和scaletop是指窗体中的坐标原点距离左边和上边界位置,scaleheight和scalewidth是指窗体中坐标的左右和上下的跨度。窗体的绝对大小由height和width值来确定,left和top值是确定窗体在运行时距离左边界和上边界的位置。后面四个属性值对于command等控件也相应适用。21、控件的事件集是控件所固有的,不能人为的添加或删除。22、timer控件只有一个事件:timer事件,把它的interval置为0时就不触发timer事件23、circle语句可以画:圆、弧、椭圆24、要使窗体上print语句输出的信息不随着窗口的刷新而丢失,应将窗体的autoredraw属性置为ture。25、inputbox输出的是字符,在进行数值计算时,为避免系统报错,用val函数转化成数值K=val(inputbox(“请输入第”&I&“个成绩”))26、open文件名forinput(读取)(打开模式)as#1Output(写入)Lineinput#1,s‘将#1文件中的字符写入sList1.additems‘将添加进列表框中Noteof(文件号)‘还没到文件最后一行27、picture1加载图片picture1.picture=loadpicture(”文件地址”)28、打开二进制文件,打开模式为(binary),打开随机文件,打开模式为(random),读取二进制文件要用(get)语句,写随机文件要用(put)语句29、open“123.txt“foroutputas#1print#1,“要添加的字符“‘向#1文件中写字符Close#1Open“123.txt”forinputas#1Text1.text=input(5,#1)‘把#1文件中的前5个字符添加进text1里面Close#130、在定义中,private表示此过程只可以被本窗体模块中的其他函数和过程调用。对应的还有public公有过程PrivateSubCommand1_Click()DimXAsSingle,YAsSingle,TAsSingleDimOpAsString*1X=InputBox("数据1")Op=InputBox("运算符")Y=InputBox("数据2")IfOp="+"OrOp="-"OrOp="*"OrOp="/"ThenIfOp="+"ThenT=X+YElseIfOp="-"ThenT=X-YElseIfOp="*"ThenT=X*YElseIfOp="/"ThenT=X/YEndIfPrintX&Op&Y&"="&TElseMsgBox"运算符都不会输入,不和你玩!"EndIfEndSub5计算器OptionExplicitDimOpAsString*1DimXAsSingleDimqingAsBooleanDimmAsSinglePrivateSubbacks_Click()IfL.Caption<>""ThenL.Caption=Left(L.Caption,Len(L.Caption)-1)EndIfEndSubPrivateSubC_Click()X=0L.Caption=""EndSubPrivateSubCE_Click()L.Caption=""EndSubPrivateSubCommand2_Click()Frame1.Enabled=NotFrame1.EnabledEndSubPrivateSubdaos_Click()qing=TrueL.Caption=1/Val(L.Caption)EndSubPrivateSubdeng_Click()DimYAsSingle,TAsSingleqing=True'x=InputBox("数据1")'op=InputBox("运算符")'y=InputBox("数据2")Y=Val(L.Caption)SelectCaseOpCase"+"T=X+YCase"-"T=X-YCase"*"T=X*YCase"/"IfY=0ThenL.Caption="除数不能为零!"ExitSubElseT=X/YEndIfEndSelect'Printx&op&y&"="&tL.Caption=TEndSubPrivateSubdian_Click()Ifqing=TrueThenL.Caption=""qing=FalseEndIfIfInStr(L.Caption,".")=0ThenL.Caption=L.Caption&"."EndIfEndSubPrivateSubfuhao_Click()DimaAsSinglea=-Val(L.Caption)L.Caption=aEndSubPrivateSubkaif_Click()qing=TrueL.Caption=Sqr(Val(L.Caption))EndSubPrivateSubMADD_Click()IfVal(L.Caption)<>0Thenm=m+Val(L.Caption)LL.Caption="M"EndIfEndSubPrivateSubMC_Click()m=0LL.Caption=""EndSubPrivateSubMR_Click()L.Caption=mEndSubPrivateSubMS_Click()IfVal(L.Caption)<>0Thenm=Val(L.Caption)LL.Caption="M"EndIfEndSubPrivateSubN_Click(IndexAsInteger)Ifqing=TrueThenL.Caption=""qing=FalseEndIfL.Caption=L.Caption&N(Index).CaptionEndSubPrivateSubops_Click(IndexAsInteger)X=Val(L.Caption)qing=TrueOp=ops(Index).CaptionEndSub简单计算器6PrivateSubN_Click(IndexAsInteger)Ifqing=TrueThenL.Caption=""qing=FalseEndIfL.Caption=L.Caption&N(Index).CaptionEndSubPrivateSubqufu_Click()L.Caption=-Val(L.Caption)EndSubPrivateSubysf_Click(IndexAsInteger)C=C+1IfC=1ThenX=Val(L.Caption)qing=TrueOp=ysf(Index).CaptionElseIfC=2ThenDimYAsDouble,TAsDoubleqing=TrueY=Val(L.Caption)SelectCaseOpCase"+"T=X+YCase"-"T=X-YCase"*"T=X*YCase"/"IfY<>0ThenT=X/YElseL.Caption="除数为零!"ExitSubEndIfEndSelectL.Caption=TX=Val(L.Caption)Op=ysf(Index).CaptionC=1EndIfEndSub5PrivateSubCommand1_Click()DimHAsSingle,bAsIntegerDimsAsIntegers=1b=1Do'WhileB<=5H=H+bb=b+1LoopUntilb>5PrintH,bEndSubPrivateSubCommand2_Click()DimXAsSingle,YAsIntegerForX=100To1Step-1Y=Y+XNextXPrintY,XEndSubPrivateSubCommand3_Click()DimIDimaAsIntegerForEachIInCa=a+I.CaptionNextIMsgBoxaEndSub6九九乘法表PrivateSubCommand1_Click()DimIAsInteger,jAsIntegerDimaAsIntegera=Me.FontSizeMe.FontSize=20Me.ForeColor=vbRedPrintPrint"-------------------------"&"九九乘法表"&_"-------------------------"PrintMe.FontSize=aMe.ForeColor=vbBlackI=1DoWhileI<=9j=1DoPrintj&"*"&I&"="&I*j,j=j+1LoopUntilj>IPrintIfI=9ThenExitDoI=I+1LoopEndSub7养兔子PrivateFunctions1(XAsInteger,YAsInteger)AsIntegers1=X+YEndFunctionPrivateSubCommand1_Click()DimmAsSingle,eAsSingle,aAsSinglem=14e=64a=(m+e)/2PrintaEndSub兔子PrivateSubCommand3_Click()Dimf()AsSingleDimIAsIntegerDimNAsIntegerPrintDoN=InputBox("说打算养几个月?")LoopWhileN<0IfN>=2ThenReDimf(1ToN)f(1)=1f(2)=1ForI=3ToUBound(f)f(I)=f(I-1)+f(I-2)NextIForI=1ToUBound(f)Printf(I),IfIMod5=0ThenPrintNextIMe.ForeColor=vbBluePrintReDimf(1ToN+10)ForI=N+1ToUBound(f)f(I)=f(I-1)+f(I-2)NextIForI=1ToUBound(f)Printf(I),IfIMod5=0ThenPrintNextIElseIfN=1ThenMsgBox("一只大笨兔")ElseMsgBox("一只大笨兔也没有")EndIfEndSub杨辉三角PrivateSubCommand4_Click()Dima(1To10,1To10)AsIntegerDimN,mAsIntegerForN=1To10a(N,N)=1a(N,1)=1NextNForN=3To10Form=2ToN-1a(N,m)=a(N-1,m-1)+a(N-1,m)NextmNextNForN=3To10Form=1ToNPrinta(N,m),NextmPrintNextNEndSubPrivateFunctionsum(XAsInteger,YAsInteger)AsIntegerDimTAsIntegerT=X+Ysum=TEndFunctionPrivateSubCommand5_Click()DimaAsInteger,bAsIntegera=InputBox("数1")b=InputBox("数2")Printsum(s(a,b),10)EndSub8Functions(ParamArraya()AsVariant)AsSingleDimI,sumAsInteger,CAsIntegerForEachIInasum=sum+IC=C+1Nexts=sum/CEndFunctionPrivateSubCh(ByRefaAsInteger,ByRefbAsInteger)DimTAsIntegerT=a:a=b:b=TPrint"a="&a,"b="&bEndSubPrivateSubCommand1_Click()DimXAsInteger,YAsIntegerX=10:Y=20Print"x="&X,"y="&YCallCh(X,Y)Print"x="&X,"y="&YEndSubPrivateSubCommand2_Click()Printp(10,4),p(3,2),p(10)EndSubPrivateFunctionp(aAsSingle,OptionalNAsInteger=2)AsSinglep=a^NEndFunctionFunctionV(aAsSingle,OptionalbAsVariant,_OptionalCAsVariant)AsSingleIfIsMissing(b)AndIsMissing(C)ThenV=a^3ElseIfIsMissing(C)=TrueThenV=a^2*bElseV=a*b*CEndIfEndFunction9兔子数列Functionfib(NAsInteger)AsSingleDimf()AsSingleDimIAsIntegerIfN=1OrN=2Thenfib=1ElseReDimf(1ToN)f(1)=1f(2)=1ForI=3ToNf(I)=f(I-1)+f(I-2)NextIfib=f(N)EndIfEndFunctionPrivateSubCommand1_Click()DimjAsIntegerForj=1To20Printfib(j),IfjMod5=0ThenPrintEndIfNextEndSub运算PrivateFunctioncal(aAsSingle,sAsString,bAsSingle)AsSingleDimTAsSingleSelectCasesCase"+"T=a+bCase"-"T=a-bCase"*"T=a*bCase"/"Ifb=0ThenMsgBox"除零了"cal=0ExitFunctionElseT=a/bEndIfEndSelectcal=TEndFunctionPrivateSubCommand2_Click()Printcal(10,"/",0)EndSub素数判定Functionsu(NAsInteger)AsBooleanDimIAsIntegerIfN<=0ThenMsgBoxN&"不会判别"'ExitFunctionElseIfN<=3Thensu=TrueElseForI=2ToSqr(N)IfNModI=0Thensu=FalseExitForEndIfNextIEndIfEndFunctionPrivateSubCommand3_Click()Printsu(10),su(1)Printsu(-13)EndSubPrivateSubCommand4_Click()RandomizePrintChr(Int(Rnd*26+65))EndSubPrivateSubCommand5_Click()DimsAsStrings=T1.TextT2.Text=sEndSubPrivateSubCommand6_Click()DimaAsIntegerDimbAsIntegerDimTAsIntegera=Val(T1.Text)b=Val(T2.Text)T=a+bT3.Text=TEndSubPrivateSubT1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=vbKeyReturnThenT2.SetFocusEndIfEndSubPrivateSubT2_KeyPress(KeyAsciiAsInteger)IfKeyAscii=vbKeyReturnThenCommand6_Click'Command6_ClickEndIfEndSub10输入密码PrivateSubCommand1_Click()StaticCAsIntegerC=C+1IfT.Text="duan"ThenForm4.ShowUnloadMeElseIfC<3ThenIfMsgBox("密码错误,继续吗?",_vbQuestion+vbYesNo)=vbYesThenT.Text=""T.SetFocusElseEndEndIfElseMsgBox"您ByeBye吧",vbInformationEndEndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubT_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCommand1_ClickEndSub11PrivateSubCommand3_Click()Frame1.Visible=NotFrame1.VisibleFrame2.Visible=NotFrame2.VisibleEndSub12OptionExplicitDimCAsIntegerFunctioncha(aAsInteger,bAsInteger)_AsIntegercha=a-bEndFunction素数Functionsu(NAsInteger)AsBooleanDimIAsIntegerDimkAsIntegerk=Sqr(N)ForI=2TokIfNModI=0ThenExitForEndIfNextIIfI>kThensu=TrueElsesu=FalseEndIfEndFunction足球守门员队员PrivateSubCh_Click(IndexAsInteger)IfCh(Index).Value=1ThenC=C+1ElseC=C-1EndIfIfC>4ThenMsgBox"多了"Ch(Index).Value=0EndIfEndSubPrivateSubCommand1_Click()DimIAsIntegerDimsAsStrings="守门员:"ForI=0To4IfOp(I).Value=TrueThens=s&Op(I).CaptionEndIfNextIs=s&Chr(13)&"队员:"ForI=0To8IfCh(I).Value=1Thens=s&Ch(I).Caption&""EndIfNextIIfC=4ThenMsgBoxsElseMsgBox"少了"EndIf'Printer.PrintsEndSub13选择PrivateSubCommand1_Click()DimsAsStringDimIAsIntegerDimcfAsBooleanIfL1.ListIndex>-1Thens=L1.List(L1.ListIndex)ForI=0ToL2.ListCount-1Ifs=L2.List(I)Thencf=TrueExitForEndIfNextIIfcf=FalseThenL2.AddItemsEndIf'L1.RemoveItemL1.ListIndexEndIfEndSubPrivateSubCommand2_Click()DimIAsIntegerForI=0ToL1.ListCount-1L2.AddItemL1.List(I)NextIL1.ClearEndSub14组合框PrivateSubCommand1_Click()DimIAsIntegerDimcfAsBooleanForI=0ToC.ListCount-1IfC.Text=C.List(I)Thencf=TrueExitForEndIfNextIIfcf=FalseThenC.AddItemC.TextEndIfEndSub15列表框到组合框PrivateSubCommand1_Click()DimIAsIntegerForI=0ToL1.ListCount-1IfL1.Selected(I)ThenL2.AddItemL1.List(I)EndIfNextForI=L1.ListCount-1To0IfL1.Selected(I)ThenL1.RemoveItemIEndIfNextEndSub16滚动条PrivateSubForm_Load()T.Text="1.5"EndSubPrivateSubH_Change()T.Text=H.Value/10L.Caption=Val(T1.Text)*H.Value/10EndSubPrivateSubH_Scroll()T.Text=H.Value/10L.Caption=Val(T1.Text)*H.Value/10EndSub17选择PrivateSubCommand1_Click()DimIAsIntegerForI=0ToL1.ListCount-1IfL1.Selected(I)ThenL2.AddItemL1.List(I)EndIfNextForI=L1.ListCount-1To0IfL1.Selected(I)ThenL1.RemoveItemIEndIfNextEndSub18时间出现OptionExplicitPrivateSubT_Timer()RandomizeL.ForeColor=RGB(Rnd*255,Rnd*255,Rnd*255)L.Caption=TimeL.Left=L.Left+100IfL.Left>=Me.ScaleWidthThenL.Left=-L.WidthEndIfEndSub19掉字母OptionExplicitDimdAsInteger,CAsIntegerSubcs()RandomizeL.Left=Rnd*(Me.ScaleWidth-L.Width)L.Top=-L.HeightL.Caption=zimuEndSubPrivateFunctionzimu()RandomizeDimkAsIntegerDok=Int(Rnd*58+65)LoopWhilek>90Andk<97zimu=Chr(k)EndFunctionPrivateSubCommand1_Click()Timer1.Interval=200csEndSubPrivateSubCommand2_Click()Ifd+C=0ThenMsgBox"得分率:0"ElseMsgBox"最后正确率:"&d/(d+C)*100&"%"EndIfTimer1.Interval=0csEndEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)IfChr(KeyAscii)=L.CaptionThend=d+1csEndIfEndSubPrivateSubForm_Load()csEndSubPrivateSubTimer1_Timer()L.Top=L.Top+100IfL.Top>=Me.ScaleHeightThenC=C+1csEndIfEndSub21正弦函数PrivateSubCommand1_Click()Constpi=3.1415926DimXAsSingle,YAsSingleForX=0To2*piStep0.0002Y=Sin(X)Me.PSet(X,Y),vbRedNextXLine(-2,0)-(8,0),vbBlueLine(7.8,0.1)-(8,0),vbBlueLine(7.8,-0.1)-(8,0),vbBlueMe.Line(0,1.5)-(0,-1.5),vbBlueForX=-1To7Line(X,0)-(X,0.1),vbBlueIfX<>0ThenMe.CurrentX=X-0.2Me.CurrentY=-0.1PrintXElseMe.CurrentX=0Me.CurrentY=-0.1Print"(0,0)"EndIfNextEndSub22翻转PrivateSubCommand1_Click()DimXAsSingle,YAsSingleX=P1.ScaleWidthY=P1.ScaleHeightP2.PaintPictureP1.Picture,X,0,-X,Y_,0,0,X,YEndSub23卷帘PrivateSubCommand1_Click()DimIAsIntegerDimjAsIntegerDimkAsLongj=P1.ScaleHeight\200ForI=0TojP2.PaintPictureP1.Picture,0,I*200,P1.ScaleWidth,150,_0,I*200,P1.ScaleWidth,150Fork=0To60000000NextNextIEndSub24画图OptionExplicitDimysAsLongDimxxAsSingleDimyyAsSingleDimgjsAsStringDimxkAsIntegerPrivateSubForm_Load()ys=vbBluePpys.BackColor=ysgjs="笔"xk=1EndSubPrivateSubgj_Click(IndexAsInteger)Ppxk.Visible=FalseSelectCaseIndexCase0gjs="笔"Case1gjs="直线"Ppxk.Visible=TrueCase2gjs="吸管"Case3gjs="橡皮"EndSelectEndSubPrivateSubP1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SelectCasegjsCase"橡皮"P1.Line(X-100,Y-100)-(X+100,Y+100),P1.BackColorCase"吸管"ys=P1.Point(X,Y)Ppys.BackColor=ysCase"笔"IfButton=1ThenP1.CurrentX=XP1.CurrentY=YEndIfCase"直线"IfButton=1Thenxx=X:yy=YL.X1=XL.Y1=YL.X2=XL.Y2=YL.Visible=TrueL.BorderColor=ysL.BorderWidth=xkEndIfEndSelectEndSubPrivateSubP1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SelectCasegjsCase"橡皮"P1.Line(X-100,Y-100)-(X+100,Y+100),P1.BackColorCase"笔"IfButton=1ThenP1.Line-(X,Y),ysEndIfCase"直线"IfButton=1ThenL.X2=XL.Y2=YEndIfEndSelectEndSubPrivateSubP1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)DimaAsIntegerSelectCasegjsCase"直线"IfButton=1Thena=P1.DrawWidthP1.DrawWidth=xkP1.Line(xx,yy)-(X,Y),ysL.Visible=FalseP1.DrawWidth=aEndIfEndSelectEndSubPrivateSubPxk_Click(IndexAsInteger)xk=Line1(Index).BorderWidthEndSubPrivateSubPys_Click(IndexAsInteger)ys=Pys(Index).BackColorPpys.BackColor=ysEndSub《VB程序设计》考试试卷(A)考试形式:闭卷考试考试时间:120分钟所有答案答在答题纸上院系学号姓名得分题号一二三四五总分一.判断题(正确划√,错误划×)(10分)方法的实质是程序代码模块√MDI和SDI窗体支持相同的事件和方法程序运行中通过代码改变单选按钮的Value值是不会触发该控件的单击事件的若某子窗体拥有菜单,程序运行时一旦它获取焦点就会自动覆盖父窗口的菜单利用通用对话框控件可以直接完成图形文件的保存或打开操作,无法直接完成文本文件的保存或打开操作由一个父窗口和多个子窗口构成的应用程序,关闭父窗口就可以终止程序运行√若窗口的Enabled属性为False,其上的控件也不再响应鼠标事件了。√控件数组中的元素可以由不同类型的控件构成Me.ForeColor=vbWhite与Me.ForeColor=RGB(0,0,0)等价AutoRedraw属性是窗体独有的属性二.单项选择填空题(共40分)按Delete键在TextBox控件中删除文本时下列那个事件不会触发【】A.ChangeB.KeyDownC.KeyUpD.KeyPress下列控件中有Text属性的是【】A.滚动条B.ImageC.组合框D.Frame下列控件中无value属性的是【】A.CheckBoxB.OptionButtonC.ScrollBarD.ListBox下列控件中无Caption属性的是【】A.LabelB.FrameC.CommandButtonD.Timer对于一个正常显示的窗口来说下列【】事件是最后发生的A.UnloadB.QueryUnloadC.TerminateD.LostFocus下面【】方法可以直接使组合框控件具有输入焦点A.SetFocusB.RemoveItemC.RefreshD.AddItem在列表框L中删除第二条列表条目的值应使用【】语句A.L.RemoveItem2B.L.RemoveItemC.L.RemoveItem1D.L.RemoveItem0下列【】语句可以完成随机文件的写操作A.PutB.WriteC.GetD.Print若要处理程序运行过程中的错误应使用【】语句先捕获错误A.OnErrorGoTo0B.OnErrorResumeNextC.OnErrorGoTo语句行号D.ResumeNext在VB中保存一个图形、图像文件应使用【】。A.PictureSaveB.SavePictureC.LoadPictureD.PictureLoadTimer控件的【】属性不为0时可以激发Timer事件A.EnabledB.IntervalC.VisibleD.Tag一个控件可以正常接收和处理事件必须保证Visible和【】属性同时为真A.EnabledB.FocusC.MoveableD.AppearanceCircle语句不能绘制【】A.扇B.弧C.椭圆D.圆角正方形-若要隐藏某窗体应使用【】A.me.HideB.Me.Appearance=FalseC.Me.BorderStyle=NoneD.Me.WindowState=0若要使窗体先于其上控件获取键盘输入,应将窗体的【】设置为TrueA.AutoRedrawB.MDIChildC.AutoSizeD.KeyPreview应使用【】属性为文本框设置掩码A.PasswordCharB.MultiLineC.MaxLengthD.Font设置【】属性可使文本框接收多行文字A.ScrollBarsB.MultiLineC.MaxLengthD.Width【】属性标记列表框中列表条目的数目A.SelCountB.ListCountC.CountD.List下列【】属性不是只读属性A.SelCountB.ListCountC.CurrentXD.AddItem若要使SDI窗体成为子窗体,应将窗体的【】属性设置为TrueA.BorderStyleB.MDIChildC.AppearanceD.Moveable三.阅读下面程序,写出单击Command1后的程序运行结果(10分)Functions(ParamArraya())AsIntegerDimcAsInteger,mAsIntegerDi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论