《Visual Basic程序設計-以計算思維為導向》課后答案作者:金瑩 張潔_第1頁
《Visual Basic程序設計-以計算思維為導向》課后答案作者:金瑩 張潔_第2頁
《Visual Basic程序設計-以計算思維為導向》課后答案作者:金瑩 張潔_第3頁
《Visual Basic程序設計-以計算思維為導向》課后答案作者:金瑩 張潔_第4頁
《Visual Basic程序設計-以計算思維為導向》課后答案作者:金瑩 張潔_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《VisualBasic程序設計——以計算思維為導向》課后答案作者:金瑩張潔第1章1.VB的IDE(集成開發(fā)環(huán)境)的組成有哪些部分?解:標題欄、菜單欄、工具欄、控件工具箱、窗體設計窗口、代碼窗口、工程資源管理窗口、屬性窗口、窗體布局窗口。2.VB程序的可視化編程過程有哪些步驟?解: 分析設計,程序需要實現(xiàn)的功能如何用VB實現(xiàn);界面設計,在窗體上添置需要的控件對象,并設置對象的屬性;代碼的編寫,VB是事件驅動的程序語言,所以代碼均應寫在每一個事件過程或通用過程中;保存窗體和工程文件;調試程序和測試運行程序;考慮是否有更優(yōu)化的方法。3.考慮一下計算思維的重要性,與程序設計的關系。略4.修改例1-1,窗體輸出“HelloWorld”時,將命令按鈕隱藏起來。 解:PrivateSubCommand1_Click()Print"HelloWorld"Command1.Visible=FalseEndSub第2章1.算法的特點有哪些? 解:確定性、有窮性、可行性、輸入、輸出2.寫出給以下5個數(shù)字:15、21、11、37、24按從小到大排序的算法。(分別用自然語言、流程圖描述) 解:算法一(自然語言描述):Step1:找出最小的數(shù)字11,排在第1個;Step2:在剩下的4個數(shù)字中找出最小的數(shù)字15,排在第2個;Step3:在剩下的3個數(shù)字中找出最小的數(shù)字21,排在第3個;Step4:再在剩下的2個數(shù)字中找出最小的數(shù)字24,排在第4個;Step5:剩下最后一個數(shù)字37,排在第5個。算法二(流程圖描述):開始開始N(1)~N(5)分別賦值i=1i<k在N(i)到N(5)中尋找最小的數(shù),交換到N(i)中i=i+1輸出N(1)ToN(5)結束3.有10個數(shù)據(jù)的集合S,寫一個算法:在集合S中查找數(shù)據(jù)N,如果找到即輸出“找到數(shù)據(jù)N”,如果沒找到則輸出“沒有找到數(shù)據(jù)N”。(分別用自然語言、流程圖描述) 解:算法一(自然語言描述):S1:輸入數(shù)據(jù)的個數(shù)k=10和要查找的數(shù)據(jù)N;S2:使i=1,i用于計數(shù);S3:從數(shù)據(jù)集合中依次讀取一個數(shù)據(jù)X;S4:若X=N,輸出“找到數(shù)據(jù)N”的信息,算法結束,否則轉S5;S5:使i=i+1,計數(shù)器計數(shù);S6:若i≤k;則重復執(zhí)行S3、S4、S5(循環(huán));否則轉S7;S7:輸出“沒有找到數(shù)據(jù)N”信息,算法結束。算法二(流程圖描述):開始開始輸入k=10待查找數(shù)據(jù)NX=Ni=i+1輸出沒有找到數(shù)據(jù)N結束i=i+1讀出Xi<=k是輸出找到數(shù)據(jù)N讀出X是4.設計一個判斷素數(shù)的算法(所謂素數(shù),是指該數(shù)只能被1和它自身整除。分別用自然語言、流程圖描述) 解:算法一(自然語言描述): S1:i=2S2:判斷一個數(shù)N能否整除i,若能整除轉S4S3: i=i+1,判斷i是否大于N的開方,若不大于則重復S2、S3 S4:判斷i是否大于N的開方,若小于等于則輸出“N不是素數(shù)”,否則輸出“N是素數(shù)”算法二(流程圖描述):開始開始輸入數(shù)據(jù)Ni=2NModi=0輸出N不是素數(shù)是i=i+1i<=Sqr(N)是輸出N是素數(shù)結束

第3章1.窗體可以將外觀設置為無標題欄,需要修改的窗體屬性是____________。 C A.Appearance B.WindowState C.BorderStyle D.FillStyle2.命令按鈕的Default屬性、Cancel屬性設置的注意事項。解:Default:確定屬性。一般用于Caption屬性為“確定”的命令按鈕。該屬性值為“True”的命令按鈕周圍有一圈黑色的邊框,表示如果焦點在除命令按鈕之外的其他控件上時,按回車鍵,等同于單擊該命令按鈕,觸發(fā)其單擊事件。同一窗體中若有多個命令按鈕,則只能設置其中一個按鈕的Default屬性為True。需要注意的是,若焦點在其他按鈕上,則按回車鍵時,將觸發(fā)得到焦點的按鈕的Click事件,即焦點優(yōu)先。Cancel:取消屬性。一般用于Caption屬性為“取消”的命令按鈕。按Escape(Esc)鍵觸發(fā)該屬性值為“True”的命令按鈕的單擊事件。同一窗體中若有多個命令按鈕,則只能設置其中一個按鈕的Cancel屬性為True。3.文本框要顯示多行文字需要設置哪個屬性? 解:MultiLine屬性4.設計一個菜單,菜單項包括以下項目: “文件“菜單: 打開(O) 保存(S) 退出(E) “幫助”菜單: 幫助主題 關于 解:略第4章1.VB有哪些基本數(shù)據(jù)類型?這些基本數(shù)據(jù)類型的關鍵字和類型符分別是什么? 解:數(shù)據(jù)類型關鍵字類型說明符邏輯型Boolean無字節(jié)型Byte無貨幣型Currency@日期型Date無雙精度型Double#整型Integer%長整型Long&對象型Object無單精度型Single!字符串型String$字符串型String變體型Variant無2.已知X、Y、A、B為整型變量,且X<Y,A<B,則以下關系式成立的是____。 BA.Sgn(X-Y)-Sgn(A-B)<0B.Sgn(X-Y)-Sgn(A-B)=-2C.Sgn(X-Y)-Sgn(A-B)=0D.Sgn(X-Y)-Sgn(A-B)=-13.能正確描述代數(shù)式的VB表達式是____。 DA.Abs(e3+Log(x)+Ant(y))/(X+Log(10)+cos(57))B.Abs(e3+Log(x)+Ant(y))/(X+Log(10)+cos(57*3.14/180))C.Abs(Exp(3)+Log(x)+Ant(y))/(X+Log(10)+cos(57*3.14/180))D.Abs(Exp(3)+Log(x)/Log(10)+Ant(y))/(X+Log(10)+cos(57*3.14/180))4.執(zhí)行下面二行語句后,函數(shù)值最小是____。 ADimIAAsInteger,BAsSingle,SAsString*5,ChAsStringIA=32767:B=23.5:S="A":Ch="abcd"A.Len(IA)B.Len(B)C.Len(S)D.Len(Ch)5.以下語句中,執(zhí)行____語句會出錯。 C A.Print9/3*30000 B.Print200^2 C.Print200*200 D.Print"32700"+100第5章1.請使用Msgbox函數(shù)編寫代碼顯示如下圖所示提示消息對話框: 解:MsgBox"本行代碼包含不可識別字符",vbAbortRetryIgnore,"提示"2.在SelectCase結構中,判斷條件8≤x≤12的正確表示是什么? 解:SelectCasexCaseIs>=8SelectCasexCaseIs<=12EndSelectEndSelect3.在過程中有語句Fori=N1ToN2StepN3,在該循環(huán)體內有下列四條語句,其中____會影響循環(huán)執(zhí)行的次數(shù)。 C①N1=N1+i ②N2=N2+N3③i=i+N3 ④N3=2*N3A.①③ B.①②③ C.③ D.①②③④4.下列代碼的運行結果是什么?PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerj=10.5Fori=1.5TojStep2i=i+1j=j+iNextiPrinti;jEndSub 解:11 28第6章1.VB程序開發(fā)過程中,可能會遇到3種錯誤,分別是哪3種?哪種錯誤一般系統(tǒng)不能自動檢測出來? 解:語法錯誤、運行錯誤、邏輯錯誤。邏輯錯誤一般不能自動檢測。2.在VB程序中如何設置斷點?何時需要設置斷點? 解:單擊代碼窗口最左邊,便會出現(xiàn)一個深紅色圓形標記,同時該行代碼也呈深紅色,即設置了斷點。 調試程序時需要中斷程序運行可設置斷點。3.調試程序的時候,單步調試的快捷鍵是哪個? 解:F84.找出下列程序中的錯誤,改正并運行出正確的結果: 判斷自然數(shù)N是否為素數(shù):PrivateSubCommand1_Click()DimiAsInteger,nAsIntegern=Val(Text1.Text)Fori=1ToSqr(n) ‘改為Fori=2ToSqr(n)IfnModi=0ThenExitSub ‘改為ExitForNextiIfi>Sqr(n)ThenText2.Text="是素數(shù)"ElseText2.Text="不是素數(shù)"EndIfEndSub第7章1.判斷以下關于數(shù)組的說法正確與否?(1)數(shù)組的維界取值范圍必須在Integer數(shù)據(jù)的范圍內,即-32768~32767 解:錯誤。在Long的范圍內(2)數(shù)組下標用以確定數(shù)組元素在數(shù)組中的位置,下標的下界只能從0或1開始 解:錯誤。下界可以是任意整數(shù)(在Long范圍內)(3)使用Preserve關鍵字的ReDim語句,只能改變動態(tài)數(shù)組最后一維的維上界 解:正確。跟數(shù)組的存儲結構有關(4)控件數(shù)組既可以是一維的也可以是多維的 解:錯誤。只能是一維的2.按金字塔打印楊輝三角形。111 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 解:參考實驗教材實驗9中的楊輝三角形PrivateSubCommand1_Click()Dima()AsInteger,b()AsInteger,iAsInteger,jAsIntegerReDimb(1)b(1)=1Fori=1To6ReDima(i)ReDimPreserveb(i)PrintSpace(7-i);Forj=1Toia(j)=b(j-1)+b(j)Printa(j);NextjForj=1Toib(j)=a(j)NextjPrintNextiEndSub3.是生成一個如下圖7-12所示的矩陣,并按矩陣元素的排列次序將矩陣輸出。11121314151112131415201918171621222324253029282726 解:OptionBase1PrivateSubCommand1_Click()Dima(4,5)AsInteger,iAsInteger,jAsInteger,kAsInteger,sAsStringk=10Fori=1To4IfiMod2<>0ThenForj=1To5k=k+1a(i,j)=kNextjElseIfiMod2=0ThenForj=5To1Step-1k=k+1a(i,j)=kNextjEndIfNextiFori=1To4Forj=1To5Printa(i,j);NextjPrintNextiEndSub4.生成由10個元素組成的、末尾數(shù)字不為0的三位隨機正整數(shù)數(shù)組及其對應元素的逆序數(shù)數(shù)組。 解:OptionExplicitOptionBase1PrivateSubCommand1_Click()Dima(10)AsInteger,b(10)AsIntegerDimiAsInteger,jAsInteger,kAsIntegerDoWhilei<10k=Int(Rnd*(999-100+1)+100)IfkMod10<>0Theni=i+1a(i)=kText1=Text1&Str(a(i))EndIfLoopFori=1To10b(i)=Mid(a(i),3,1)&Mid(a(i),2,1)&Mid(a(i),1,1)Text2=Text2&Str(b(i))NextiEndSubPrivateSubForm_Load()Text1="":Text2=""EndSub第8章1.設計程序,求兩個自然數(shù)的最小公倍數(shù)。 解:參考實驗教材實驗8中相關實驗PrivateFunctionLCM(ByValxAsInteger,ByValyAsInteger)DimiAsIntegerDoi=i+1LoopUntili*xMody=0LCM=i*xEndFunction2.設計程序實現(xiàn)二分插入排序算法。(二分插入排序是指,在已排序的數(shù)組元素中,使用二分法找到插入數(shù)的位置,插入該數(shù)) 解:參考實驗教材實驗12OptionExplicitOptionBase1PrivateSubCmdSort_Click()DimSort(10)AsIntegerDimtempAsIntegerDimiAsInteger,jAsIntegerRandomizeFori=1To10Sort(i)=Int(Rnd*(100-1))+1Text1=Text1&Str(Sort(i))NextiCallBinaryInsert_Sort(Sort)Fori=1To10Text2.Text=Text2.Text&Str(Sort(i))NextiEndSubPrivateSubBinaryInsert_Sort(a()AsInteger)DimiAsInteger,jAsInteger,tempAsIntegerDimLAsInteger,RAsInteger,MAsIntegerDimnAsIntegern=UBound(a)Fori=2Tontemp=a(i)L=1R=i-1M=(L+R)/2DoUntilL>=RIftemp>a(M)ThenL=M+1ElseIftemp<a(M)ThenR=M-1ElseExitDoEndIfM=(L+R)/2LoopIftemp>a(M)ThenM=M+1Forj=iToM+1Step-1a(j)=a(j-1)Nextja(M)=tempNextiEndSub3.有20個兩位隨機正整數(shù)圍成一圈,找出每四個相鄰數(shù)之和中的最大值,并指出是哪四個相鄰的數(shù)。 解:參考實驗教材實驗19OptionExplicitOptionBase1PrivateSubCommand1_Click()Dima(20)AsInteger,iAsInteger,jAsIntegerDimsumAsInteger,maxAsInteger,maxiAsIntegerFori=1To20'生成20個兩位隨機整數(shù)組成的數(shù)組a(i)=Int(Rnd*90+10)Printa(i);IfiMod10=0ThenPrintNextiFori=1To20sum=0Forj=0To3If(i+j)>20Thensum=sum+a(i+j-20)Elsesum=sum+a(i+j)EndIfNextjIfmax<sumThenmax=summaxi=iEndIfNextiPrinta(maxi)&"+"&a(maxi+1)&"+"&a(maxi+2)&"+"&a(maxi+3)&"="&maxEndSub4.有15個人圍成一圈,順序排號(從1排到15)。從第一個人開始報數(shù),凡報到3的人退出圈子,并根據(jù)退出圈子的順序重新編號,輸出新老編號。 解:OptionExplicitPrivateSubCommand1_Click()DimA(15)AsInteger,SAsStringDimiAsInteger,idxAsInteger,CountAsIntegerFori=1To15'初始設置所有人參與報數(shù)A(i)=1Nextiidx=0'記錄報數(shù)人的編號Fori=1To15'15個人均退出,則結束游戲Count=0'記錄報數(shù)累加值DoWhileCount<3idx=idx+1Ifidx>15Thenidx=1'首位相接Count=A(idx)+CountLoopA(idx)=0S=S&Str(idx)NextiFori=1To15Text1.Text=Text1.Text&Str(i)Text2.Text=SNextiEndSub5.利用級數(shù)法編程求arcsin函數(shù)值。 已知: 根據(jù)程序功能要求及求解公式設計的程序界面,如圖。運行程序,要求用戶通過InputBox函數(shù)輸入自變量x及允許誤差值。 解:OptionExplicitPrivateSubCmdcalc_Click()DimxAsSingle,nAsInteger,epsAsSingleDimsAsSingle,aAsSingle,tempAsStringtemp=InputBox("請輸入一個絕對值小于等于1的數(shù)與允許誤差:",_"求函數(shù)值","0.5,1e-5")temp=Trim(temp)n=InStr(temp,",")x=Left(temp,n-1):eps=Right(temp,Len(temp)-n)s=x:n=1Doa=afun(x,n)Ifa<=epsThenExitDos=s+an=n+1LoopLabel2.Caption="arcsin("&CStr(x)&")="Text1.Text=sEndSubPrivateFunctionafun(ByValxAsSingle,ByValnAsInteger)AsSingleDimiAsInteger,pAsSinglep=1Fori=1Tonp=p*(2*i-1)/(2*i)Nextiafun

溫馨提示

  • 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

提交評論