2024年VB實驗四 實驗報告 -_第1頁
2024年VB實驗四 實驗報告 -_第2頁
2024年VB實驗四 實驗報告 -_第3頁
2024年VB實驗四 實驗報告 -_第4頁
2024年VB實驗四 實驗報告 -_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗報告四課程VB程序設計試驗項目VB過程與函數(shù)設計(6課時)成績專業(yè)班級姓名學號試驗曰期試驗目的(1)掌握Function過程和Sub過程的定義與調用(2)理解參數(shù)按址傳遞和按值傳遞的本質(3)理解變量和過程的作用域(4)能純熟運用Function過程和Sub過程處理實際問題、簡化程序試驗內容【試驗1】編寫Sub子程序實現(xiàn)計算n!。程序界面如下圖所示。(5分)掌握Sub過程的定義及使用試驗成果:【試驗1代碼】DimnAsInteger,sAsLongPrivateSubCommand1_Click()n=Val(Text1.Text)Callf(s,n)Text2.Text=sEndSubSubf(mAsLong,nAsInteger)DimiAsIntegerm=1Fori=2Tonm=m*iNextiEndSubPrivateSubCommand3_Click()EndEndSub【試驗1經典成果】【試驗2】編寫Function函數(shù)過程實現(xiàn)計算n!。程序界面如下圖所示。(5分)掌握Function過程的定義及使用試驗成果:【試驗2代碼】DimnAsInteger,sAsLongPrivateSubCommand1_Click()n=Val(Text1.Text)s=f(n)Text2.Text=sEndSubFunctionf(nAsInteger)DimiAsIntegerm=1Fori=2Tonm=m*iNextif=mEndFunctionPrivateSubCommand2_Click()EndEndSub【試驗2經典成果】【試驗3】分別編寫按地址傳遞互換、按值傳遞互換兩個數(shù)的過程子程序代碼swap1()和swap2()。程序界面設計如下圖所示。(10分)掌握Sub過程參數(shù)傳遞措施試驗成果:【試驗3代碼】SubSwap1(x%,y%)t=x:x=y:y=tEndSubSubSwap2(ByValx%,ByValy%)t=x:x=y:y=tEndSubPrivateSubCommand1_Click()Dima%,b%a=10:b=20Print"按地址互換前的各值為:";"a=";a;"b=";bSwap1a,b'傳址Print"按地址互換後的各值為:";"a=";a;"b=";bEndSubPrivateSubCommand2_Click()Dima%,b%a=10:b=20Print"按值互換前的各值為:";"a=";a;"b=";bSwap2a,b'傳值Print"按值互換後的各值為:";"a=";a;"b=";bEndSub【試驗3經典成果】【試驗4】中國好聲音歌手大賽共n名選手參與決賽,m位評委參與評分,評分原則:去掉兩個最高分和兩個最低分後來取平均分。編寫程序實現(xiàn)如下規(guī)定:(10分)①每位選手演唱完畢,當場顯示參賽選手的編號及各位評委的評分和最終得分。②決賽結束後,顯示各參賽選手的名次、編號和成績。③用子程序sub過程實現(xiàn)。程序界面設計如下圖所示。掌握Sub過程中數(shù)組作為參數(shù)傳遞的措施試驗成果:【試驗4代碼】OptionBase1Dimp()AsSingle,x()AsString,a()AsSinglePrivateSubCommand1_Click()DimbAsSingle,mAsInteger,spAsStringn=Val(InputBox("輸入?yún)⑴c比賽歌手人數(shù):"))m=Val(InputBox("輸入評委人數(shù):"))ReDimp(m),x(n),a(n)Fori=1Tonx(i)=Val(InputBox("輸入選手編號:"))sp=""Forj=1Tomp(j)=Val(InputBox("輸入選手得分:"))sp=sp&p(j)&""NextjLabel2.Caption=""&x(i)Label4.Caption=""&spCallmean(p(),b,m)a(i)=bLabel6.Caption=""&a(i)NextiFori=1Ton-1k=iForj=i+1TonIfa(k)<a(j)Thenk=jNextjt=a(i):a(i)=a(k):a(k)=tt=x(i):x(i)=x(k):x(k)=tNextiPicture1.Print"名次編號成績"Fori=1TonPicture1.PrintTab(3);i,x(i),a(i)NextiEndSubPrivateSubmean(p()AsSingle,bAsSingle,mAsInteger)Fori=1Tom-1Forj=i+1TomIfp(i)<p(j)Thent=p(i):p(i)=p(j):p(j)=tEndIfNextjNextis=0Fori=3Tom-2s=s+p(i)Nextib=s/(m-4)EndSub【試驗4經典成果】【試驗5】編寫一種Function函數(shù)過程,求出數(shù)組中的最大值。已知數(shù)組中的數(shù)據(jù)為(101,52,38,96,182,100,25,78,66,89),程序界面設計如下圖所示。掌握Function過程中數(shù)組作為參數(shù)傳遞的措施試驗成果:【試驗5代碼】PrivateFunctionFindMax(a()AsInteger)DimStartAsInteger,FinishAsInteger,iAsIntegerStart=LBound(a)Finish=UBound(a)Max=a(Start)Fori=StartToFinishIfa(i)>MaxThenMax=a(i)NextiFindMax=MaxEndFunctionPrivateSubCommand1_Click()ClsDimb(1To10)AsIntegerb(1)=101:b(2)=52:b(3)=38:b(4)=96:b(5)=82:b(6)=100:b(7)=25:b(8)=78:b(9)=66:b(10)=89Print"數(shù)組中的數(shù)據(jù)為:101,52,38,96,82,100,25,78,66,89"c=FindMax(b())Text1.Text=cEndSubPrivateSubForm_Load()EndSub【試驗5經典成果】【試驗5問題】通過和上一題對比,請總結一下哪些狀況使用Function過程愈加合適?!驹囼?】編寫計算n!的函數(shù)過程,調用該過程,計算1!+2!+3!+……+10!之和(10分)掌握使用Function過程簡化多重循環(huán)的措施,即把具有單一功能的內循環(huán)放到函數(shù)內部函數(shù)的作用是簡化程序,不要把雙重循環(huán)都放到函數(shù)內試驗成果:【試驗6代碼】PrivateSubForm_Click()DimiAsIntegerFori=1To10Callf(m,i)s=s+mNextiPrint"s=",sEndSubFunctionf(m,nAsInteger)AsLongDimiAsIntegerm=1Fori=2Tonm=m*iNextiEndFunction【試驗6經典成果】【試驗7】編寫計算n!的子過程,調用該過程,計算1!+2!+3!+……+10!之和(10分)掌握使用Sub過程簡化多重循環(huán)的措施,即把具有單一功能的內循環(huán)放到函數(shù)內部函數(shù)的作用是簡化程序,不要把雙重循環(huán)都放到函數(shù)內試驗成果:【試驗7代碼】PrivateSubForm_Click()DimiAsIntegerFori=1To10m=f(i)s=s+mNextiPrint"s=",sEndSubSubf(nAsInteger)DimiAsIntegerm=1Fori=2Tonm=m*iNextif=mEndSub【試驗7經典成果】【試驗8】編寫計算n!的函數(shù)過程,調用該過程,計算ex的近似值(10分)ex=1+x/1!+x2/2!+x3/3!+……+xn/n!規(guī)定:1)x的值用InputBox函數(shù)輸入2)規(guī)定精度:xn/n!<0.000001掌握使用函數(shù)過程簡化多重循環(huán)的措施試驗成果:【試驗8代碼】PrivateSubForm_Click()x=Val(InputBox("請輸入x的值"))f1=jishu1(x,0.000001)Printf1EndSubFunctionjishu1(x,eps#)AsDoubleDimn%,s#,t#n=1:s=0:t=1DoWhile(Abs(t)>=eps)s=s+tt=t*x/nn=n+1Loopjishu1=sEndFunction【試驗8經典成果】【試驗9】編寫程序輸出200~300之間的素數(shù)。(10分)規(guī)定:1)運用函數(shù)過程判斷每個數(shù)與否是素數(shù),是素數(shù)則返回1,否則返回02)將素數(shù)輸出到列表框掌握使用函數(shù)過程簡化多重循環(huán)的措施試驗成果:【試驗9代碼】PrivateFunctiongdbh(nAsInteger)gdbh=1Fori=2ToInt(Sqr(n))IfnModi=0Thengdbh=0NextiEndFunctionPrivateSubCommand1_Click()DimiAsIntegerFori=201To300Step2y=gdbh(i)Ify=0ThenList1.AddItemiNextiEndSub【試驗9經典成果】【試驗10】編寫程序驗證100以內數(shù)的哥德巴赫猜測(任意一種不小于6的偶數(shù)可以表到達兩個素數(shù)之和),規(guī)定素數(shù)判斷用函數(shù)過程實現(xiàn)。(10分)掌握使用函數(shù)過程簡化多重循環(huán)的措施試驗成果:【試驗10代碼】PrivateSubCommand1_Click()Dimm,m1,m2,n,f,pForm=6To100Step2p=""m1=1aa:m1=m1+1Callgdbh(m1,f)Iff=1ThenGoToaam2=m-m1Callgdbh(m2,f)Iff=1ThenGoToaap=p&m&"="&m1&"+"&m2List1.AddItempNextmEndSubPrivateSubgdbh(n,f)f=0Ifn=2Thenf=0Fori=2ToSqr(n)IfnModi=0Thenf=1NextiEndSubPrivateSubForm_Load()EndSub【試驗10經典成果】【選做1】編寫程序,運用Sub子程序遞歸調用方式計算兩個數(shù)M、N的最大公約數(shù),其中M>N,且N≠0。程序界面如下圖所示。(+5分,總分最高100)掌握Sub過程的遞歸調用試驗成果:【選做1代碼】【選做1經典成果】【選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論