新版_学生版(1-4)章_.doc 15页

  • 135.50 KB
  • 2022-04-22 11:37:25 发布

新版_学生版(1-4)章_.doc

  • 15页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《VisualBasic程序设计基础》教材习题第1章VisualBasic6.0程序设计概述习题一、判断题参考答案:1.√2.√3.√4.×5.√6.×7.√8.×9.√10.√11.×12.√13.×14.√15.√二、选择题参考答案:1.C2.B3.D4.C5.B6.A7.D8.A9.B10.D三、填空题参考答案:1.对象、事件2.属性、方法、事件3.控件、屏幕(Screen)4.Left5.Top6.属性、<对象名>.<属性名>=<表达式>7.网格8.Form19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题参考代码:程序1.界面设计参看表1。15 表1各控件的主要属性设置编号控件属性(属性值)属性(属性值)①窗体Name(Form1)Caption("实验1-1")②标签控件1Name(Label1)Caption("我的第一个VB程序")③标签控件2Name(Label2)Caption("请输入你的姓名")FontItalic(True)FontUnderLine(True)④文本框Name(Text1)Text("")⑤命令按钮1Name(Command1)Caption("确定(&O)")⑥命令按钮2Name(Command2)Caption("结束(&X)")Enabled(False)过程设计如下:PrivateSubCommand1_Click()Label2.Visible=False‘使控件Label2看不见Label1.Caption=Text1.Text+":欢迎使用"+Label1.CaptionText1.Visible=False‘使控件Text1看不见Command1.Enabled=False‘使控件Command1不能用Command2.Enabled=True‘使控件Command2能用EndSubPrivateSubCommand2_Click()End‘结束程序运行EndSub程序2.界面设计,过程设计如下:PrivateSubCommand1_Click()"字体变大Form1.FontSize=Form1.FontSize+3Form1.Cls:Print"欢迎使用VB"EndSubPrivateSubCommand2_Click()"字体变小Form1.FontSize=Form1.FontSize-3Form1.ClsPrint"欢迎使用VB"EndSubPrivateSubCommand3_Click()"字体加粗15 Form1.FontBold=TrueForm1.Cls:Print"欢迎使用VB"EndSubPrivateSubCommand4_Click()"字体不加粗Form1.FontBold=FalseForm1.Cls:Print"欢迎使用VB"EndSub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。程序3.界面设计运行效果图过程设计如下(窗体Height值的计量包括标题、边框,而ScaleHeight值仅与窗体有效绘图区域的高度有关):PrivateSubForm_Load()Text1.Text="VisualBasic程序设计"EndSubPrivateSubForm_Resize()Text1.Top=0:Text1.Left=0Text1.Width=Form1.ScaleWidth/2"用Form1.ScaleWidth效果优于用Form1.WidthText1.Height=Form1.ScaleHeight/2"用Form1.ScaleHeight优于用Form1.HeightCommand1.Top=Form1.ScaleHeight-Command1.HeightCommand1.Left=Form1.ScaleWidth-Command1.WidthEndSubPrivateSubCommand1_Click()EndEndSub15 第2章程序设计基础习题一、判断题1.√2.×3.×4.×5.√6.×7.√8.√9.√10.×二、选择题1.B2.D3.A4.C5.C6.B7.A8.D9.C10.A三、填空题参考答案1.String2.43."aaa"4.1455.66.37.188.False9.(xMod10)*10+x1010.10+Int(Rnd*90)11.a*bModc12.Log(x)+Sin(3.141593/6)13.ConstPI=3.141592614.日期15.Int(x)+1四、程序设计题参考答案程序1、PrivateSubCommand1_Click()DimxAsDouble,y#,s#x=Val(InputBox("请输入x"))y=Val(InputBox("请输入y"))s=Sqr((x^3+Exp(-6)*Log(y))*(Sin(x)*Cos(y))/(x*x+y*y)_+(2*Sin(90*3.14156/180)+2*x*Exp(y))/Sqr(Abs(x*y)))Print"当x=";x;"当y=";y;"时,计算结果:";sEndSub程序2、PrivateSubCommand1_Click()DimsAsDouble,lAsDoubleDimrAsDoubleConstpi=3.1415926r=Val(Text1.Text)l=2*3.1415926*rs=r*r*3.141592615 Label2.Caption=Str(s)Label5.Caption=Str(l)EndSub"删除文本框后PrivateSubCommand2_Click()DimsAsDouble,lAsDoubleDimrAsDoubleConstpi=3.1415926r=Val(InputBox("请输入半径:"))l=2*3.1415926*rs=r*r*3.1415926Label2.Caption=Str(s)Label5.Caption=Str(l)EndSub程序3、PrivateSubCommand1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Command1.MoveInt(Rnd*(Form1.ScaleWidth-Command1.Width)),Int(Rnd*(Form1.ScaleHeight-Command1.Height))EndSub程序4、PrivateSubCommand1_Click()Command1.MoveInt(Rnd*(Form1.ScaleWidth-Command1.Width)),Int(Rnd*(Form1.ScaleHeight-Command1.Height))EndSub程序5、PrivateSubCommand1_Click()Text1.Text=Int(Rnd*(6))+1Text2.Text=Int(Rnd*(6))+1Text3.Text=Val(Text1.Text)+Val(Text2.Text)Form1.BackColor=RGB(Int(Rnd*255)+1,Int(255*Rnd)+1,Int(255*Rnd)+1)EndSub15 第3章结构化程序设计与数组习题一、判断题参考答案1.√2.×3.√4.×5.√6.×7.×8.√9.×10.×二、选择题参考答案1.A2.A3.D4.C5.C6.D7.D8.B(提示:因为IfmModi=0ThenExitFor:Nexti在同一行上,系统认为是if语句)三、填空题参考答案1.Ifx>yThent=y:y=x:x=t2.IS3.Fori=0to9:B(i)=InputBox("B("&i&")="):Nexti4.ReDimc(n)assingle5.String6.8(4个元素,每个元素2个字节)四、程序阅读题(写出下列程序的运行结果)参考答案:程序1.5511程序2.20程序3.2471116程序4.1491625程序5.程序6.五、程序填空题参考答案:1.(1)s=1(2)n(3)s=s+p2.(1)Whiler<>0(2)r=mModn(3)printn3.(1)v=0(2)v=v+a(i)(3)v=v/n(4)a(i)>v4.(1)m(2)n(3)exitfor(4)j<=n5.(1)k=i(2)k=j(3)a(k)=t(4)a(i)Mod2=16.(1)j+i-1(2)6-i+1(3)print15 六、程序设计题参考答案:程序1.PrivateSubForm_Click()DimxAsInteger,yAsInteger,zAsIntegerDimmaxAsInteger,middAsInteger,minAsIntegerx=InputBox("请输入x的值:")y=InputBox("请输入y的值:")z=InputBox("请输入z的值:")Ifx3Theny=x+3ElseIfx>=1Theny=x*xElseIfx>0Theny=Sqr(x)Elsey=0EndIfPrintyEndSub程序3.PrivateSubForm_Click()DimiAsByte,jAsByteFori=1To9Forj=1ToiPrintTab(8*(j-1));Trim(Str(i));"*";Trim(Str(j));"=";Trim(Str(i*j));Nextj15 PrintNextiEndSub程序4.PrivateSubForm_Click()DimxAsInteger,nAsInteger,iAsInteger,pAsSingle,sAsSinglen=Val(InputBox("请输入n"))x=Val(InputBox("请输入x"))s=1+x:p=1Fori=2To(n+1)Step1p=p*x/is=s+pNextiPrintsEndSub程序5.PrivateSubForm_Click()DimeAsSingle,aAsSingle,nAsIntegera=1"级数第1项为1e=1"将第1项存入en=0"变量n记录当前已累加的项数Whilea>(0.0001)n=n+1:a=a/n:e=e+aWendPrint"e=";e;"n=";nEndSub程序6.方法一PublicSubForm_Click()"同构数是指一个数出现在它的平方数的右端"如25在25平方625的右端,则25为同构数"利用数字转字符再取出右端字符的方法进行判断DimiAsLongDimx1AsString,x2AsStringFori=1To1000x1=Trim(Str(i))"将i转字符型x2=Trim(Str(i^2))"将i^2转字符型15 IfRight(x2,Len(x1))=x1ThenForm1.Printi;"是同构数"EndIfNextiEndSub方法二PrivateSubForm_Click()Dimi&,wsAsIntegerFori=1To1000ws=Len(Str(i))-1If(i*i-i)Mod10&^ws=0ThenPrinti;NextEndSub程序7.PrivateSubForm_Click()Dimi%,j%,sAsDouble,x(10)AsSingle,y(10)AsSingleRandomizeFori=1To10"生成10个坐标点x(i)=Int(Rnd*90)+10Print"("&x(i)&",";y(i)=Int(Rnd*90)+10Printy(i)&")";NextFori=1To9"按公式计算Forj=i+1To10s=s+Sqr((x(i)-x(j))^2+(y(i)-y(j))^2)NextNextPrintPrint"各点距离之和:"&sEndSub程序8.PrivateSubForm_Click()DimnAsInteger,mAsInteger,iAsInteger,jAsIntegerm=Val(InputBox("请输入a数组元素个数:"))n=Val(InputBox("请输入b数组元素个数:"))ReDima(m)AsInteger,b(n)AsInteger15 Fori=1Toma(i)=Val(InputBox("a("&i&")="))NextiFori=1Tonb(i)=Val(InputBox("b("&i&")="))NextiFori=1TomForj=1TonIfa(i)=b(j)ThenExitForNextjIfj>nThenPrinta(i);NextiForj=1TonFori=1TomIfa(i)=b(j)ThenExitForNextiIfi>mThenPrintb(j);NextjEndSub程序9.PrivateSubForm_Click()Dima(5,5)AsInteger,iAsInteger,jAsIntegerFori=1To5Forj=1To5-i+1a(i,j)=7-i-jNextjNextiFori=2To5Forj=5-i+1To5a(i,j)=j+i-5NextjNexti"打印二维数组Fori=1To5Forj=1To5Printa(i,j);Nextj15 PrintNextiEndSub程序10.(1)OptionBase1PrivateSubForm_Click()DimnAsInteger,iAsInteger,jAsInteger,kAsInteger,c%()n=Val(InputBox("请输入行数n:"))n=n+1ReDimc(n,n)Fori=1Tonc(i,1)=1c(i,i)=1NextiFori=3TonForj=2Toi-1c(i,j)=c(i-1,j-1)+c(i-1,j)NextjNextiFori=1TonForj=1ToiPrintc(i,j);NextjPrintNextiEndSub(2)PrivateSubForm_Click()DimnAsInteger,iAsInteger,jAsInteger,kAsInteger,c%()Do‘假设n范围在1-9n=Val(InputBox("请输入行数n:"))LoopUntiln>0Andn<10n=n+1ReDimc(n,n)"产生杨辉三角形Fori=1Tonc(i,1)=115 c(i,i)=1NextiFori=3TonForj=2Toi-1c(i,j)=c(i-1,j-1)+c(i-1,j)NextjNexti"打印杨辉三角形,每个数字占4列Fori=1Ton"打印n行PrintTab((4*n-4*i)/2);"确定打印起始列Forj=1Toi"打印i个数字PrintSpace(4-Len(Trim(Str(c(i,j)))))&Trim(Str(c(i,j)));NextjPrintNextiEndSub第4章函数与过程习题一、判断题1.×2.√3.×4.×5.√6.×7.×8.√9.√10.√二、填空题参考答案1.按地址传送2.b()AsLong3.64.按值传递5.按地址传递6.PublicxAsSingle7.StaticxAsInteger8.Form2.y9.functionf9(a()assingle,n)assingle10.subf10(a()assingle,nasinteger)11.subf10(a()assingle,masinteger,nasinteger,maxassingle,minassingle)12.c=form1.f12(a,b)三、程序阅读题(写出下列程序的运行结果)15 程序1.s=2程序2.command1command2s=511s=9121314程序3.Byref时分别输出0101,0110,01011,010001(注意:语句Printn;f(n)在一行上结果如上)Byval时分别输出5101,6110,111011,1710001程序4.分别输出:0323程序5.结果(杨辉三角形)四、程序填空题参考答案:1.(1)ByeVal(2)nModk=0(3)n=ni(4)Callpp(i)2.(1)asstring(2)n>0(3)f16=chr(65+k)+f16(4)n=n163.(1)a()AsDouble,nAsInteger(2)t=t*x(3)f=s4.(1)a()AaDouble,nasinteger(2)n-1(3)a(j)Abs(xmax)Thenxmax=x(i,j):ki=i:kj=jNextj,iEndSub程序5.OptionExplicitPublicFunctiong1(a%(),n%)AsDoubleDimi%Fori=1Tong1=g1+a(i)Nextg1=g1/n15 EndFunctionPublicFunctiong2(a%(),n%)AsDoubleDimi%,t#t=g1(a,n)Fori=1Tong2=g2+(a(i)-t)^2Nextig2=Sqr(g2)/nEndFunction"调用PrivateSubCommand1_Click()Dimx%(10),g#,i%Fori=1To10x(i)=iNextiPrintg2(x,10)"计算g2EndSub15'