資源簡介 第4節 Do循環結構考試內容考試要求Do語句格式cDo語句應用cDo語句Do While 條件表達式語句1語句2 (循環體)……Loop每次返回重新判斷條件是否成立,成立繼續循環【典例1】 Do循環執行過程填空。s = 0Do While s < 10s = s + 4Loop第1次條件s值為0,小于10成立,執行循環體后s=____第2次條件s值為____小于10成立,執行循環體后s=____第3次條件s值為____小于10成立,執行循環體后s=____第4次條件s值為____小于10不成立,循環體不執行解析 本題主要考查Do循環語句。判斷循環變量是否小于10,成立繼續循環,否則跳出循環。答案 4 4 8 8 12 12【變式訓練】 Do循環執行過程填空。s = “ ”: i = 1Do While i<5 s = s + Str(i) i = i + 1Loop第1次條件i值為____小于5成立,執行循環體后s=____第2次條件i值為____小于5成立,執行循環體后s=____第3次條件i值為____小于5成立,執行循環體后s=____第4次條件i值為____小于5成立,執行循環體后s=____第5次條件i值為____小于5不成立,循環體不執行解析 本題主要考查Do循環語句。判斷循環變量是否小于10,成立繼續循環,否則跳出循環。答案 1 “1” 2 “12” 3 “123” 4 “1234” 5【典例2】 有如下程序段:Dim a As Integer, b As Integer, c As Integera = 20:b = 0:c = 2Do While a > b And a > c b = b + 1 c = c + bLoop該程序段運行后(1)語句“b=b+1”執行的次數為__________。(2)變量c的值為__________。解析 本題主要考查Do循環語句。每次循環結束后變量b和c的值依次為1、3,2、5,3、8,4、12,5、17,6、23。答案 (1)6 (2)23【典例3】 有如下VB程序段:n = 20: s = “ ”Do While n < > 0r = n Mod 2s = Str(r) + sn = n 2LoopLabel1.Caption = s該程序段運行后標簽Label1上顯示的內容是( )A.10100 B.00101 C.1010 D.0010解析 本題主要考查Do循環語句。第1次循環結束后r=0,s=“0”,n=10;第2次循環結束后r=0,s=“00”,n=5;第3次循環結束后r=1,s=“100”,n=2;第4次循環結束后r=0,s=“0100”,n=1;第5次循環結束后r=1,s=“10100”,n=0。答案 A【典例4】 小明編寫程序實現計算1+2+3+……+n。程序功能如下:程序運行時,在文本框Text1中輸入n,單擊“計算”按鈕Command1,在文本框Text2顯示計算結果。程序運行如圖所示。(1)若將該窗體的標題修改為“前n項之和”,則修改該窗體的________(單選,填字母:A.Text/B.Name/C.Caption)屬性。(2)實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim i As IntegerDim n As IntegerDim s As Long①____i = 0Do While i < n i = i + 1 ____②____LoopText2.Text = Str(s)End Sub解析 本題主要考查Do循環語句。(1)文本框對象修改Text屬性,窗體對象修改Caption ,Name為對象的名稱。(2)通過聯系循環條件Do While i < n 可知需要對變量n進行賦值,結合題意得出第一空為:n = Val(Text1.Text)。每次循環時i的值變化為0、1、2、3……,需要計算1+2+3+……+n,則只需將每次變量i的值累加到變量s中即可,所以第二空代碼為s = s + i。答案 (1)C (2)①n = Val(Text1.Text)②s = s + i【方法總結】 在Do While循環中,需要在循環前給變量賦初值;循環變量值的變化需要在循環體中用語句實現。1.有如下VB程序段:s = “浙F888R5”n = 0: c = 0Do While n <= Len(s)n = n + 1ch = Mid(s, n, 1)If ch >= “A” And ch <= “Z” Then c = c + 1LoopLabel1.Caption = Str(c)該程序段運行后標簽Label1上顯示的內容是( )A.0 B.1 C.2 D.3解析 本題主要考查Do循環語句和分支結構。在Do循環中,n是小于等于7的整數時,執行循環體,行If語句用來判斷取出的第i個字符是否是大寫字母,是則將c遞增1。在字符串s中,有2個大寫字符,故c=2。答案 C2.有如下VB程序段:n = Val(Text1.Text)sum=nk=4Do while nk>0 sum=sum+nk n=nk+n mod kLoopText2.Text=Str(sum)在文本框Text1中輸入10,執行該段程序后,文本框Text2中顯示的值是( )A.12 B.14 C.16 D.13解析 本題主要考查Do循環語句。第1次循環結束后,sum=12,n=4;第2次循環結束后,sum=13,n=1。答案 D3.有如下VB程序段:Ins=Text1.Textn=Len(Ins)Outs=Mid(Ins,1,1)i=2Do While Mid(Ins,i,1)>=Mid(Outs,i-1,1) Outs=Outs+Mid(Ins,i,1) i=i+1LoopText2.Text=Outs在文本框Text1中輸入“Happy2018” ,執行該段程序后,文本框Text2中顯示的是( )A.Ha B.HappyC.Happy28 D.Happy2018解析 本題主要考查Do循環語句和最長字符串升序段的尋找,最大升序字符串遍歷截取后,第i個字符和第i-1個字符比較大小,如果第i個字符比第i-1個字符小,則結束循環。注意:數字內碼<大寫字符內碼<小寫字符內碼。答案 B基礎鞏固1.有如下VB程序段:Private Sub Command1_Click() Dim s1 As String, s2 As String, i As Integer, ch As String i=1:s1 = Text1.Text Do While i<=Len(s1)ch = Mid(s1, i, 1)If Asc(ch) >= 65 And Asc(ch) <= 90 Then ch = Chr(Asc(ch) + 3)s2 = ch + s2 i=i+1 Loop Label1.Caption = s2End Sub已知大寫字母 A 的 ASCII 碼為 65。運行上述程序,若文本框 Text1 中的內容為 “A1b2C3”,單擊命令按鈕 Command1,標簽 Label1 中顯示的是( )A.A1b2C3 B.3C2b1AC.D1b2F3 D.3F2b1D解析 本題主要考查Do循環語句和分支結構。行If語句主要用于判斷字符ch是否是大寫字符,如果是大寫字符,則將其轉換成大寫字符的后3位字符,然后將ch拼接在字符串s2的首部。第1次循環結束后s2=“D” ,第2次循環結束后s2=“1D” ,第3次循環結束后s2=“b1D” ,第4次循環結束后s2=“2b1D” ,第5次循環結束后s2=“F2b1D” ,第6次循環結束后s2=“3F2b1D” 。答案 D2.某Visual Basic程序如下:Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0:i=10 Do While i<=2sum = sum + i i=i-2 Loop Text1.Text = Str(sum)End Sub運行程序,單擊命令按鈕Command1后彈出如圖所示的出錯信息提示,此時程序正執行的語句是( )A.sum = 0 B.Do While i<=2C.sum = sum + i D.Text1.Text = Str(sum)解析 出現上述錯誤的原因是缺少對象Text1,執行Text1.Text = Str(sum)出現錯誤。答案 D能力提升3.編寫“打字練習”程序,實現如下功能:在文本框Text1中輸入相應的英文句子s,輸入完成后,單擊“確定”按鈕Command1,在標簽框Label2中顯示字符總數n和正確率p。程序運行界面如下圖所示。實現上述功能的VB程序如下,請在劃線處填寫合適的代碼。Private Sub Command1_Click() Dim s As String,s1 As String Dim n As Integer,i As Integer,c As Integer,p As Single i=1 s =____①____ s1 = Label1.Caption n = Len(s1) Do While i<=nIf ____②____ Then c = c + 1i=i+1 Loop p = ____③____ Label2.Caption = “字符總數:” & n & “ ” & “正確率:” & Str(p) & “%”End Sub解析 本題主要考查Do循環語句和分支結構。①將文本框Text1中的內容取出并賦值給Text1。②行If語句用來判斷Label1中的內容和Text1中的內容是否一樣,并統計相同字符的個數,因此,答案為Mid(s1,i,1)=(s,i,1)。③處代碼中的p表示正確率,p正確字符/總字符數*100,因此,答案為c / n * 100。答案 ①Text1.Text ②Mid(s1,i,1)=(s,i,1)③c / n * 1004.下列VB程序的功能是:在文本框Text1中輸入十進制數x,單擊“轉換”按鈕,在標簽Label3上顯示該十進制數對應的二進制數。程序運行界面如圖a所示。 圖a 圖b(1)在設計程序界面時,應使用圖b所示“控件工具箱”中的________(填寫相應編號)添加“Text1”文本框。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim x As Integer, r As Integer, s As String x = ______①______ s = “ ” Do While x < > 0 ________②______ s = Str(r)+s x = x 2 Loop______③______End Sub解析 本題主要考查解析算法的基本思想及程序實現。變量x用于存儲輸入的整數,得出第一空為Val(Text1.Text)。十進制轉換為二進制方法為:除2取余,直到商為0,最后將余數倒過來寫即為二制數。每一次循環都需要除2取余,得出第二空為r = x Mod 2。最終將轉換好的二進制數(字符串形式)在標簽上輸出,得出第三空為Label3.Caption = s。答案 (1)2 (2)①Val(Text1.Text)?、趓 = x Mod 2③Label3.Caption = s課件13張PPT。第4節 Do循環結構Do語句【典例1】 Do循環執行過程填空。解析 本題主要考查Do循環語句。判斷循環變量是否小于10,成立繼續循環,否則跳出循環。答案 4 4 8 8 12 12【變式訓練】 Do循環執行過程填空。解析 本題主要考查Do循環語句。判斷循環變量是否小于10,成立繼續循環,否則跳出循環。答案 1 “1” 2 “12” 3 “123” 4 “1234” 5【典例2】 有如下程序段:Dim a As Integer, b As Integer, c As Integera = 20:b = 0:c = 2Do While a > b And a > c b = b + 1 c = c + bLoop該程序段運行后(1)語句“b=b+1”執行的次數為__________。(2)變量c的值為__________。解析 本題主要考查Do循環語句。每次循環結束后變量b和c的值依次為1、3,2、5,3、8,4、12,5、17,6、23。答案 (1)6 (2)23【典例3】 有如下VB程序段:n = 20: s = “ ”Do While n < > 0 r = n Mod 2 s = Str(r) + s n = n 2LoopLabel1.Caption = s該程序段運行后標簽Label1上顯示的內容是( )A.10100 B.00101 C.1010 D.0010解析 本題主要考查Do循環語句。第1次循環結束后r=0,s=“0”,n=10;第2次循環結束后r=0,s=“00”,n=5;第3次循環結束后r=1,s=“100”,n=2;第4次循環結束后r=0,s=“0100”,n=1;第5次循環結束后r=1,s=“10100”,n=0。答案 A【典例4】 小明編寫程序實現計算1+2+3+……+n。程序功能如下:程序運行時,在文本框Text1中輸入n,單擊“計算”按鈕Command1,在文本框Text2顯示計算結果。程序運行如圖所示。(1)若將該窗體的標題修改為“前n項之和”,則修改該窗體的________(單選,填字母:A.Text/B.Name/C.Caption)屬性。(2)實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim i As IntegerDim n As IntegerDim s As Long____ ①____i = 0Do While i < n i = i + 1 ____②____LoopText2.Text = Str(s)End Sub解析 本題主要考查Do循環語句。(1)文本框對象修改Text屬性,窗體對象修改Caption ,Name為對象的名稱。(2)通過聯系循環條件Do While i < n 可知需要對變量n進行賦值,結合題意得出第一空為:n = Val(Text1.Text)。每次循環時i的值變化為0、1、2、3……,需要計算1+2+3+……+n,則只需將每次變量i的值累加到變量s中即可,所以第二空代碼為s = s + i。答案 (1)C (2)①n = Val(Text1.Text) ②s = s + i【方法總結】 在Do While循環中,需要在循環前給變量賦初值;循環變量值的變化需要在循環體中用語句實現。 展開更多...... 收起↑ 資源列表 第4節 Do循環結構.doc 第三單元第4節 Do循環結構.pptx 縮略圖、資源來源于二一教育資源庫