VB第4章復(fù)習(xí)資料_第1頁
VB第4章復(fù)習(xí)資料_第2頁
VB第4章復(fù)習(xí)資料_第3頁
VB第4章復(fù)習(xí)資料_第4頁
VB第4章復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第4章 補充資料習(xí)題解答1計算下列循環(huán)語句的次數(shù):(1)For I= -3 To 20 Step 4答:循環(huán)次數(shù)為6次。循環(huán)體內(nèi)I的值分別為:-3,1,5,9,13,17;出了循環(huán)體后I的值為21。(2) For I= -3.5 To 5.5 Step 0.5答:循環(huán)次數(shù)為19次。(3) For I= -3.5 To 5.5 Step -0.5答:不循環(huán),步長0,循環(huán)初值終值。(4) For I= -3 To 20 Step 0答:無數(shù)次,步長=0。2. 下列3090為語句標(biāo)號,分別標(biāo)記該語句,第40號語句共執(zhí)行了幾次,第50號語句共執(zhí)行了幾次,執(zhí)行第90號語句后顯示的結(jié)果是多少?30 For

2、 j = 1 To 12 Step 340 For k =6 To 2 Step -250 mk = k60 Print j,k70 Next k80 Next j90 Print j , k , mk 答:第40號語句共執(zhí)行了4次,是外循環(huán)的循環(huán)體;第50號語句共執(zhí)行了12次,是內(nèi)循環(huán)的循環(huán)體,循環(huán)次數(shù)為兩重循環(huán)次數(shù)的乘積;第90號語句顯示的結(jié)果是13 0 2。3如果實現(xiàn)不知道循環(huán)次數(shù),如何用For Next 結(jié)構(gòu)來實現(xiàn)? 答:只要將循環(huán)的終值設(shè)置成一個非常大的值,然后再循環(huán)體內(nèi)增加If語句,判斷是否滿足循環(huán)結(jié)束的條件。形式如下: For 循環(huán)變量 =1 To 非常大的數(shù) If 滿足循環(huán)結(jié)束

3、條件 Then Exit For Next 循環(huán)變量4利用循環(huán)結(jié)構(gòu),實現(xiàn)如下功能:(1)答:s =0For i =1 To 10 s = s +( i+1)*(2* i +1)Next i(2)分別統(tǒng)計1100中,滿足3的倍數(shù)、7的倍數(shù)的整數(shù)各有多少?答: s3=0 s7=0 For i =1 to 100 If i mod 7=0 Then s7=s7 +1 If i mod 3=0 Then s3=s3+1 Next i(3)將輸入的字符串以反序顯示。如輸入 “ASDFGHJKL”,顯示 “LKJHGFDSA”。答: s=InputBox(“輸入字符串”) For i =Len(s) To

4、 1 Step -1 Print Mid(s,i,1); Next i5下面程序的運行結(jié)果是什么?該程序的功能是什么? Private Sub Command1_ Click( )Dim x,nn = 20Do While n 0 a = n Mod 2 n = n2 x = Chr(48 + a) xLoop Print x End Sub答:運行后結(jié)果為10100,該程序的功能是將十進制數(shù)轉(zhuǎn)換成二進制字符串。6.下面程序的運行結(jié)果是什么?該程序的功能是什么? Print Sub Command1_Click( ) Dim x,y,z x = 242: y = 44 z =x * y Do

5、Until x = y If x y Then x = x y Else y = y x Loop Print x, z/x End Sub答:運行結(jié)果為22和484;該程序的功能是用相減法求x,y的最大公約數(shù)和最小公倍數(shù)。7.利用隨機函數(shù)產(chǎn)生50100范圍內(nèi)的20個隨機數(shù),現(xiàn)實其中的最大值、最小值和平均值。 Private Sub Form_Click( )Dim i, min , max , avg, xmin = 100 設(shè)置最小值、最大值和平均值的初態(tài)max = 50avg = 0For i = 1 To 20 x = Int(Rnd * 51+50) Print x; If x ma

6、x Then max = x If x min Then min = x avg =avg + xNext iPrintPrint “最小值=”;min , “最大值 =”;max, “平均值=”;avg/20 End Sub 常見錯誤和難點分析1.一般循環(huán)控制變量在循環(huán)體內(nèi)可以引用但不要被賦值如在循環(huán)控制變量的引用和賦值將影響循環(huán)次數(shù),引起混亂,效果如圖4.1所示。Private Sub Command1_Click( ) Print “單擊Command1輸出:” For i = 1 To 20 s = s + i 循環(huán)控制變量i被引用,正確使用 Print I; Next i Print

7、End Sub Private Sub Command2_Click( ) Print “單擊Command2輸出:” For i = 1 To 20i = i + 2 循環(huán)控制變量i被賦值,改變了循環(huán)次數(shù),不正確使用 Print I; Next i PrintEnd Sub 圖4.1 循環(huán)控制變量引用和賦值的兩種使用方式運行效果2.不循環(huán)或死循環(huán)的問題出現(xiàn)不循環(huán)或死循環(huán)的情況主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長的設(shè)置有問題。例如,以下循環(huán)語句不執(zhí)行循環(huán)體:For i =10 To 20 Step -1 步長為負,初值必須大于等于終值,才能循環(huán)For i =20 To 10 步長為正,

8、初值必須小于等于終值,才能循環(huán)Do While False 循環(huán)條件永遠不滿足,不循環(huán)例如,以下循環(huán)語句為死循環(huán): For i =10 To 20 Step 0 步長為0,死循環(huán) Do While 1 循環(huán)條件永遠滿足,死循環(huán)3循環(huán)結(jié)構(gòu)中缺少配對的結(jié)束語句ForNext 語句沒有配對的Next語句;Do語句沒有一個終結(jié)的Loop語句等。4循環(huán)嵌套時,內(nèi)外循環(huán)交叉 For i = 1 To 4 For j =1 To 5 Next i Next j 上述循環(huán)體的交叉,運行時顯示“無效的Next控制變量引用”。外循環(huán)必須完全包含內(nèi)循環(huán),不得交叉。 5循環(huán)結(jié)構(gòu)與If塊結(jié)構(gòu)交叉For i =1 To

9、4 If 表達式 ThenNext iEnd If錯誤同上,正確的做法應(yīng)該為If結(jié)構(gòu)完全包含循環(huán)結(jié)構(gòu),或者循環(huán)結(jié)構(gòu)完全包含If結(jié)構(gòu)。6累加、連乘時,存放累加、連乘結(jié)果的變量賦初值的問題 (1)一重循環(huán)在一重循環(huán)中,存放累加、連乘結(jié)果的變量初值設(shè)置應(yīng)放在循環(huán)語句前。 例如,求1100之間的3的倍數(shù)之和,結(jié)果存入Sum變量中,如下程序段的輸入結(jié)果如何? Private Sub Form _Click( ) For i =3 To 100 S tep 3 Sum =0 Sum = Sum + i Next i Print SumEnd Sub 要得到正確的結(jié)果,應(yīng)如何改進? (2)多重循環(huán)在多重循環(huán)

10、中,存放累加、連乘結(jié)果的變量初值設(shè)置應(yīng)放在外循環(huán)語句前,還是內(nèi)循環(huán)語句前,這要視具體問題分別對待。例如,30位學(xué)生參加三門課程的期末考試,以下是用程序?qū)崿F(xiàn)求每個學(xué)生的三門課程的平均成績,應(yīng)如何改進? aver = 0For i =1 To 30 For j =1 To 3 m = InputBox (“輸入第” & j & “門課的成績”) aver = aver + m Next javer = aver / 3Print averNext i測試題一、選擇題1以下 是正確的ForNext結(jié)構(gòu)。AFor x = 1 To Step 10 BFor x = 3 To -3 Step -3 Ne

11、xt x Next xCFor x =1 To 10 DFor x = 3 To 10 Step 3 re: Next x Next y If i = 10 Then Goto re2下列循環(huán)結(jié)構(gòu)能正常結(jié)束循環(huán)的是 。Ai = 5 Bi = 1 Do Do i = i + 1 i = i + 2 Loop Until i 0 Loop Until i = 1 3下列程序段的運行結(jié)果為 。 For i = 3 To 1 Step -1 Print Spc(5-i); For j = 1 To 2*i 1 Print ”*” Next j Print Next iA * B * * * * * C

12、* * * * * D * * * * * * * * * * * * * * * * * * * * * * * * * 4當(dāng)在文本框中輸入“ABCD”4個字符時,窗體上顯示的是 。 Private Sub Text1_Change( ) Print Text1; End Sub AABCD BA CAABABCABCD DA B AB C ABC D ABCD 5下列哪個程序段不能分別正確顯示1!、2!、3!、4!的值 。 AFor i = 1 To 4 BFor i = 1 To 4 n = 1 For j = 1 To i For j = 1 To i n = 1 n = n * j

13、n = n * j Next j Next j Print n Print n Next i Next i Cn = 1 Dn = 1 For j = 1 To 4 j = 1 n = n * j Do While j = 4 Print n n = n * j Next j Print n j = j + 1 Loop6下列關(guān)于 DoLoop循環(huán)結(jié)構(gòu)執(zhí)行循環(huán)體次數(shù)的描述正確的是 ADo WhileLoop的循環(huán)和DoLoop Until循環(huán)至少都執(zhí)行一次BDo WhileLoop的循環(huán)和DoLoop Until循環(huán)可能都不執(zhí)行 CDo WhileLoop的循環(huán)至少執(zhí)行一次和,DoLoop U

14、ntil循環(huán)可能不執(zhí)行 DDo WhileLoop的循環(huán)可能不執(zhí)行,DoLoop Until循環(huán)至少執(zhí)行一次 7下面的程序段的運行結(jié)果為多少? Private Sub Command1_Click( ) For i = 1 To 5 n =0 For j = i To 5 n = n + 1 Next jNext iPrint nEnd Sub A10 B5 C15 D1二、填空題1要使下列For語句循環(huán)執(zhí)行20次,循環(huán)變量的初值應(yīng)是: For k = (1) To -5 Step -22下面程序顯示 (2) 個“*“ For i = 1 To 5 For j = 2 To 2Print “*

15、”Next jNext i3下列第40號語句共執(zhí)行了 (3) 次,第41號語句共執(zhí)行了 (4) 次。30 For j = 1 To 120 Step 3 40 For k = 6 To 2 Step -2 41 MsxBox(j & ” &k) 42 Next k 43 Next j 4輸入任意長度的字符串,要求將字符順序倒置。例如,將輸入的“ABCDEFG”變換成“GEFDCBA”。Private Sub Command1_Click( ) Dim a$, I%, c$, d$, s%a = InputBox$(“輸入字符串”)n = (5) For I = 1 To (6) c = Mid

16、(a, I, 1)Mid(a, I, 1) = (7) (8) = c Next I Print aEnd Sub 5找出被3、5、7除,余數(shù)均1的最小的5個正整數(shù)。Private Sub Command1_Click( ) Dim Count N%,n%CountN =0n = 1 Do n = n + 1 If (9) Then Print nCountN = CountN + 1 End ifLoop (10) End Sub6有一個長階梯,如果每步跨2階最后剩1階,如果每步跨3階最后剩2階,如果每步跨4階最后剩3階,如果每步跨5階最后剩4階,如果每步跨6階最后剩5階,只有當(dāng)如果每步跨7

17、階時恰好走完,顯示這個階梯至少要有多少階。 提示:利用肯定是7的倍數(shù)這個條件,然后根據(jù)同時滿足除n余m(n=2,3,4,5,6,m=1,2,3,4,5)的邏輯關(guān)系即可。Sub Command1_Click( ) Dim n% , m% For n = 7 To 10000 Step 7If n = Mod 2 =1 And (11) Then Print n (12) End ifNext nEnd Sub7期末某班在一周6天內(nèi)考三門分別為x,y,z的考試課程,規(guī)定一天只能考一門,課程依次按先考x后考y,最后考z,最后一門課程最早周五考。用計算機排考試,列出滿足條件的方案和方案數(shù),如圖4.2。

18、 圖4.2 習(xí)題7運行界面Private Sub Command1_Click( ) Dim x%, y%, z%,n%n = 0For x = 1 To 4For y = (13) To 5 For z = 5 To 6If (14)And y z Then Print x & Space(9) & y & Space(9)& z (15) End ifNext z Next yNext x (16) “滿足條件的方案數(shù)為:”& nEnd Sub8某次大獎賽,有7個評委打分,如下程序?qū)σ幻麉①愓撸斎?個評委的打分分數(shù),去掉一個最高分、一個最低分后,求出平均分為該參賽者的得分。Sub Com

19、mand1_Click( ) Dim mark%, aver%, i%, max1!, min1!aver = 0For i = 1 To 7mark = = InputBox(“請輸入第”& i & “位評委的打分”)If i = 1 Then max1 = mark : (17) Else If mark max1 Then (19) End if End if (20) Next iaver = (21) Print averEnd Sub9下面程序功能是判斷100以內(nèi)的孿生素數(shù),如圖4.3所示,所謂“孿生素數(shù)”是指兩個數(shù)相差2的素數(shù)對圖4.3 習(xí)題9運行界面Private Sub Co

20、mmand1_Click( ) Dim Count p1 As Boolean, p2 As Boolean, i%, j%rP1 = TrueFor i = 5 To 97 Step 2For j = 2 To Sqr(i) If i Mod j = 0 Then (22) Next jIf j Sqr(i) Then p2 = True Else p2 = FalseIf (23) Then print i 2, i End ifP1 = (24) Next I End Sub 參考答案 一、選擇題1B A少終值; C循環(huán)體外轉(zhuǎn)入循環(huán)體內(nèi),沒有執(zhí)行到For語句,循環(huán)的初值、終值、步長未知;D循環(huán)控制變量統(tǒng)一。2C A死循環(huán),I 永遠不可能小于0;B 死循環(huán),不可能使i =10;D 死循環(huán),不可能使i =1。3B4C 按一個字符,激發(fā)一次Text_Change 事件,將當(dāng)前文本框內(nèi)容顯示。5B 在內(nèi)循環(huán)體內(nèi)存放階乘的變量n 賦初值,顯示的結(jié)果時1、2、3

溫馨提示

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

評論

0/150

提交評論