西科大网络教育《程序设计语言VB》指导书作业参考答案.docx
西科大网络教育程序设计语言VB指导书作业参考答案第1题PrivateSubCommand1_Click()DimaAsLongDimnAsIntegern=0a=Val()DoIfa<100000Thena=a*2n=n+1ElseExitDoEndIfLoopMSgBOX”共翻“&n&”倍”EndSub第2题PrivateSubCommand1_Click()Fori=1To50Forj=2To50Step2Fork=5To50Step5Ifi+j+k=50ThenPrinti&”个1分+“&j&”个2分+"&k&”个5分”EndIfNextkNextjNextiEndSub第3题PrivateSubCommand1_Click()Dimprod(4)AsSingleDimalIprodAsSingleDimmaxAsSingleDimposAsInteger,最大数位置alIprod=0max=0pos=0Fori=1To4prod(i)=InPUtBoX("输入第“&i&”个季度的产量”)alIprod=alIprod+prod(i)Ifmax<prod(i)Thenmax=prod(i)EndIfNextiFori=1To4Print&i&"季度的产量占全年的百分比="&prod(i)/allprod*100&"%Ifprod(i)=maxThenpos=iEndIfNextiPrint”最大产量的季度="&POSEndSub第4题PrivateSubCommand1_Click()DimaAsSingleDimnAsIntegern=Oa=Val()Doa=a*0.5n=n+1Ifa<0.001ThenExitDoEndIfLoopMSgBOX"分半的次数="&nEndSub第5题PrivateSubCommand1_Click()DimscoreAsSingleDima,b,c,dAsInteger'a,b,c,d分别为各分数段的人数Fori=1To6score=Val(InPUtBox("请输入第“&i&”位学生的成绩”)Ifscore<60Thena=a+IEIseIfscore<=70Thenb=b+1ElseIfscore<100ThenElsed=d+1EndIfNextiPrint”不及格:'60-70",”71-99",“100”Printa,b,c,dEndSub第6题PrivateSubCommand1_Click()DimaAsSingleDimbAsSinglea=Val()b=0Ifa>=800Anda<=2000Thenb=a*0.02EIseIfa>2000Thenb=a*0.05EndIfMSgBOX”应收税="&b&”元"EndSub第7题PrivateSubCommand1_Click()Dima,sAsIntegern=InPUtBOX("请输入需要计算的次数")s=0Fori=1Tons=s+i*(i+1)NextiMsgBox,S="&sEndSub第8题PrivateSubCommand1_Click()DimaAsIntegerDimallAsIntegerall=0a=Val()Ifa<0Ora>100ThenMsgBox”输入的数应在0-100之间”ElseFori=0ToaStep2all=all+iNextiEndIfMSgBOX”小于此数的偶数之和为:”&allEndSub第9题PrivateSubCommand1_Click()DimnAsInteger,定义个数DimscoreAsInteger,定义单个成绩Dimal!ScoreAsInteger'定义成绩的累加DimmaxAsInteger,定义存放最大数的变量DimminAsInteger,定义存放最小数的变量max=0min=10n=OallScore=0Doscore=Val(InPUtBOx("请输入第”&(n+1)&”位评委的成绩”)Ifscore>10ThenMSgBoX”成绩应在010之间,请重输”GoTo10,跳转到10EIseIfscore<0ThenExitDoElseIfmax<scoreThenmax=scoreEndIfIfmin>scoreThenmin=scoreEndIfallScore=allScore+scoren=n+1EndIf10LoopallScore=allScore-max-min,去掉一个最大数和一个最小数n=n-2=allScore*l#/n'*1.0的目的是将整数转换为小数EndSub第10题PrivateSubCommand1_Click()DimpriceAsSingle,票价DimnumAsInteger,订票数DimmonthAsInteger'月份price=InPUtBOx("请输入票价")num=InPUtBOx("请输入订票数”)month=InPUtBox(”请输入月份")Ifmonth>=7Andmonth<=9Then,若在7-9月份Ifnum>20Thenprice=price*num*(I-0.15),优惠15%EIseIfnum>10Thenprice=price*num*(I-0.05),优惠5%EndIfElseIfmonth>=IAndmonth<=5Andmonth=11Then,若在1-5月份和11月份Ifnum>20Thenprice=price*num*(I-0.25),优惠25%EIseIfnum>10Thenprice=price*num*(I-0.15),优惠15%EndIfEndIf=priceEndSub第11题PrivateSubCommand1_Click()DimstrlAsStringstrl=IfMid(Strl,1,3)="358"Then,mid函数中第2个参数代表取子串的起始位置,'第3个参数代表取子串的长度on=”一等奖”ElseIfMid(strl,1,2)=',35"Thenon二"二等奖”ElseIfMid(str1,1,l)="3,Thenon二"三等奖”Elseon二"谢谢参与”EndIfEndSub第12题Dima,b,cAsIntegerDimx1,x2AsSinglePrivateSubCommand1_Click()a=Val()b=Val()c=Val()Ifb*b-4*a*c<0ThenPrint”此方程无实根”EIseIfb*b-4*a*c=OThenxl=b/(2*a)Print”实根xl=x2="&xlElsexl=(b+Sqr(b*b-4*a*c)/(2*a)xl=(b-Sqr(b*b-4*ac)/(2*a)Print”实根xl="&xlPrint”实根x2="&x2EndIfEndSub第13题PrivateSubOptionl_Click()EndSubPrivateSubOption2_Click()_IIHEndSuhPrivateSubOption3_Click()="Good"EndSub第14题PrivateSubCheckl_Click()If=CheckedAnd=UncheckedAnd=CheckedThen="Hello"Else_IHIEndIfEndSubPrivateSubCheck2_Click()If=CheckedAnd=UncheckedAnd=CheckedThen="Hello"Else_IHIEndIfEndSubPrivateSubCheck3_Click()If=CheckedAnd=UncheckedAnd=CheckedThen="Hello"Else_IHIEndIfEndSub第15题-ll×lPrivateSubCommand1_Click()Jtfl.DimstrlAsStringPrivateSubTextl_GotFocus()=strlEndSubPrivateSubTextl_LostFocus()strl=_IHIEndSubPrivateSubText2_GotFocus()=strlEndSubPrivateSubText2_LostFocus()strl=一HllEndSub第16题PrivateSubCommand1_Click()Dima(5,5)AsIntegerDimmax,maxi,maxjAsIntegermax=0Fori=1To5Forj=1To5a(i,j)=Int(Rnd*99)+1NextjNextiFori=1To5Forj=1To5Printa(i,j);,”;NextjPrintNextiFori=1To5Forj=1To5Ifmax<a(ij)Thenmax=a(ij)maxi=imaxj=jEndIfNextjNextiPrint"最大元素的值:"&max&"行:"&maxi&咧:"&maxjEndSub第17题PrivateSubCommand1_Click()ed=TrueEndSubPrivateSubCommand2_Click()ed=FalseEndSubPrivateSubCOmmand3_Click()_IIHEndSubPrivateSubTimerl_Timer()=NowEndSub第18题菜单建立如下:代码如下:PrivateSubbegin_Click()OEndSubPrivateSubexit_Click()UnloadMeEndSubPrivateSubstop_Click()UnloadForm2EndSub第19题在SCore.txt文件中存放了10个运动员IOO米跑的成绩,例如:13.512.815.416.113.212.113.614.313.213.3PrivateSubCommand1_Click()Dima(10)AsIntegerDimsc(10)AsSingleOpen&",'ForInputAs#1Fori=ITo10Input#1,sc(i)a(i)=iNextiClose#1Fori=1To9Forj=i+1To10Ifsc(i)>sc(j)Then,按从小到大顺序排列temp=sc(i)咬换SC与sc(j冲的数据sc(i)=sc(j)sc(j)=temptempi=a(i)'交换a(i)与a(j)中的数据(即名次也得交换)a(i)=a(j)a(j)=temp1EndIfNextjNextiPrint”名次运动员号”,“100米成绩”Fori=1ToIOPrinti,a(i),sc(i)NextiEndSub附录c:程序设计语言(VB)练习题一、选择题:BCDEFAULTDBCDAABCBCADCCCBABD二、简述下图程序界面的设计步骤(包括添加控件、设置属性和编程)(1) 将Form窗体的Caption属性设置为“图片框”(2) 在Form窗体中添加PictureBox控件(3) 给PictureBox控件的Picture属性选择“我的小屋”图片(4) 在Form窗体中添加二个CommandButton控件(5) 将第一个COmmandBUttOn控件的Caption属性设置为“加载图片”(6) 将第二个CommandBUttOn控件的Caption属性设置为“清除图片”(7) 在第一个CommandButton控件的Click事件中添加如下代码:re=LoadPicture(“我的小屋.bmp")(8) 在第二个CommandButton控件的Click事件中添加如下代码:re=LoadPicture("我的小屋.bmp")(1) 将Form窗体的Caption属性设置为“旅游费用计算”(2) 在FOrm窗体上添加Frame控件,并将Frame控件的Caption属性设置为'选择旅游地点”(3) 在Frame控件中添加三个Check控件,并将Caption属性分别设置为“九寨沟”、“李白故里、“子云亭”(4) 在Form窗体上添加Label控件,并将其C叩tion属性设置为“费用(元)”(5) 在Form窗体上添加Text控件和CommandButton控件,并将CommandButton控件的CaPtiOn属性设置为“确认”、DefaUIt属性设置为TnIe(6) 在代码窗口中添加如下代码:PrivateSubCommand1_CIick()DimFeeAsIntegerFee=OIF=CheckedTHENFee=Fee+450ENDIFIF=CheckedTHENFee=Fee+8OOENDIFIF=CheckedTHENFee=Fee+500ENDIF=FeeENDSUB(1) 将Form窗体的Caption属性设置为“地理测试”(2) 在Form窗体上添加Frame控件,并将Frame控件的Caption属性设置为西南科技大学地址”(3) 在Frame控件中添加三个OPtiOn控件,并将Caption属性分别设置为“成都”、“重庆”、“绵阳”、“昆明”(4) 在Form窗体上添加Label控件,并将其Caption属性设置为“答案”(5) 在Fonn窗体上添加TeXt控件和COmmandBUtton控件,并将COmmandBUIIon控件的CaPtiOn属性设置为“确认”、DefaUlt属性设置为TrUe(6) 在代码窗口中添加如下代码:PrivateSubCommandl_Click()IF=TrueTHEN二”正确”ELSE=''不正确''ENDIFENDSUB(1) 将Form窗体的Caption属性设置为“居住地选择”(2) 在Form窗体上添加二个Label控件,将第一个Label控件的Caption属性设置为“请选择城市”,将第二个Label控件的Caption属性值设置为空(3) 在Form窗体上添加一个LiSt控件,并将LiSt属性设置为“北京”、“成都”、“绵阳”、“昆明”(4) 在代码窗口中添加如下代码:PrivateSubListl_Click()On=On&"你选择的是“&vblfon=on&(ndex)&vblfENDSUB(1) 将Form窗体的Caption属性设置为“滚动条”(2) 在Form窗体上添加一个Label控件,并将Caption属性设置为“用文本框显示滚动条的数值”(3) 在Form窗体上添加一个Text控件和HScrollBar控件,并将HScrolIBar控件的Max属性和Min属性分别设置为IOO和1(4) 在代码窗口中添加如下代码:PrivateSubHScrollBarl_Click()ENDSUB三、说明下列程序的运行结果或回答问题1、82、213、314、输出一个空行5、1.526、634437、800003000123345567