


版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)AVB環(huán)境和可視化編程基礎(chǔ)1.(1)運(yùn)行界面(2)參考代碼:2. PrivateSubCommand1_Click()label3.Caption=text1.TextEndSub也要考慮文字出窗體邊模仿教材例1.1,將事件過(guò)程中自上而下移動(dòng)改為自右向左移動(dòng),界的情況。(1)運(yùn)行界面(2)參考代碼:3. PrivateSubCommand1_Click()Timer1.Interval=0CallmymoveEndSubSubmymove()Label1.MoveLabel1.Left-20IfLabell.Left=0ThenLabell.Left=Forml.WidthEndSubPr
2、ivateSubCommand2_Click()Timerl.Interval=200EndSubPrivateSubTimer1_Timer()CallmymoveEndSub編寫(xiě)一程序,在文本框中統(tǒng)計(jì)在該窗口上鼠標(biāo)單擊的次數(shù)。(1)運(yùn)行界面:(2)編寫(xiě)代碼:PrivateSubForm_Click()Text1=Val(Text1)+1EndSubPrivateSubForm_Load()Text1.Text=""EndSub4代碼:PrivateSubForm_Click()Form1.Caption="鼠標(biāo)單擊"Form1.Picture=Loa
3、dPicture("d:1.jpg")EndSubPrivateSubForm_DblClick()Form1.Caption="鼠標(biāo)雙擊"Form1.Picture=LoadPicture("d:2.jpg")EndSubPrivateSubForm_Load()Form1.Picture=LoadPicture("d:3.jpg")EndSub5.命令按鈕、字號(hào)、內(nèi)容和格式的復(fù)制練習(xí)(1)運(yùn)行界面(2)參考代碼:PrivateSubCommand1_Click()Textl.FontName="黑體&
4、quot;Text1.FontSize=25EndSubPrivateSubCommand2_Click()Text2.Text=Text1.SelTextText2.FontName=Text1.FontNameText2.FontSize=Text1.FontSizeText1.SetFocusEndSub實(shí)驗(yàn)B順序結(jié)構(gòu)1編一個(gè)華氏溫度與攝氏溫度之間轉(zhuǎn)換的程序,要求用按鈕實(shí)現(xiàn)轉(zhuǎn)換。既單擊“華氏轉(zhuǎn)攝氏”按鈕,則將華氏溫度轉(zhuǎn)換為攝氏溫度;同樣,單擊“攝氏轉(zhuǎn)華氏”按鈕,則將攝氏溫度轉(zhuǎn)換為華氏溫度。代碼:PrivateSubCommand1_Click()Dimf!,c!f=Val(Text1.T
5、ext)c=5/9*(f-32)Text2.Text=Format(c,"0.00")EndSubPrivateSubCommand2_Click()Dimf!,c!c=Val(Text2.Text)f=9/5*c+32Text1.Text=Format(f,"0.00")EndSub2(1)運(yùn)行界面(2)參考代碼PrivateSubCommand1_Click()r=Text1.TextLabel1.Caption=Format(3.14*r*r,".00")Textl.SetFocusEndSubPrivateSubCommand
6、2_Click()r=Val(Textl.Text)Label2.Caption=Format(3.14*2*r,".00")Textl.SetFocusEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenIfNotIsNumeric(Textl)ThenMsgBox"輸入有誤,請(qǐng)重輸入”Textl.SetFocusTextl.SelStart=0Textl.SelLength=Len(Textl.Text)EndIfEndIfEndSubPrivateSubText1_LostFoc
7、us()IfNotIsNumeric(Textl)ThenMsgBox"輸入有非數(shù)字字符,請(qǐng)重新輸入","2-2"Textl.SetFocusTextl.SelStart=0Textl.SelLength=Len(Textl.Text)EndIfEndSub3.我國(guó)有13億人口,按人口增長(zhǎng)0.8%計(jì)算,多少年后我國(guó)人口超過(guò)26億。(1)運(yùn)行界面4. (2)參考代碼PrivateSubCommand1_Click()a=Int(Log(2)/(Log(1+0.008)+1Text1.Text=a&”年后,我國(guó)人口超過(guò)26億”EndSub輸入一字符串
8、,分別調(diào)用Ucase、Len函數(shù)將其轉(zhuǎn)換成大寫(xiě)字母并顯示其字符串長(zhǎng)度5. (1)運(yùn)行界面(2)參考代碼PrivateSubCommand1_Click()Text2.Text=UCase(Textl.Text)Text3.Text=Len(Text1.Text)EndSub隨機(jī)產(chǎn)生一個(gè)3位正整數(shù),然后逆序輸出,產(chǎn)生的隨機(jī)數(shù)與逆序數(shù)同時(shí)顯示。例如,產(chǎn)生735,輸出是537(1)運(yùn)行界面(2)參考代碼:6. PrivateSubCommand1_Click()x=Int(899+1)*Rnd+100)a=x100b=(xMod100)10c=xMod10Text1.Text=xText2.Text
9、=c*100+b*10+aEndSubLabel3使用Mid、Left、Right函數(shù)。在Text1文本框中輸入一字符串,在Iabel1、Label2、中顯示如圖的效果。(1)運(yùn)行界面(2)參考代碼:7. PrivateSubForm_Click()Textl.FontSize=16Labell.FontSize=16Label2.FontSize=16Label3.FontSize=16Text1.Text="VisualBasic程序設(shè)計(jì)教程(第三版)"Label1.Caption=Left(Text1.Text,11)Label2.Caption=Mid(Text1.
10、Text,12,6)Label3.Caption=Right(Text1.Text,5)EndSubPrint方法練習(xí),顯示字符圖形。輛rForMl(1)運(yùn)行界面*京衣嘴京衣京女主它*歡否妬?zhàn)?#163;承世金*夷七*.音茯*奮金吞苛命議KA卄寓興寅盤(pán)*吳島召馬吳負(fù)育歳玄N*(2)參考代碼:(aPrivateSubCommand1_Click()PrintFori=1To5PrintTab(13-2*i);String(2*i-1,"");Spc(22-4*i);String(2*i-1,"")NextiEndSubPrivateSubCommand2_
11、Click()Form1.ClsEndSub(b)PrivateSubCommand1_Click()PrintFori=1To5PrintTab(13-2*i);String(2*i-1,"");String(11-2*i,"");String(2*i-1,"")NextiEndSubPrivateSubCommand2_Click()Forml.CIsEndSub&用InputBox輸入一個(gè)正實(shí)數(shù),用Print方法在一行上顯示出它的平方和平方根、立方和立方根,每個(gè)數(shù)保留三位小數(shù),其間有間隔。咔匚回區(qū)B4.0C0202851
12、.0002.000(1)運(yùn)行界面(2)參考代碼:PrivateSubCommand1_Click()x=Val(InputBox("輸入一個(gè)正實(shí)數(shù)")Form1.PrintFormat(x*x,".000");Spc(5);Format(Sqr(x),".000");Spc(5);Format(x*x*x,".000");Spc(5);Format(xA(1/3),".000")EndSub實(shí)驗(yàn)C選擇結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?掌握邏輯表達(dá)式的正確書(shū)寫(xiě)形式2掌握單分支與雙分支條件語(yǔ)句的使用。3掌握多分支條
13、件語(yǔ)句的使用。4掌握情況語(yǔ)句的使用及其與多分支條件語(yǔ)句之間的區(qū)別。二、實(shí)驗(yàn)內(nèi)容1、在購(gòu)買(mǎi)某物品時(shí),若所標(biāo)明的價(jià)錢(qián)x在下述范圍內(nèi),所付錢(qián)y按對(duì)應(yīng)所扣支付:x,xV1000=.0.9x,1000WXV2000y=0.8x,2000Wxv30000.7x,x>3000J提示:此題用多分支結(jié)構(gòu)實(shí)現(xiàn),注意計(jì)算公式和條件表達(dá)式的正確書(shū)寫(xiě)。實(shí)驗(yàn)?zāi)康模赫莆斩噙卛f語(yǔ)句的正確使用實(shí)驗(yàn)步驟:1新建新工程2要求單擊窗體提示物品的價(jià)錢(qián),最后在窗體上顯示所付錢(qián)y代碼如下:PrivateSubForm_Click()DimxAsSingle,yAsSinglex=Val(lnputBox("請(qǐng)輸入物品價(jià)錢(qián)
14、:")Ifx<1000Theny=xElselfx>=1000Andx<2000Theny=0.9*xElselfx>=2000Andx<3000Theny=0.8*xElselfx>=3000Theny=0.7*xEndIfPrint"所付錢(qián)為:”;yEndSub2、編一程序輸入上網(wǎng)的時(shí)間并計(jì)算上網(wǎng)費(fèi)用,計(jì)算的方法如下:廠(chǎng)基數(shù)30元,上網(wǎng)時(shí)間v10小時(shí)費(fèi)用二每小時(shí)2.5元,上網(wǎng)時(shí)間1050小時(shí)每小時(shí)2元,上網(wǎng)時(shí)間>50小時(shí)J同時(shí)為了鼓勵(lì)多上網(wǎng),每月收費(fèi)最多不超過(guò)150元。提示:首先利用多分支條件更具三個(gè)時(shí)間段算出費(fèi)用,然后再用if
15、語(yǔ)句對(duì)超過(guò)150元的費(fèi)用設(shè)置為150元。略:提示和第一題類(lèi)似3、輸入x,y,z三個(gè)數(shù),按從大到小的次序顯示。實(shí)驗(yàn)?zāi)康模赫莆諉芜吇蚯短譱f語(yǔ)句的使用實(shí)驗(yàn)步驟:1新建工程2代碼如下:PrivateSubForm_click()DimxAsInteger,bAsInteger,zAsInteger,dAsIntegerdimx!,y!,z!x=InputBox("請(qǐng)輸入第一個(gè)數(shù)")y=InputBox("請(qǐng)輸入第二個(gè)數(shù)")z=InputBox("請(qǐng)輸入第三個(gè)數(shù)")Print"排序前"x;Spc(5);y;Spc(5);z
16、Ifx<yThend=x:x=y:y=dEndIfIfy<zThend=y:y=z:z=dEndIfIfx<yThend=x:x=y:y=dEndIfPrint"排序后"x;Spc(5);y;Spc(5);zEndSub4、利用實(shí)驗(yàn)c的思想,隨機(jī)產(chǎn)生3個(gè)整數(shù),按從小到大的順序顯示。PrivateSubForm_click()DimxAsInteger,yAsInteger,zAsInteger,dAsIntegerRandomizex=Int(Rnd*101):y=Int(Rnd*101):z=Int(Rnd*101)Print"排序前"
17、;x;Spc(5);y;Spc(5);zIfx>yThend=x:x=y:y=dEndIfIfy>zThend=y:y=z:z=dEndIfIfx>yThend=x:x=y:y=dEndIfPrint"排序后"x;Spc(5);y;Spc(5);zEndSub5、利用計(jì)算機(jī)解決古代數(shù)學(xué)問(wèn)題“雞兔同籠問(wèn)題”。即已知在同一籠子里有總數(shù)為m只雞和兔,雞和兔的總腳數(shù)為n只,求雞和兔各有多少只?實(shí)驗(yàn)?zāi)康模赫莆読f語(yǔ)句使用,分析解題中出現(xiàn)的可能情況,避免出現(xiàn)不合理的結(jié)果,提高解決實(shí)際問(wèn)題的能力。實(shí)驗(yàn)步驟:1創(chuàng)建新工程界面如上2代碼如下:PrivateSubForm_L
18、oad()Labell.Caption="輸入總只數(shù)"Label2.Caption="輸入總腳數(shù)"Label3.Caption="求得雞數(shù)"Label4.Caption="求得兔數(shù)"Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""EndSubPrivateSubForm_Load()Label1.Caption="輸入總只數(shù)"Label2.Caption=&qu
19、ot;輸入總腳數(shù)"Label3.Caption="求得雞數(shù)"Label4.Caption="求得兔數(shù)"Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""EndSubPrivateSubText2_LostFocus()Dimm%,n%,y%m=Val(Textl)n=Val(Text2)IfnMod2<>0ThenMsgBox("腳數(shù)必定為偶數(shù)")Text2=""
20、;Text2.SetFocusElsey=n/2-mIfy<0ThenMsgBox"腳數(shù)必須>=2倍的頭數(shù),”,vbOKOnly,"sy2-5"Text2=""Text2.SetFocusElsex=m-yText3=xText4=yEndIfEndIfEndSub6、輸入一元二次方程ax2+bx+c=0的系數(shù)a,b,c,計(jì)算并輸出一元二次方程的連個(gè)根x1,x2.實(shí)驗(yàn)步驟:1創(chuàng)建一個(gè)新的工程2代碼如下:PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(Te
21、xtl.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa<>0Thendelta=bA2-4*a*cre=-b/(2*a)Ifdelta>0Thensb=Sqr(delta)/(2*a)Text4.Text=Str(re+sb)Text5.Text=Str(re-sb)ElseIfdelta=0ThenText4.Text=Str(re)Text5.Text=Str(re)Elsexb=Sqr(-delta)/(2*a)Text4.Text=Str(re)&"+"&Str(xb)&"i&
22、quot;Text5.Text=Str(re)&"-"&Str(xb)&"i"EndIfElseIfb<>0Thenygz=-b/cText4.Text=Str(ygz)ElseText4.Text="方程無(wú)意義!"EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Text1="":Text2=""Text3="":Text4="&quo
23、t;Text5=""EndSub7、編一模擬袖珍計(jì)算器的完整程序,。要求:輸入兩個(gè)操作數(shù)和一個(gè)操作符,根據(jù)操作符決定所做的運(yùn)算。實(shí)驗(yàn)?zāi)康模赫莆誷electcase語(yǔ)句的使用1新建一個(gè)工程2代碼如下:PrivateSubCommand1_Click()op=Trim(Text3.Text)SelectCaseopCase"+"Text4.Text=Val(Text1)+Val(Text2)Case"-"Text4.Text=Val(Text1)-Val(Text2)Case"*"Text4.Text=Val(Text
24、1)*Val(Text2)Case"/"IfVal(Text2)=0ThenMsgBox"除數(shù)不能是零!,重新輸入”Text2=""Text2.SetFocusElseText4.Text=Val(Textl)/Val(Text2)EndIfEndSelectEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Text1.Text="":Text2.Text=""Text3.Text="":Text4.Text=&
25、quot;"EndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Text1.Text="":Text2.Text=""Text3.Text="":Text4.Text=""EndSub8、輸入一個(gè)數(shù)字(17),分別通過(guò)select語(yǔ)句和choose函數(shù)兩種方法用英文顯示對(duì)應(yīng)的星期一星期日略:參考書(shū)上例子4.10i222333334444444S555555557777777777771關(guān)旳閔EB耶甜日的ggg亟翦的ggg勺的g?AAA
26、AAAAAAAAAAAAACCCCCCCCCCCCCCEE.EEEEEEIEmmftGGGGGGIII*Forml-dxD<心ill時(shí)垃:35919?qrISter沿枯Z妙】號(hào)Z4實(shí)驗(yàn)D循環(huán)結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?掌握f(shuō)or語(yǔ)句的使用2掌握Do語(yǔ)句的各種形式的使用3掌握如何控制循環(huán)條件,防止死循環(huán)或不循環(huán)二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)?zāi)康模赫莆諉窝h(huán)結(jié)構(gòu)以及tab、trim函數(shù)的使用。1、利用單循環(huán)結(jié)構(gòu)顯示如圖所示的界面實(shí)驗(yàn)步驟:1創(chuàng)建一個(gè)新的工程2代碼如下PrivateSubForm_Click()Fori=1To9PrintTab(10-i);String(2*i-1,Trim(Str(i)NextiE
27、ndSub2、用單循環(huán)實(shí)現(xiàn)如圖的界面實(shí)驗(yàn)步驟1創(chuàng)建一個(gè)新的工程2主要代碼如下:Fori=1To9PrintTab(i);String(2*(10-i),Trim(Chr(i+64)Nexti3、計(jì)算s=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29+當(dāng)?shù)趇項(xiàng)的值<10-4時(shí)結(jié)束。提示:找出規(guī)律,第i項(xiàng)的分母是前一項(xiàng)的分母加i開(kāi)始計(jì)數(shù)??衫胒or循環(huán)結(jié)構(gòu)的循環(huán)控制變量獲得項(xiàng)數(shù),當(dāng)某項(xiàng)達(dá)到規(guī)定的精度時(shí)退出循環(huán)。實(shí)驗(yàn)?zāi)康模豪醚h(huán),計(jì)算部分級(jí)數(shù)和。實(shí)驗(yàn)步驟:1創(chuàng)建一個(gè)新的工程,窗體布局如右圖2代碼如下:PrivateSubCommand1_Click()Dims!,t!,
28、i&s=1:t=1:i=iDoWhile1/t>0.00001t=t+is=s+1/ti=i+1LoopPrint"Dowhile結(jié)構(gòu)"s,i-1;"項(xiàng)”EndSubPrivateSubCommand2_Click()Dims!,t!,i&s=1:t=1Fori=1To100000t=t+is=s+1/tIf1/t<0.00001ThenExitForNextiPrint"for結(jié)構(gòu)"s,i;"項(xiàng)"EndSub4、計(jì)算的近似值,的計(jì)算公式為:=22242356257(2n)2(2n1)(2n1)實(shí)
29、驗(yàn)步驟:1新建一個(gè)工程2代碼如下:注意溢出問(wèn)題PrivateSubForm_Click()DimiAsLong,sAsDoubles=2n%=Val(lnputBox("輸入n的值:")Fori=1Tons=s*(2*i)人2)/(2*i-1)*(2*i+1)NextiPrint"當(dāng)n為:"n;"時(shí)計(jì)算結(jié)果為”;sEndSub5、求sn=a+aa+aaa+aaaa+.+aaa(n個(gè)a),其中a是一個(gè)隨機(jī)數(shù)產(chǎn)生的19(包括1,9)中的一個(gè)正整數(shù),n是一個(gè)隨機(jī)產(chǎn)生的510(包括5,10)中的一個(gè)數(shù)。實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)根據(jù)問(wèn)題的要求找規(guī)律、寫(xiě)通項(xiàng);掌握循
30、環(huán)的正確使用。實(shí)驗(yàn)步驟:1新建一個(gè)工程2代碼如下:PrivateSubForm_Click()Dims!,t!,i!,a%,n%a=Int(Rnd*9+1)n=Int(Rnd*6+5)Print"a="&a;"n="&nt=0:s=0Fori=1Tont=t*10+as=s+tPrintt;NextiPrint"s="sEndSub6、編一程序,顯示出所有的水仙花數(shù)。所謂水仙花數(shù),是指一個(gè)和等于數(shù)字本身。3位數(shù),其各位數(shù)字立方提示:解該題的方法有兩種:1利用三重循環(huán),將三個(gè)數(shù)連接成一個(gè)3位數(shù)進(jìn)行判斷。實(shí)驗(yàn)步驟:1新建一
31、個(gè)工程2代碼如下:PrivateSubForm_Click()Dimi%,j%,k%Fori=1To9Forj=0To9Fork=0To9a=iA3+jA3+kA3b=i&j&kIfa=Val(b)ThenPrintb&"是水仙花數(shù)"EndIfNextkNextjNexti血花墩“山旋數(shù)1537&3T11OIEndSub2利用單循環(huán)將一個(gè)3位數(shù)逐位分離后進(jìn)行判斷。實(shí)驗(yàn)步驟:1新建一個(gè)工程2代碼如下:PrivateSubForm_Click()Form1.FontSize=24Forn=100To999a=Int(n/100)b=Int(n-a
32、*100)/10)c=n-(a*100+b*10)p=aa3+ba3+ca3Ifp=nThenPrintpNextn'a100'(amod100)10'amod10EndSub7、用迭代法求x=3a.求立方根的迭代公式為:xi1xi2迭代至U33xixi1x105為止,xi1為方程的近似解。實(shí)驗(yàn)?zāi)康模豪玫角蠓匠痰慕平狻?shí)驗(yàn)步驟:1新建一個(gè)工程2代碼如下:PrivateSubForm_Click()Dima!,x0!,x1!a=27x0=2i=0Doi=i+1x1=2*x0/3+a/(3*x0*x0)IfAbs(x1-x0)<0.00001ThenExit
33、Dox0=x1LoopPrint"迭代結(jié)果為:"x1;"迭代次數(shù)為:"iPrint"利用乘方運(yùn)算結(jié)果為:”;aA(1/3)EndSub8、一個(gè)富翁視圖與陌生人做一筆還錢(qián)生意,還錢(qián)規(guī)則為:陌生人每天給富翁10萬(wàn)元錢(qián),直到滿(mǎn)一個(gè)月(30天);而符文第一天給陌生人1分錢(qián),第二天2分,第三天4分,富翁每天給陌生人的錢(qián)是前一天的兩倍,直到滿(mǎn)一個(gè)月。分別顯示富翁給陌生人的錢(qián)和陌生人給富翁的錢(qián)為多少?1 實(shí)驗(yàn)步驟:參考答案新建一個(gè)工程代碼如下:PrivateSubForm_Click()Print"富翁給陌生人的錢(qián)為:"DimiAsInt
34、eger,xAsSingle,sAsSinglei=0:x=0.01:s=0.01Whilei<30x=x*2s=s+xi=i+1WendPrints*100Print"陌生人給富翁的錢(qián)為:"&100000*30EndSub9、用計(jì)算機(jī)安排考試日程。期末某專(zhuān)業(yè)在周一周六的6天時(shí)間內(nèi)要考x,y,z三門(mén)課程,考試順序?yàn)橄瓤紉,然后考y,最后考乙規(guī)定一天只能考一門(mén),且z課程只能安排在周五或周六考。編寫(xiě)程序安排考試日程(即x,y,z三門(mén)課程各在哪一天考),要求列出滿(mǎn)足條件的所有方案。實(shí)驗(yàn)步驟:1 實(shí)驗(yàn)步驟:參考答案新建一個(gè)工程代碼如下:PrivateSubForm_C
35、lick()Dimi%,j%,k%Fori=1To6Forj=1To6Fork=5To6Ifi<jAndj<kThenPrint"x在周"&i,"y在周"&j,"z在周"&kEndIfNextkNextjNextiEndSub實(shí)驗(yàn)E數(shù)組和自定義類(lèi)型1隨機(jī)產(chǎn)生30100的10個(gè)整數(shù),求最大值,最小值,平均值,并顯示整個(gè)數(shù)組的值和結(jié)果。Dima(10)AsIntegerPrivateSubForm_Activate()DimiAsInteger,maxAsInteger,minAsInteger,avg
36、AsIntegerRandomizeFontSize=15Fori=1To10a(i)=Int(Rnd*71+30)Printa(i);Next卩訕""max=a(1)Fori=2To10Ifmax<a(i)Thenmax=a(i)EndIfNextPrint"max="maxmin=a(1)Fori=2To10Ifmin>a(i)Thenmin=a(i)EndIfNextPrint"min="minavg=0Fori=1To10avg=avg+a(i)Nextavg=avg/10Print"avg="
37、avgEndSubString函數(shù),以每五分為一個(gè)標(biāo)2、已知6個(gè)學(xué)生的成績(jī),通過(guò)對(duì)數(shù)組賦初值的方法,利用記顯示,并顯示學(xué)生的成績(jī)。«««十*増5678刎幟98«*«384*44*76*4科十*73Dima(6)AsIntegerPrivateSubForm_Activate()DimiAsInteger,jAsInteger,kAsIntegerFontSize=10a(1)=56a(2)=78a(3)=98a(4)=88a(5)=76a(6)=78Fori=1To6j=a(i)5PrintString(j,Chr(17);a(i)NextEn
38、dSub3、隨機(jī)產(chǎn)生20個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段人數(shù)。即059、6069、7079、8089、90100,并顯示結(jié)果,產(chǎn)生數(shù)據(jù)在Picture1中顯示,統(tǒng)計(jì)結(jié)果在Picture2中顯示。気Foral匚叵岡108?33582.JnM005495cuT46179數(shù)數(shù)數(shù)教人人人人5-78G13個(gè)2亍2個(gè)3豐Dima(20)AsIntegerPrivateSubCommand1_Click()DimiAsIntegerRandomizeFori=1To20a(i)=Int(Rnd*101)Picturel.Printa(i);""IfiMod4=0ThenPicturel.Pr
39、intEndIfNextEndSubPrivateSubCommand2_Click()Dims(9)AsInteger,jAsInteger,kAsIntegerForj=1To20k=a(j)10SelectCasekCase0To5s(5)=s(5)+1Case9To10s(9)=s(9)+1Case6To8s(k)=s(k)+1EndSelectNextForj=0To9Ifs(j)<>0ThenPicture2.Print"s("j;")的人數(shù)有:”;s(j);"個(gè)"EndIfNextEndSub4、隨機(jī)產(chǎn)生10個(gè)2位數(shù),
40、按照從大到小的遞減順序排列,并顯示排序結(jié)果。i氧Foral口回兇'7358623637791178837383797873736258373611Dima(10)AsIntegerPrivateSubForm_Activate()DimiAsInteger,jAsInteger,tAsIntegerFontSize=15Fori=1To10a(i)=Int(Rnd*90+10)Printa(i);""PrintFori=1To9Forj=i+1To10Ifa(i)<a(j)Thent=a(i):a(i)=a(j):a(j)=tEndIfNextNextFori
41、=1To10Printa(i);"”;NextEndSub5、在通用段聲明兩個(gè)二維數(shù)組,利用隨機(jī)函數(shù)形成各個(gè)元素。要求:1) 以下三角形顯示A數(shù)組,上三角形顯示B數(shù)組。2) 求A數(shù)組主對(duì)角線(xiàn)元素之和和B數(shù)組副對(duì)角線(xiàn)元素之和。Dima(4,4)AsInteger,b(4,4)AsIntegerDimiAsInteger,jAsInteger,sum1AsInteger,sum2AsIntegerPrivateSubCommand1_Click()Fori=1To4Forj=1ToiPicture1.Printa(i,j);""NextPicture1.PrintNe
42、xtEndSubPrivateSubCommand2_Click()Fori=1To4Ifi<>1ThenFork=1To6*(i-1)Picture2.Print""EndIfForj=iTo4Picture2.Printb(i,j);""NextPicture2.PrintNextEndSubPrivateSubCommand3_Click()DimxAsInteger,yAsIntegerFori=1To4Forj=1To4Ifi=jThenx=x+a(i,j)EndIfIfi+j=5Theny=y+b(i,j)EndIfNextNex
43、tPicture3.PrintxPicture3.PrintyEndSubPrivateSubForm_Activate()Fori=1To4Forj=1To4a(i,j)=Int(90*Rnd+10)b(i,j)=Int(900*Rnd+100)NextNextFori=1To4Forj=1To4Picture4.Printa(i,j);""NextPicture4.PrintNextFori=1To4Forj=1To4Picture5.Printb(i,j);""NextPicture5.PrintNextEndSub6、輸入整數(shù)n,顯示出具有n行的
44、楊輝三角形。Dima()PrivateSubForm_Load()Forml.FontSize=22Label1.FontSize=18Label1.Caption="輸入行數(shù):"Text1.FontSize=18Text1.Text=""EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)DimnAsIntegerIfKeyAscii=13Thenn=Val(Text1.Text)ClsIfn>10ThenMsgBox"請(qǐng)不要超過(guò)10!"ExitSubEndIfReDima(n,n
45、)Fori=1Tona(i,1)=1:a(i,i)=1NextiPrintTab(20);Format(1,”!")&Chr(13)PrintTab(18);Format(1,"!")&Space(2)&Format(1,"!")&Chr(13)Fori=3TonPrintTab(20-i*2);Format(a(i,1),"!")&Space(2);Forj=2Toi-1a(i,j)=a(i-1,j-1)+a(i-1,j)PrintFormat(a(i,j),"!"
46、;);NextjPrintSpace(2)&Format(a(i,i),"!")&Chr(13)NextiEndIfEndSub7、設(shè)計(jì)一個(gè)選課的運(yùn)行界面,它包含2個(gè)列表框,左邊為已經(jīng)開(kāi)設(shè)的課程名稱(chēng),通過(guò)Form_Load事件加入,并按拼音字母排序;當(dāng)單擊某課程名稱(chēng)后,將該課程加入到右邊列表框,并在左邊列表框中刪除該課程,當(dāng)左邊課程數(shù)已滿(mǎn)5門(mén)時(shí),不允許再加入,出現(xiàn)消息框提示信息。X供選課程我選的課程is應(yīng)坤礎(chǔ)提示DimaAsIntegerPrivateSubForm_Load()List1.AddItem"Web程序設(shè)計(jì)”List1.AddItem
47、"多媒體技術(shù)與應(yīng)用”List1.AddItem"網(wǎng)絡(luò)技術(shù)與應(yīng)用”List1.AddItem"軟件技術(shù)基礎(chǔ)"List1.AddItem"VB程序設(shè)計(jì)”List1.AddItem"數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用”List1.Addltem"硬件技術(shù)基礎(chǔ)"List1.AddItem"C/C+程序設(shè)計(jì)"List1.AddItem"大學(xué)計(jì)算機(jī)基礎(chǔ)”EndSubPrivateSubList1_Click()a=a+1Ifa>5ThenMsgBox"超過(guò)5門(mén)課程,不能再選",0,&quo
48、t;提示”ExitSubEndIfList2.AddItemList1.TextList1.RemoveItemList1.ListIndexEndSub8、思考練習(xí)9、思考練習(xí)10、參考代碼:PrivateTypezgtypenoAsIntegernameAsString*10payAsSingleEndTypeDims()Aszgtype,nAsIntegerPrivateSubCommand1_Click()DimtAszgtypen=n+1ReDims(1Ton)Withs(n).no=Val(Text1.Text).name=Text2.Text.pay=Val(Text3.Text
49、)EndWithPicture1.Prints(n).no;""s(n).name;""s(n).payEndSubPrivateSubCommand2_Click()DimtAszgtypePicture1.ClsFori=1Ton-1Forj=i+1TonIfs(j).pay>s(i).payThent=s(j):s(j)=s(i):s(i)=tEndIfNextNextFori=1TonPicture1.Prints(i).no,s(i).name,s(i).payNextEndSub實(shí)驗(yàn)F過(guò)程1編一子程序ProcMin(a(),amin),
50、求一維數(shù)組a中的最小值amin。Dimb(10)AsIntegerPrivateSubProcMin(a()AsInteger,aminAsInteger)amin=a(1)Fori=1To10Ifamin>a(i)Thenamin=a(i)EndIfNextEndSubPrivateSubForm_Activate()DimminAsIntegerFori=1To10b(i)=Val(Rnd*101-400)Printb(i);"”;NextPrintCallProcMin(b(),min)PrintminEndSub2、編寫(xiě)一求兩數(shù)m,n最大公約數(shù)的函數(shù)過(guò)程f(m,n);主
51、調(diào)程序在兩個(gè)文本框接收輸入數(shù)據(jù),在圖形框顯示結(jié)果。Functionf(ByValmAsInteger,ByValnAsInteger)AsIntegerIfm<nThent=m:m=n:n=tr=mModnDoWhile(r<>0)m=n:n=r:r=mModnLoopf=nEndFunctionPublicSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegera=Val(Text1.Text)b=Val(Text2.Text)c=f(a,b)Label1.Caption=a&""&b&
52、amp;""&c&Chr(13)EndSub3、編寫(xiě)一個(gè)函數(shù)過(guò)程mysin(x),求mysin(x)=1PrivateSubForm_Click()PrintSin(3.14/4)Printmysin(3.14/4)EndSubPublicFunctionmysin(x!)AsSingleDimiAsInteger,t!,s!t=xs=tFori=1To1000Step2t=-1*x*x/(i+1)*(i+2)s=s+tIfAbs(t<0.00001)ThenExitForNextmysin=sEndFunction4、編寫(xiě)函數(shù)lsH(n)對(duì)于已知正整
53、數(shù)n,判斷該數(shù)是否是回文數(shù),寒暑的返回值類(lèi)型為布爾型,主調(diào)程序每輸入一個(gè)數(shù),調(diào)用IsH函數(shù)過(guò)程,然后再圖形框中顯示輸入的數(shù),對(duì)于回文數(shù)顯示一個(gè)標(biāo)記。氫FontFunctionIsH(nAsString)AsBooleanDimi%,p%p=Len(n)IsH=TrueFori=1Top/2IfMid(n,i,1)<>Mid(n,p+1-i,1)ThenIsH=FalseExitForEndIfNextiEndFunctionPublicSubText1_KeyPress(KeyAsciiAsInteger)DimaAsBooleana=lsH(Val(Text1.Text)IfKe
54、yAscii=13ThenIfa=TrueThenPicture1.PrintText1.Text&Chr(17)ElsePicture1.PrintText1.TextEndIfEndIfEndSub5、驗(yàn)證哥德巴赫猜想:任意一個(gè)大于2的偶數(shù)都可以表示成兩個(gè)素?cái)?shù)之和,編程將6100之間的全部偶數(shù)表示為兩個(gè)素?cái)?shù)之和,在列表框中顯示結(jié)果,最后Label1中顯示共有多少對(duì)素?cái)?shù)之和。PublicFunctionprim(m%)AsBooleanprim=TrueFori=2ToSqr(m)IfmModi=0Thenprim=FalseExitFunctionEndIfNextiEndFunc
55、tionPrivateSubCommand1_Click()DimevenAsInteger,odd1AsInteger,odd2AsIntegerForeven=6To100Step2Forodd1=3Toeven/2Ifprim(odd1)Thenodd2=even-odd1Ifprim(odd2)ThenList1.Addltemeven&"="&odd1&"+"&odd2n=n+1EndIfEndIfNextNextLabel1.Caption="6100之間有"&n&"
56、;對(duì)素?cái)?shù)和"EndSub則稱(chēng)這個(gè)數(shù)為完主調(diào)程序在列表框顯6、如果一個(gè)整數(shù)的所有因子(包括1,但不包括本身)之和與該數(shù)相等,數(shù),編寫(xiě)一函數(shù)IsWs(m)判斷m是否為完數(shù),函數(shù)的返回值是邏輯型,示1000以?xún)?nèi)的完數(shù)。旨For»lMOD以?xún)?nèi)韻完數(shù)為:6=1+2+328=lf2t<+7+1445S=1+2+4+8+IB+31+S2+L?4I248FunctionlsWs(mAsInteger)AsBooleanDimaAsIntegerFori=1Tom/2IfmModi=0ThenaEndIf=a+iNextIfa=mThenIsWs=TrueElseIsWs=FalseE
57、ndIfEndFunctionPrivateSubForm_Activate()DimpAsBoolean,iAsIntegerPrint"1000以?xún)?nèi)的完數(shù)為:”Fori=1To1000p=IsWs(i)IfpThenPrinti;"=1"Forj=2Toi/2IfiModj=0ThenPrint"+"j;EndIfNextPrintEndIfNextEndSub7、編寫(xiě)一個(gè)字過(guò)程delestr(s1,s2),將字符串s1種出現(xiàn)的s2子字符串刪去,結(jié)果放在s1中。ForalZi回區(qū)PublicSubdelestr(s1AsString,ByV
58、ais2AsString)DimiAsIntegeri=InStr(s1,s2)ls2=Len(s2)DoWhilei>0ls1=Len(si)si=Left(s1,i-1)+Mid(s1,i+ls2)i=InStr(s1,s2)LoopEndSubPrivateSubCommand1_Click()DimsslAsStringssl=Textl.TextCalldelestr(ss1,Text2.Text)Text3.Text=sslEndSub8、思考練習(xí)實(shí)驗(yàn)G用戶(hù)界面設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?掌握常用控件的使用。2學(xué)會(huì)使用通用對(duì)話(huà)框控件進(jìn)行設(shè)置。3掌握下拉式菜單和彈出式菜單的設(shè)計(jì)方法。4.
59、掌握創(chuàng)建多重窗體程序的有關(guān)技術(shù)。5了解鼠標(biāo)和鍵盤(pán)事件及其事件過(guò)程的編寫(xiě)。6.綜合應(yīng)用所學(xué)的知識(shí),編寫(xiě)具有可視化界面的應(yīng)用程序。二、實(shí)驗(yàn)內(nèi)容1.設(shè)計(jì)一個(gè)如圖G.1所示的應(yīng)用程序。它能利用LostFous事件過(guò)程對(duì)輸入的內(nèi)存大小進(jìn)行合法性檢查,確保最后兩個(gè)字符是“MB”,其余的都是數(shù)字字符。當(dāng)用戶(hù)單擊“Ok”按鈕后,在右邊的文本框中顯示所選擇的信息。程序代碼如下:SubCommand1_Click()DimaAsString,bAsString,cAsString,dAsStringa=Combo1.Textb=Text1.TextFori=0To2IfOption1(i).Value=TrueT
60、henc=Option1(i).CaptionEndIfNextFori=0To2IfCheck1(i).Value=1Thend=d&Check1(i).Caption&Chr(13)&Chr(10)EndIfNextText2.Text=a&Chr(13)&Chr(10)&b&Chr(13)&Chr(10)&c&Chr(13)&Chr(10)&dEndSubPrivateSubText1_LostFocus()DimstrAsStringstr=UCase(Text1.Text)str=Trim
61、(str)IfRight(str,2)<>"MB"OrNotIsNumeric(Left(str,Len(str)-2)ThenText1.SetFocusMsgBox"不滿(mǎn)足題意要求",0+64,"提示”EndIfEndSub2設(shè)計(jì)如圖G.2所示的計(jì)算程序。程序代碼如下:PrivateSubCheck1_Click()Text1.FontBold=NotText1.FontBoldEndSubPrivateSubCheck2_Click()Text1.Fontltalic=NotText1.FontltalicEndSubPrivateSubCommand1_Click()DimxAsSinglex=Val(Text1.Text)IfOption1.Value=TrueThenLabel3.Caption=Sin(x)ElseIfOption2.Value=TrueThenLabel3.Captio
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度診所執(zhí)業(yè)醫(yī)師醫(yī)療風(fēng)險(xiǎn)防控聘用合同
- 二零二五年度手車(chē)轉(zhuǎn)讓與綠色出行推廣合同
- 二零二五年度投資分紅股收益分配協(xié)議
- 二零二五年度汽車(chē)展覽會(huì)參展商展位電力合同
- 2025年度道路破碎修復(fù)與再生利用合同
- 2025年度青貯收割作業(yè)與農(nóng)業(yè)物聯(lián)網(wǎng)平臺(tái)合作協(xié)議
- 二零二五年度口腔診所醫(yī)生培訓(xùn)與薪酬管理合同
- 二零二五年度商業(yè)秘密保護(hù)與員工保密義務(wù)合同
- 二零二五年度多功能辦公場(chǎng)所租賃服務(wù)協(xié)議
- 2025年度蔬菜大棚承包與品牌授權(quán)合作協(xié)議
- 拒絕校園欺凌從我做起完整版課件
- 幼兒園《認(rèn)識(shí)醫(yī)生和護(hù)士》課件
- 技術(shù)進(jìn)口合同登記證
- DZ∕T 0372-2021 固體礦產(chǎn)選冶試驗(yàn)樣品配制規(guī)范(正式版)
- 細(xì)菌的分離培養(yǎng)與培養(yǎng)特性觀(guān)察課件講解
- 國(guó)家電網(wǎng)公司輸變電工程工藝標(biāo)準(zhǔn)庫(kù)變電工程部分
- 海上風(fēng)電場(chǎng)工程結(jié)構(gòu)安全監(jiān)測(cè)建設(shè)規(guī)范
- 壓力管道焊接2020年壓力管道檢驗(yàn)師培訓(xùn)課件
- 甲狀腺功能減退危象課件
- 《體育開(kāi)學(xué)第一課:體育常規(guī)教育》課件
- 上海市高新技術(shù)成果轉(zhuǎn)化項(xiàng)目認(rèn)定申請(qǐng)書(shū)
評(píng)論
0/150
提交評(píng)論