下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、(二)程序調試(參照答案)程序調試題的操作步驟是:(1)成立一標準EXE工程,將這一模塊程序增添到工程中。如果你是經過雙擊標準模塊程序Model1.BAS進入VisualBasic系統(tǒng)的,則首先需要增添一個窗體模塊。(2)將該標準模塊程序Model1.BAS中代碼的指定的錯誤修更正確或在指定的空位填上適合的語句,并在窗體模塊中編寫代碼(經常寫在窗體的Click()事件中)調用標準模塊中的Sub過程或用戶自定義函數(shù)(如果在標準模塊程序Model1.BAS有多個過程或函數(shù),要注意調用的先后次序,否則得不到正確結果),調試運行程序,使其能輸出正確結果。(3)按試題要求保留工程。如果你的計算機中沒有模
2、塊程序Model1.BAS,你必需先自己新建一工程,再增添一個默認標準模塊,將題目所附的參照程序輸入(可復制粘貼),將其中用-n-(n為1,2,3,4,5)部分刪除后改為合適的內容或將用*錯誤n*標示的下一語句中的錯誤更正,然后調試運行程序使其達到該題目的要求。1已有一模塊文件Modify.Bas。該模塊中的Summary過程是用于計算1!+2!+.+20!,并打印出計算結果,但不完整,請在橫線上填入必要的內容,使其完整。Modify.Bas模塊中的nFactor函數(shù)過程用于計算n!。程序如下:PublicFunctionnFactor(ByValnAsInteger)AsDoubleDimi
3、AsIntegerDimtempAsDoubletemp=1Fori=1Tontemp=temp*iNextinFactor=tempEndFunctionPublicSubsummary()DimsumAsDoubleDimiAsIntegerDimnAsIntegern=20Fori=1Tonsum=sum+nFactor(i)NextiForm1.Printsum=&sumEndSub2已有一模塊文件Modify.Bas。該模塊中的Calculate過程是產生100個0,99范圍內的隨機整數(shù),統(tǒng)計個位上的數(shù)字分別為1,2,3,4,5,6,7,8,9,0的數(shù)的個數(shù)并打印出來。程序如下:Pu
4、blicSubcalculate()Dima(1To100)AsIntegerDimx(1To10)AsIntegerDimiAsInteger,pAsInteger產生100個0,99范圍內的隨機整數(shù)每行10個打印出來Fori=1To100*錯誤1*a(i)=int(Rnd*100)Ifa(i)10ThenForm1.PrintSpace(2);a(i);ElseForm1.PrintSpace(1);a(i);EndIfIfiMod10=0ThenForm1.PrintNexti統(tǒng)計個位上的數(shù)字分別為1,2,3,4,5,6,7,8,9,0的數(shù)的個數(shù)并將統(tǒng)計結果保留在數(shù)組x(1),x(2),
5、.,x(10)中,將統(tǒng)計結果打印出來Fori=1To100*錯誤2*p=Int(a(i)mod10)求個位上的數(shù)字Ifp=0Thenp=10*錯誤3*x(p)=x(p)+1NextiForm1.Print統(tǒng)計結果Fori=1To10p=iIfi=10Thenp=0*錯誤4*Form1.Print個位數(shù)為+Str(p)+共+Str(x(i)+個NextiEndSub個位數(shù)為0統(tǒng)計結果保留在x(10)中3.已有一模塊文件Modify.Bas。該模塊中的Findat過程是用于在一個字符串變量中查找at,并用消息框給出查找結果的報告:沒有找到或找到的個數(shù),但不完整,請在橫線上填入必要的內容,使其完整。
6、程序如下:PublicSubFindat()在字符串str1中查找atDimstr1AsStringDimlengthAsInteger字符串長度DimsumAsInteger查到的個數(shù)DimiAsIntegerstr1=InputBox(請輸入一個字符串)length=len(str1)i=1sum=0DoWhileiRX)Form1.Print太大了,持續(xù)猜!CaseElseForm1.PrintEndSelecttimes=times+1*錯誤3*LoopWhiletimes5ThenForm1.Print猜數(shù)失敗太小了,持續(xù)猜,游戲結束!*錯誤Form1.PrintEndIfEndSu
7、b4*正確答案為&Str(R)5.已有一模塊文件Modify.Bas。該模塊中的ArmstrongNumber過程是用于求出1-999之間所有的Armstrong數(shù),并打印出來,但不完整,請在橫線上填入必要的內容,使其完整。所謂數(shù)字的立方和。比如:371=33+73+13,那么371就是一個Armstrong程序如下:Armstrong數(shù)。數(shù)是指一個數(shù)等于它每位上PublicSubArmstrongNumber()DimarmstrongAsIntegerDimiAsIntegerDimhundredAsInteger百位上的數(shù)字DimtenAsInteger十位上的數(shù)字DimoneAsInt
8、eger個位上的數(shù)字Fori=1To999hundred=i100ten=(i-hundred*100)10one=imod10Ifi=hundred3+ten3+one3ThenForm1.Printi;isarmstrongnumberEndIfNextiEndSub6.已有一模塊文件Modify.Bas。該模塊中的CountTo60過程是用于從一堆一分、二分、五分的硬幣中取出20枚,使其總值為程序如下:60分,要求輸出取法的數(shù)量及每一種取法的一分、二分、五分的個數(shù)。PublicSubCountTo60()從一堆一分、二分、五分的硬幣中取出20枚,使其總值為60分輸出取法的數(shù)量及每一種取法
9、的一分、二分、五分的個數(shù)DimoneAsInteger一分硬幣個數(shù)DimtwoAsInteger二分硬幣個數(shù)DimfiveAsInteger五分硬幣個數(shù)Constn=20總數(shù)20枚DimkAsInteger取法數(shù)量k=0Forone=1Ton*錯誤1*Fortwo=1Ton-onefive=n-one-two*錯誤2*Ifone+two*2+five*5=60Thenk=k+1Form1.Printone=;one;two=;two;five=;fiveEndIf*錯誤3*Nexttwo*錯誤4*NextoneForm1.Printk=;kEndSub7.已有一模塊文件Modify.Bas。該
10、模塊中的TJ過程是將一批數(shù)據(jù)中小于零的數(shù)及它們的積打印出來,但不完整,請在橫線上填入必要的內容,使其完整。Modify.Bas模塊中的SCSJ過程是產生數(shù)據(jù),數(shù)據(jù)的取值范圍為-1010之間的隨機數(shù)。程序如下:PrivateConstn=10Privatea(1Ton)AsIntegerTJ過程是將一批數(shù)據(jù)中小于零的數(shù)及它們的積打印出來數(shù)據(jù)由SCSJ過程產生,數(shù)據(jù)的取值范圍為-1010之間的隨機整數(shù)PublicSubTJ()DimiAsIntegerDimtAsSinglet=1Fori=1To10Ifa(i)0Thent=t*a(i)EndIfNextiForm1.PrintT=;tEndSu
11、bPublicSubSCSJ()RandomizeForm1.Print原始數(shù)據(jù)DimiAsIntegerDimjAsIntegerFori=1Ton隨機產生0或1,為0時取負,為1時取正j=Int(Rnd*2)Ifj=0Thenj=-1a(i)=j*Int(Rnd*(n+1)Form1.Printa(i);NextiForm1.PrintEndSub8.已有一模塊文件Modify.Bas。該模塊中的Money過程是用于統(tǒng)計一個有7個工作人員的餐廳發(fā)薪資所需的100元、50元、10元、5元和1元的票面數(shù),但不完整,請在橫線上填入必要的內容,使其完整。Modify.Bas模塊中的SalaryDa
12、ta過程是給出7個職工的薪資。(薪資單位是元)程序如下:Dimsalary(7)AsIntegerPublicSubMoney()DimhundredAsInteger,totalhundredAsInteger100元票面數(shù)量、總數(shù)量DimfiftyAsInteger,totalfiftyAsInteger50DimtenAsInteger,totaltenAsInteger10DimfiveAsInteger,totalfiveAsInteger5DimoneAsInteger,totaloneAsInteger1DimtotalsalaryAsInteger薪資總計DimiAsInteg
13、er,tempAsIntegertotalhundred=0totalfifty=0totalten=0totalfive=0totalone=0totalsalary=0Fori=1To7temp=salary(i)hundred=Int(temp/100)temp=temphundred*100fifty=Int(temp/50)temp=temp-fifty*50元票面數(shù)量、總數(shù)量元票面數(shù)量、總數(shù)量元票面數(shù)量、總數(shù)量元票面數(shù)量、總數(shù)量ten=Int(temp/10)temp=temp-ten*10five=Int(temp/5)temp=temp-five*5one=temptotalh
14、undred=totalhundred+hundredtotalfifty=totalfifty+fiftytotalten=totalten+tentotalfive=totalfive+fivetotalone=totalone+onetotalsalary=totalsalary+salary(i)NextiForm1.Print共需100元&Str(totalhundred)&Form1.Print共需50元&Str(totalfifty)&張Form1.Print共需10元&Str(totalten)&張Form1.Print共需5元&Str(totalfive)&張Form1.Pr
15、int共需1元&Str(totalone)&張Form1.Print共計&Str(totalsalary)&元EndSub張PublicSubSalaryData()salary(1)=1398salary(2)=1765salary(3)=689salary(4)=1500salary(5)=832salary(6)=590salary(7)=1200EndSub9.已有一模塊文件Modify.Bas。該模塊中的MaxLine過程用于查找一個5行4列的二維數(shù)組中行平均值最大的行,并將該行所有數(shù)據(jù)調整到第一行的地點。Modify.Bas模塊中的DataProduce過程用于產生原始數(shù)據(jù);Ave
16、rage過程用于計算各行的平均值;PrintArray過程用于打印二維數(shù)組和行平均值。程序如下:Dima(1To5,1To4)AsIntegerDimave(1To5)AsIntegerPublicSubMaxLine()DimiAsIntegerDimjAsIntegerDimtempAsIntegerDimLine_noAsInteger最大平均值的行號找出最大平均值所在行Line_no=1Fori=2To5*錯誤1*Ifave(Line_no)ave(i)Then*錯誤2*Line_no=iEndIfNexti互換第一行與最大平均值所在行Forj=1To4temp=a(1,j)*錯誤3*
17、a(1,j)=a(Line_no,j)a(Line_no,j)=tempNextj互換對應行的平均值temp=ave(1)ave(1)=ave(Line_no)ave(Line_no)=temp打印互換后的數(shù)據(jù)Form1.Print互換后的數(shù)據(jù)和平均值PrintArrayEndSubPublicSubDataProduce()DimiAsIntegerDimjAsInteger產生5*4數(shù)組Fori=1To5Forj=1To4a(i,j)=Int(100*Rnd)NextjNextiEndSubPublicSubAverage()DimiAsIntegerDimjAsIntegerDimsum
18、AsInteger計算各行平均值Fori=1To5sum=0Forj=1To4*錯誤4*sum=sum+a(i,j)Nextjave(i)=sum/4Nexti將數(shù)組和平均值打印出來Form1.Print原始數(shù)據(jù)和平均值PrintArrayEndSubPublicSubPrintArray()DimiAsIntegerDimjAsIntegerFori=1To5Forj=1To4Form1.Printa(i,j);Spc(3);Form1.Print平均值=;ave(i)NextiEndSub10已有一模塊文件Modify.Bas符串順讀與倒讀都是同樣的,如。該模塊中的Wrap“潮起潮落,落潮
19、起潮過程用于判斷一個字符串是否”?!盎匚摹薄K^“回文”是指字程序如下:PublicSubWrap()DimlengthAsIntegerDimstr1AsStringDimstrleftAsStringDimstrrightAsStringDimkAsIntegerstr1=InputBox(請輸入隨意的字符串)輸入隨意字符串,如“潮起潮落,落潮起潮”*錯誤1*length=len(str1)k=1Do*錯誤2*strleft=mid(str1,k,1)從左邊起逐個取出一個字符*錯誤3*strright=mid(str1,length+1k,1)從右邊起逐個取出一個字符*錯誤4*Ifstrl
20、eftstrrightThenExitDoEndIfk=k+1LoopWhileklength/2ThenForm1.Printstr1&是回文ElseForm1.Printstr1&不是回文EndIfEndSub11.已有一模塊文件Modify.Bas。該模塊中的BubbleSort過程是冒泡排序法;GenerateData過程產生10個1,20之間互不相同的隨機整數(shù);Swap過程互換兩個變量的數(shù)值。程序如下:PrivateConstn=10Privatea(1Ton)AsIntegerBubbleSort過程是冒泡排序Swap過程互換兩個變量數(shù)值GenerateData過程產生10個1,2
21、0之間互不相同的隨機整數(shù)PublicSubBubbleSort()DimiAsInteger,jAsIntegeri=1DoForj=i+1TonIfa(j)a(i)Then*1*Swapa(j),a(i)去掉括號,或改為callSwap(a(j),a(i)EndIfNextji=i+1*2*LoopWhileinForm1.Print排序結果Fori=1TonForm1.Printa(i);NextiEndSubPublicSubGenerateData()DimiAsIntegerDimjAsIntegerDimbAsBooleanFori=1Tonb=FalseDoWhileNotba(
22、i)=Int(20*Rnd+1)b=True*3*Forj=1Toi1Ifa(i)=a(j)Thenb=FalseExitForEndIfNextjLoopForm1.Printa(i)NextiEndSub*4*PublicSubSwap(aAsInteger,bAsInteger)去掉ByVal,數(shù)組不能以ByVal傳達DimtempAsIntegertemp=aa=bb=tempEndSub12.已有一模塊文件Modify.Bas。該模塊中的Transfer過程用于將一個十六進制整數(shù)變換為十進制整數(shù);number函數(shù)過程用于將一個十六進制符號變換為數(shù)值。程序如下:PublicSubTra
23、nsfer()DimHexAsString十六進制數(shù)DimDecAsDouble十進制數(shù)DimtempAsStringDimiAsIntegerDimnAsIntegerHex=InputBox(輸入一個十六進制整數(shù)*錯誤1*n=len(Hex)i=0Do)*錯誤2*temp=Mid(Hex,n-i,1)*錯誤3*Dec=Dec+number(temp)*16ii=i+1LoopWhileia(j)ThenSwapa(i),a(j)EndIfNextjForm1.Printa(i)NextiForm1.printa(i)或a(10)即最后一個EndSubPublicSubSwap(aAsInt
24、eger,bAsInteger)DimtempAsIntegertemp=aa=bb=tempEndSub14.已有一模塊文件Modify.Bas。該模塊中的PrintArray過程是用于打印一個5行5列的數(shù)字方陣,并使兩對角線上元素均為1,其余均為2。要求打印的數(shù)字方陣兩列數(shù)字之間空3格,兩行之間空一行。程序如下:PublicSubPrintArray()下面程序用于打印5行使兩對角線上元素均為5列的數(shù)字方陣1,其余均為2要求打印的數(shù)字方陣兩列數(shù)字之間空3格,兩行之間空一行只需改正標出犯錯地點的下面那一條語句Dima(5,5)AsIntegerDimiAsInteger,jAsInteger
25、Fori=1To5Forj=1To5*錯誤1*Ifijandi6-jThena(i,j)=2Elsea(i,j)=1EndIf*錯誤Form1.Printa(i,j)Nextj2*&Space(3);數(shù)字與空字符串不能相加*錯誤3*Form1.Print:Form1.PrintNextiEndSub15.已有一模塊文件Modify.Bas。該模塊中的Combination合值,計算公式為Cmn=m!/(n!*(m-n)!)。Modify.Bas模塊中的nFactor函數(shù)過程用于計算n!。過程是用于計算在m個數(shù)據(jù)中取出n個數(shù)據(jù)的排列組程序如下:PublicSubCombination()Dimm
26、AsIntegerDimnAsIntegerDimCmnAsLongDom=Val(InputBox(請輸入一個整數(shù)m)n=Val(InputBox(請輸入一個整數(shù)n(n=m)*錯誤1*LoopWhilem=nCmn=nFactor(m)/(nFactor(n)*nFactor(m-n)Form1.Print排列組合數(shù)為;CmnEndSubPublicFunctionnFactor(ByValnAsInteger)AsDoubleDimiAsIntegerDimtempAsDoubletemp=1Fori=1Tontemp=temp*iNexti*nFactor*錯誤3*=temp錯誤4*去掉
27、nFactor(n)中的(n)部分EndSub16.已有一模塊文件Modify.Bas。該模塊中的FindMax過程是用于查找一批數(shù)據(jù)中的最大數(shù),值及最大數(shù)在數(shù)組中的下標值,但不完整,請在橫線上填入必要的內容,使其完整。GenerateData過程用于產生30個1-500之間的隨機整數(shù)并5個一行打印出來。并打印出最大數(shù)的Modify.Bas模塊中的程序如下:Dima(30)AsIntegerPublicSubFindMax()DimPositionAsInteger最大數(shù)在數(shù)組中的下標DimmaxAsInteger最大數(shù)DimiAsIntegerGenerateDatamax=a(1)Posi
28、tion=1Fori=2To30Ifa(i)maxThenmax=a(i)Position=iEndIfNextiForm1.Print最大值=&Str(max)Form1.Print最大值的下標=&Str(Position)EndSubPublicSubGenerateData()DimiAsIntegerFori=1To30a(i)=Int(500*Rnd()+1)Form1.Printa(i),IfiMod5=0ThenForm1.PrintNextiEndSub17.已有一模塊文件Modify.Bas。該模塊中的Prime過程是求出100到200之間所有的素數(shù),并打印出來,但不完整,請在橫線上填入必要的內容,使其完整。程序如下:PublicSubprime()打印出100到200之間所有的素數(shù),并統(tǒng)計素數(shù)的個數(shù)DimiAsIntegerDimjAsIntegerDimkAsIntegerDimtAsInteger統(tǒng)計素數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同意房屋轉租協(xié)議合同范例
- 2024年廣告公司內容供應合同
- 2024年工程質量監(jiān)督及保障合同
- 2024國際貨運代理運輸合同
- 2024動漫版權授權與發(fā)行合同
- (2024版)跨國技術轉讓合同與知識產權保護協(xié)議
- 2024年工程設備租賃合同解析
- 濰坊市供熱管理辦法:技術升級篇
- 兒童游樂場所安全運營規(guī)范范文
- 水利發(fā)電工程降水井施工合同
- 缺血性心肌病
- 1960年文教群英會表彰名單
- 體育教師生涯發(fā)展展示
- 老舊小區(qū)物業(yè)管理方案
- 2021新教科版科學三年級上冊教案全冊,含教學反思
- 汽車洗車方案
- 《物業(yè)交房培訓》
- 醫(yī)院物業(yè)保潔服務方案
- 東方美人完整
- 《羅生門》讀書分享交流
- 大連某項目鋼結構深化設計與施工工程招標文件
評論
0/150
提交評論