資源簡介 專項測試二 算法基礎(chǔ)一、選擇題1.某算法的部分流程圖如下圖所示,執(zhí)行這部分流程后,輸出x,y的值分別是( )A.0,3 B.3,1 C.3,0 D.0,35解析 本題主要考查的是循環(huán)結(jié)構(gòu)流程圖。當y=5時,x=11,當y=4時,x=9,當y=3時,x=7,當y=2時,x=5,當y=1時,x=3,此時y=0,不滿足條件,因此輸出x、y的值分別為3,0。答案 C2.某算法的部分流程圖如下圖所示。輸入x的值為1,執(zhí)行完這部分流程后,變量s的值是( )A.0 B.14 C.20 D.44解析 本題主要考查的是算法的流程圖。當x=1、3、7、9、11、13時滿足條件,因此s=1+3+2+4+1+3=14,故答案為B。答案 B3.有如下VB程序段:Dim x As String, y As String, z As Booleanx = Text1.Texty = Text2.Textz = x + y > y + xText3.Text = z程序運行時,在文本框Text1中輸入12121,在文本框Text2中輸入121,則在文本框Text3中顯示的內(nèi)容為( )A.12121121 B.12112121C.True D.False解析 本題主要考查的是字符串比較。需注意的是運算符的優(yōu)先級:算術(shù)運算符>關(guān)系運算符>邏輯運算符,字符串比較大小其實質(zhì)是比較其ASCII值,因此答案為C。答案 C4.有如下VB程序段:s = 0: i = 1Do While i <= 10 If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i List1.AddItem Str(a(i)) i = i + 1Loopi = 10Do While i >= 1 If a(i) = 1 Then s = s + 1 i = i - 1Loop該程序段運行后,變量s值是( )A.3 B.4 C.5 D.9解析 本題主要考查的是數(shù)組。程序執(zhí)行后,數(shù)組元素a(1)、a(3)、a(6)、a(9)的值為1,因此共有4個,答案為B。答案 B5.有如下VB程序段: Dim d As Integer, p As Integer p = 2 d = 10 Do While d > 1 p = 2 * p d = d - 1 Loop Label1.Caption = Str(p)該程序段運行后,在標簽Label1中顯示的內(nèi)容是( )A.2 B.512 C.1024 D.2048解析 本題主要考查的是VB的循環(huán)結(jié)構(gòu)。本程序的功能是計算210的值,210=1024,因此答案為C。答案 C6.有如下 VB 程序段: a(1) = 10For i = 2 To 10 a(i) = 0 If i Mod 2 = 1 Thena(i) = a(i 2) + a(i - 1) Elsea(i) = a(i) + 1 End IfNext i該程序段執(zhí)行后,數(shù)組元素a(7)的值是( )A.2 B.10 C.11 D.12解析 當i為奇數(shù)時,a(i) = a(i 2) + a(i - 1),因此a(7) = a(3) + a(6)。a(3) = a(1) + a(2)。當i為偶數(shù)時,a(i) = a(i) + 1,因此a(2)=1,a(6)=1。a(3) =11,a(7) =12。答案 D7.有如下VB程序段: Dim i As Integer, j As Integer, st As Stringn = 5 For i = 1 To 5st = “ ”If i < 4 Then For j = 1 To i st = st + “*” Next jElseFor j = i To n st = st + “*”Next j End If List1.AddItem stNext i該程序段運行后,在列表框List1中顯示的內(nèi)容是( )解析 本題主要考查的是二重循環(huán)。外循環(huán)表示圖形共有幾行,內(nèi)循環(huán)表示每行共有幾個*,當i<4時,第i行的*數(shù)為i,即第1、2、3行的*數(shù)分別為1、2、3,i>=4時,第i行的*數(shù)為5-i+1個,即第4、5行的*數(shù)分別為2、1,因此答案為B。答案 B8.有如下VB程序段: Dim a(1 To 6) As Long, i As Integer, x As Long, y As Long x = 654321 For i = 1 To 6a(i) = x Mod 10x = x 10y = y + a(i) * 10 ^ (6 - i + 1) Next i執(zhí)行該程序段后,變量y的值為( )A.123456 B.1234560C.6543210 D.654321解析 本題主要考查的是數(shù)值運算。本程序的功能是將整數(shù)x中的數(shù)字進行轉(zhuǎn)置,需注意的是分離后數(shù)字*10^(6-i+1),因此答案為B。答案 B9.計算斐波那契數(shù)列的前n項。該數(shù)列從第 3 項開始,每一項都等于前兩項之和,其中第1項為1,第2項也為1。計算前第 n項的 VB程序段如下所示:Private Sub Command1_Click() Dim n As Integer,i As Integer,a As Long,b As Long,c As Long a = 1 b = 1 n = Val(Text1.Text) List1.AddItem Str(a) List1.AddItem Str(b) For i = 3 To n List1.AddItem Str(c) Next iEnd Sub上述程序中方框處可選語句為( )①a=b ②c=a+b ③b=cA.①、②、③ B.①、③、②C.③、①、② D.②、①、③解析 本題主要考查的是賦值的位置對程序的影響。本題主要采用數(shù)學的迭代思想求斐波那契數(shù)列,使用a、b、c三個變量實現(xiàn)。改變這三條賦值語句的先后順序,將會對程序產(chǎn)生很大的影響,得到的結(jié)果也將截然不同,正確順序為②①③。答案 D10.有如下VB程序段:n = 0For i = 1 To Len(Text1.Text)c = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then m = 1 Else m = 2a(m) = a(m) + 1If a(m) = 1 Then n = n + 1Next i數(shù)組a各元素的初始值都為0,文本框Text1的內(nèi)容為“Happy2018”。執(zhí)行程序后,變量n的值為( )A.1 B.2 C.4 D.9解析 本程序的功能是統(tǒng)計數(shù)字字符和非數(shù)字字符的個數(shù),共有2種,因此答案為B。數(shù)組元素a(1)存儲的是數(shù)字字符的個數(shù),數(shù)組元素a(2)存儲的是非數(shù)字字符的個數(shù)。答案 B二、非選擇題11.小明編寫了一個計算BMI指數(shù)的VB程序。BMI指數(shù)(即身體質(zhì)量指數(shù),稱簡體質(zhì)指數(shù)又稱體重,英文為Body Mass Index,簡稱BMI),是用體重(公斤)除以身高(米)平方得出的數(shù)字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個標準,BMI指數(shù)的判斷標準如下表所示:BMI指數(shù)<18.522.918.5~23~25~24.929.9≥30≥40.0結(jié)果偏瘦正常偏胖肥胖重度肥胖極重度肥胖程序運行時,在文本框Text1中輸入體重,在文本框Text2中輸入身高,單擊”測試”按鈕Command1,在標簽Label4中顯示對應的結(jié)果。程序運行界面如下圖所示。實現(xiàn)上述功能的VB程序如下,請回答下列問題:Private Sub Command1_Click() Dim h As Single, w As Single, ans As Single, s As String w = Val(Text1.Text) h = Val(Text2.Text) ______①______ If ans< 18.5 Thens = “偏瘦” ElseIf ans< 22.9 Thens = “正常” ElseIf ans<= 24.9 Thens = “偏胖” ElseIf ans<= 29.9 Thens = “肥胖” ElseIf ans< 40 Thens = “重度肥胖” ______②______s = “極重度肥胖” End If Label4.Caption = sEnd Sub(1)程序代碼“Private Sub Command1_Click()”中Command1_Click()是指________(選填:對象 / 屬性 / 過程 / 事件 / 方法)。(2)請在程序劃線處填入合適代碼。(3)程序運行時,輸入體重70,身高1.65,則測試結(jié)果為________。解析 本題主要考查是多分支結(jié)構(gòu)語句。(1)本小題主要考查事件處理過程,Command1_Click為過程。(2)根據(jù)題目可知BMI指數(shù)=體重/身高2,因此①處語句為ans=w/h^2或ans=w/(h*h);②處語句表示除上面條件外的情況,即BMI指數(shù)>=40.0,因此可填入Else,或ElseIf ans>=40 Then,需注意的是不能漏掉Then。(3)本小題主要考查實際應用。根據(jù)公式計算可得BMI指數(shù)為25.7,因此測試結(jié)果為“肥胖”。答案 (1)過程 (2)①ans = w/h^2 ②Else或ElseIf ans>=40 Then (3)肥胖12.編寫VB程序,實現(xiàn)如下功能:在文本框中輸入一個整數(shù),單擊“計算”按鈕Command1,則輸出表達式1-+-+…+的值。程序運行界面如下圖所示。(1)該VB窗體上共包含________類對象。(2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, p As Long, s As Double, i As Integer, t As Integer s = 0 t = 1 p = 0 n = Val(Text1.Text) For i = 1 To n ________①________ s = s + t * 1 / p ________②________ Next i Label1.Caption = Str(s)End Sub(3)運行該程序,在文本框Text1中輸入5,單擊“計算”按鈕,則表達式的值是________。解析 (1)窗體上共包含3類對象,文本框、標簽和按鈕。(2)變量p表示表達式中每項的分母,因此①處語句為p = p + i;變量t表示控制每項的正負符號的交替,因此②處代碼為t = -t ,也可以寫為t=-1*t。答案 (1)3 (2)①p = p + i ②t = -t或 t=-1*t (3)0.813.小明編寫了一個VB程序,功能如下:輸入一個不超過10000的整數(shù),若該數(shù)的各位數(shù)字之積是其各位數(shù)字之和的倍數(shù),則輸出“Yes”,否則輸出“No”。程序運行時,在文本框Text1中輸入一個整數(shù),單擊“判斷”按鈕Command1后,在標簽Label3中顯示判斷結(jié)果。程序運行界面如下圖所示。(1)在設(shè)計程序界面時,要清空標簽Label3中的顯示內(nèi)容,應修改該標簽的______屬性。(2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適代碼。 Private Sub Command1_Click() Dim x As Integer, h As Integer, k As Integer x = Val(Text1.Text) h = 0 k=1 Do While x > 0 h = h + x Mod 10 k=________①________ x = x 10 Loop If ________②______Then Label3.Caption = “Yes” Else Label3.Caption = “No” End IfEnd Sub(3)運行該程序,在文本框Text1中輸入1234,單擊“判斷”按鈕,顯示的判斷結(jié)果為________。解析 (1)本小題主要考查的是對象的Caption屬性。(2)①處代碼表示求整數(shù)x的各位數(shù)字之積,因此代碼為k * (x Mod 10);②處代碼表示“整數(shù)x的各位數(shù)字之積是和的倍數(shù)嗎?”,因此②處代碼為k Mod h = 0;(3)為算法的實際應用。整數(shù)1234的各位數(shù)字之和為10,各位數(shù)字之積為24,因此判斷結(jié)果為“No”。答案 (1)Caption (2)① k * (x Mod 10)②k Mod h = 0 (3)No14.編寫“加法練習題生成器”程序,實現(xiàn)如下功能:在文本框Text1中輸入題數(shù)n,單擊“生成”按鈕Command1,在列表框List1中顯示n個兩數(shù)之和小于100的加法練習題。程序運行界面如圖1所示。(1)在設(shè)計程序界面時,應使用圖2所示“控件工具箱”中的______(填寫相應編號)添加“生成”按鈕。 (2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click( ) Dim n As Integer,i As Integer,a As Integer,b As IntegerRandomizen=Val(Text1.Text)i=____①____Do While i<=na=Int(Rnd*100)b=Int(Rnd*100)If____②____Then List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=” i=i+1End IfLoopEnd Sub(3)運行該程序,在文本框中輸入5,單擊“生成”按鈕后,對語句“a=Int(Rnd*100)”執(zhí)行次數(shù)的描述,最合理的是______(單選,填字母:A.執(zhí)行次數(shù)等于5 / B.執(zhí)行次數(shù)大于等于5 / C.執(zhí)行次數(shù)小于等于5)。 解析 (1)編號1表示標簽,編號2表示文本框,編號3表示按鈕。(2)變量i應從1開始,因此初值為1,①處代碼填入1;題目要求顯示的是兩數(shù)之和小于100的n個加法題,因此②處條件為a+b<100;(3)語句“a=Int(Rnd*100)”表示生成[0,99]區(qū)間內(nèi)的整數(shù),生成a、b隨機整數(shù)后,如果a+b>=100,則不符合要求,需要重新再生成兩個隨機數(shù),因此執(zhí)行次數(shù)可能會大于實際顯示的加法式子的個數(shù)。答案 (1)3 (2)①1 ②a+b<100 (3)B15.哥德巴赫猜想:任意一個大于等于4的偶數(shù),都可以用兩個素數(shù)之和表示。如:4=2+2,6=3+3,8=3+5,10=5+5,12=5+7,98=17+79。編寫一個驗證哥德巴赫猜想的VB程序:程序運行時,在文本框Text1中輸入一個大于等于4的偶數(shù),單擊“驗證”按鈕Command1后,如果哥德巴赫猜想驗證成功,則在文本框Text2中顯示“Yes”,并在列表框List1中顯示用兩個素數(shù)表示該偶數(shù)的等式,否則顯示“No”。程序運行結(jié)果如圖所示。實現(xiàn)上述功能的VB代碼如下,但加框處代碼有錯,請改正。′函數(shù)pp(x)的功能是判斷整數(shù)x是否為素數(shù),若是素數(shù)則返回True,否則返回FalseFunction pp(x As Integer) As Boolean Dim j As Integer pp = True j = 2 Do While j <= Int(Sqr(x)) And pp=True If x Mod j = 0 Then pp = False Else ′① LoopEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, p As Integer, q As Integer, pd As Boolean n = Val(Text1.Text) p = 1 pd = False Do While Not pd And p < np = p + 1 ′②If pp(p) And pp(q) Then Text2.Text = “Yes” pd = True List1.AddItem Str(n) + “=” + Str(p) + “+” + Str(q)End If Loop If pd = False Then Text2.Text = “No”End Sub程序中加框①處應改正為____________________________________________;加框②處應改正為____________________________________________________。解析 函數(shù)pp(x)的功能是判斷整數(shù)x是否為素數(shù),若是素數(shù),則返回True,否則返回False。判斷素數(shù)的方法為:讓x去除以j(2至根號x取整),若能被某個數(shù)j整除,則函數(shù)值為False,否則j+1后再試,因此①處語句修改為j=j(luò)+1;Command1_Click()事件處理過程的功能是尋找組成整數(shù)n的二個素數(shù),方法是枚舉p,因此q=n-p,然后再判斷p和q是否均為素數(shù),若是則完成定理證明,否則將繼續(xù)枚舉p的值。答案 ①j=j(luò)+1 ②q=n-p 16.有趣的乘法:輸入一個個位數(shù)不是5的奇數(shù)p,尋找一個整數(shù)s,使得p×s = 1111...1(每位數(shù)字均為1),要求輸出整數(shù)s及它們乘積中1的個數(shù)(即乘積有幾個1構(gòu)成)。例如,當p=13時,13*8547=111111,因此整數(shù)s為8547,乘積由6個1構(gòu)成;當p=23時,整數(shù)s為48309178743961352657,乘積由22個1構(gòu)成。算法思想:首先生成一個比p大的全1數(shù)a,如果a能整除p,則算法結(jié)束,否則繼續(xù)擴大a的位數(shù),如此繼續(xù),直至a整除p。程序運行界面如下圖所示,在文本框Text1中輸入整數(shù)p,單擊“計算”按鈕,在文本框Text2中輸出整數(shù)s,在文本框Text3中輸出乘積中1的個數(shù)。小明依據(jù)上述描述設(shè)計如下VB程序。請回答下列問題:(1)當p=3時,整數(shù)s為________。(2)請在劃線處填入合適的語句。Private Sub Command1_Click() Dim p As Long, a As Long, b As Long, c As Long, n As Long Dim s As String ′存放整數(shù)s,因為該數(shù)較大,因此采用字符串存儲 Do While True ′判斷輸入的整數(shù)p是否為個位不是5的奇數(shù) p = Val(Text1.Text) If p Mod 2 < > 0 And p Mod 5 < > 0 Then Exit Do Loop a = 0 n = 0 Do While a < p __________①__________ n = n + 1 Loop c = a Mod p s = Str(a p) Do While c < > 0 a = c * 10 + 1 __________②________ s = s & b n = n + 1 ________③________ Loop Text2.Text = s Text3.Text = Str(n)End Sub解析 本題主要考查的是算法的綜合應用。(1)當p=3時,整數(shù)s=111/3=37。(2)①處代碼表示生成1個比p大的全1整數(shù),因此①處代碼為a=a*10+1;②處循環(huán)表示,若當前全1整數(shù)不能被p整除,則會繼續(xù)生成一個更大全1整數(shù),直到它能被p整除為止,因此②處代碼為b = a p,③處代碼為c = a Mod p,也可以寫為c=a-b*p。答案 (1)37 (2)①a = a * 10 + 1 ②b = a p③c = a Mod p或c=a-b*p專項測試二 算法基礎(chǔ)一、選擇題1.某算法的部分流程圖如下圖所示,執(zhí)行這部分流程后,輸出x,y的值分別是( )A.0,3 B.3,1 C.3,0 D.0,352.某算法的部分流程圖如下圖所示。輸入x的值為1,執(zhí)行完這部分流程后,變量s的值是( )A.0 B.14 C.20 D.443.有如下VB程序段:Dim x As String, y As String, z As Booleanx = Text1.Texty = Text2.Textz = x + y > y + xText3.Text = z程序運行時,在文本框Text1中輸入12121,在文本框Text2中輸入121,則在文本框Text3中顯示的內(nèi)容為( )A.12121121 B.12112121C.True D.False4.有如下VB程序段:s = 0: i = 1Do While i <= 10 If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i List1.AddItem Str(a(i)) i = i + 1Loopi = 10Do While i >= 1 If a(i) = 1 Then s = s + 1 i = i - 1Loop該程序段運行后,變量s值是( )A.3 B.4 C.5 D.95.有如下VB程序段: Dim d As Integer, p As Integer p = 2 d = 10 Do While d > 1 p = 2 * p d = d - 1 Loop Label1.Caption = Str(p)該程序段運行后,在標簽Label1中顯示的內(nèi)容是( )A.2 B.512 C.1024 D.20486.有如下 VB 程序段: a(1) = 10For i = 2 To 10 a(i) = 0 If i Mod 2 = 1 Thena(i) = a(i 2) + a(i - 1) Elsea(i) = a(i) + 1 End IfNext i該程序段執(zhí)行后,數(shù)組元素a(7)的值是( )A.2 B.10 C.11 D.127.有如下VB程序段: Dim i As Integer, j As Integer, st As Stringn = 5 For i = 1 To 5st = “ ”If i < 4 Then For j = 1 To i st = st + “*” Next jElseFor j = i To n st = st + “*”Next j End If List1.AddItem stNext i該程序段運行后,在列表框List1中顯示的內(nèi)容是( )8.有如下VB程序段: Dim a(1 To 6) As Long, i As Integer, x As Long, y As Long x = 654321 For i = 1 To 6a(i) = x Mod 10x = x 10y = y + a(i) * 10 ^ (6 - i + 1) Next i執(zhí)行該程序段后,變量y的值為( )A.123456 B.1234560C.6543210 D.6543219.計算斐波那契數(shù)列的前n項。該數(shù)列從第 3 項開始,每一項都等于前兩項之和,其中第1項為1,第2項也為1。計算前第 n項的 VB程序段如下所示:Private Sub Command1_Click() Dim n As Integer,i As Integer,a As Long,b As Long,c As Long a = 1 b = 1 n = Val(Text1.Text) List1.AddItem Str(a) List1.AddItem Str(b) For i = 3 To n List1.AddItem Str(c) Next iEnd Sub上述程序中方框處可選語句為( )①a=b ②c=a+b ③b=cA.①、②、③ B.①、③、②C.③、①、② D.②、①、③10.有如下VB程序段:n = 0For i = 1 To Len(Text1.Text)c = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then m = 1 Else m = 2a(m) = a(m) + 1If a(m) = 1 Then n = n + 1Next i數(shù)組a各元素的初始值都為0,文本框Text1的內(nèi)容為“Happy2018”。執(zhí)行程序后,變量n的值為( )A.1 B.2 C.4 D.9二、非選擇題11.小明編寫了一個計算BMI指數(shù)的VB程序。BMI指數(shù)(即身體質(zhì)量指數(shù),稱簡體質(zhì)指數(shù)又稱體重,英文為Body Mass Index,簡稱BMI),是用體重(公斤)除以身高(米)平方得出的數(shù)字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個標準,BMI指數(shù)的判斷標準如下表所示:BMI指數(shù)<18.522.918.5~23~25~24.929.9≥30≥40.0結(jié)果偏瘦正常偏胖肥胖重度肥胖極重度肥胖程序運行時,在文本框Text1中輸入體重,在文本框Text2中輸入身高,單擊”測試”按鈕Command1,在標簽Label4中顯示對應的結(jié)果。程序運行界面如下圖所示。實現(xiàn)上述功能的VB程序如下,請回答下列問題:Private Sub Command1_Click() Dim h As Single, w As Single, ans As Single, s As String w = Val(Text1.Text) h = Val(Text2.Text) ______①______ If ans< 18.5 Thens = “偏瘦” ElseIf ans< 22.9 Thens = “正常” ElseIf ans<= 24.9 Thens = “偏胖” ElseIf ans<= 29.9 Thens = “肥胖” ElseIf ans< 40 Thens = “重度肥胖” ______②______s = “極重度肥胖” End If Label4.Caption = sEnd Sub(1)程序代碼“Private Sub Command1_Click()”中Command1_Click()是指________(選填:對象 / 屬性 / 過程 / 事件 / 方法)。(2)請在程序劃線處填入合適代碼。(3)程序運行時,輸入體重70,身高1.65,則測試結(jié)果為________。12.編寫VB程序,實現(xiàn)如下功能:在文本框中輸入一個整數(shù),單擊“計算”按鈕Command1,則輸出表達式1-+-+…+的值。程序運行界面如下圖所示。(1)該VB窗體上共包含________類對象。(2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, p As Long, s As Double, i As Integer, t As Integer s = 0 t = 1 p = 0 n = Val(Text1.Text) For i = 1 To n ________①________ s = s + t * 1 / p ________②________ Next i Label1.Caption = Str(s)End Sub(3)運行該程序,在文本框Text1中輸入5,單擊“計算”按鈕,則表達式的值是________。13.小明編寫了一個VB程序,功能如下:輸入一個不超過10000的整數(shù),若該數(shù)的各位數(shù)字之積是其各位數(shù)字之和的倍數(shù),則輸出“Yes”,否則輸出“No”。程序運行時,在文本框Text1中輸入一個整數(shù),單擊“判斷”按鈕Command1后,在標簽Label3中顯示判斷結(jié)果。程序運行界面如下圖所示。(1)在設(shè)計程序界面時,要清空標簽Label3中的顯示內(nèi)容,應修改該標簽的______屬性。(2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適代碼。 Private Sub Command1_Click() Dim x As Integer, h As Integer, k As Integer x = Val(Text1.Text) h = 0 k=1 Do While x > 0 h = h + x Mod 10 k=________①________ x = x 10 Loop If ________②______Then Label3.Caption = “Yes” Else Label3.Caption = “No” End IfEnd Sub(3)運行該程序,在文本框Text1中輸入1234,單擊“判斷”按鈕,顯示的判斷結(jié)果為________。14.編寫“加法練習題生成器”程序,實現(xiàn)如下功能:在文本框Text1中輸入題數(shù)n,單擊“生成”按鈕Command1,在列表框List1中顯示n個兩數(shù)之和小于100的加法練習題。程序運行界面如圖1所示。(1)在設(shè)計程序界面時,應使用圖2所示“控件工具箱”中的______(填寫相應編號)添加“生成”按鈕。 (2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click( ) Dim n As Integer,i As Integer,a As Integer,b As IntegerRandomizen=Val(Text1.Text)i=____①____Do While i<=na=Int(Rnd*100)b=Int(Rnd*100)If____②____Then List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=” i=i+1End IfLoopEnd Sub(3)運行該程序,在文本框中輸入5,單擊“生成”按鈕后,對語句“a=Int(Rnd*100)”執(zhí)行次數(shù)的描述,最合理的是______(單選,填字母:A.執(zhí)行次數(shù)等于5 / B.執(zhí)行次數(shù)大于等于5 / C.執(zhí)行次數(shù)小于等于5)。 15.哥德巴赫猜想:任意一個大于等于4的偶數(shù),都可以用兩個素數(shù)之和表示。如:4=2+2,6=3+3,8=3+5,10=5+5,12=5+7,98=17+79。編寫一個驗證哥德巴赫猜想的VB程序:程序運行時,在文本框Text1中輸入一個大于等于4的偶數(shù),單擊“驗證”按鈕Command1后,如果哥德巴赫猜想驗證成功,則在文本框Text2中顯示“Yes”,并在列表框List1中顯示用兩個素數(shù)表示該偶數(shù)的等式,否則顯示“No”。程序運行結(jié)果如圖所示。實現(xiàn)上述功能的VB代碼如下,但加框處代碼有錯,請改正。′函數(shù)pp(x)的功能是判斷整數(shù)x是否為素數(shù),若是素數(shù)則返回True,否則返回FalseFunction pp(x As Integer) As Boolean Dim j As Integer pp = True j = 2 Do While j <= Int(Sqr(x)) And pp=True If x Mod j = 0 Then pp = False Else ′① LoopEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, p As Integer, q As Integer, pd As Boolean n = Val(Text1.Text) p = 1 pd = False Do While Not pd And p < np = p + 1 ′②If pp(p) And pp(q) Then Text2.Text = “Yes” pd = True List1.AddItem Str(n) + “=” + Str(p) + “+” + Str(q)End If Loop If pd = False Then Text2.Text = “No”End Sub程序中加框①處應改正為____________________________________________;加框②處應改正為____________________________________________________。16.有趣的乘法:輸入一個個位數(shù)不是5的奇數(shù)p,尋找一個整數(shù)s,使得p×s = 1111...1(每位數(shù)字均為1),要求輸出整數(shù)s及它們乘積中1的個數(shù)(即乘積有幾個1構(gòu)成)。例如,當p=13時,13*8547=111111,因此整數(shù)s為8547,乘積由6個1構(gòu)成;當p=23時,整數(shù)s為48309178743961352657,乘積由22個1構(gòu)成。算法思想:首先生成一個比p大的全1數(shù)a,如果a能整除p,則算法結(jié)束,否則繼續(xù)擴大a的位數(shù),如此繼續(xù),直至a整除p。程序運行界面如下圖所示,在文本框Text1中輸入整數(shù)p,單擊“計算”按鈕,在文本框Text2中輸出整數(shù)s,在文本框Text3中輸出乘積中1的個數(shù)。小明依據(jù)上述描述設(shè)計如下VB程序。請回答下列問題:(1)當p=3時,整數(shù)s為________。(2)請在劃線處填入合適的語句。Private Sub Command1_Click() Dim p As Long, a As Long, b As Long, c As Long, n As Long Dim s As String ′存放整數(shù)s,因為該數(shù)較大,因此采用字符串存儲 Do While True ′判斷輸入的整數(shù)p是否為個位不是5的奇數(shù) p = Val(Text1.Text) If p Mod 2 < > 0 And p Mod 5 < > 0 Then Exit Do Loop a = 0 n = 0 Do While a < p __________①__________ n = n + 1 Loop c = a Mod p s = Str(a p) Do While c < > 0 a = c * 10 + 1 __________②________ s = s & b n = n + 1 ________③________ Loop Text2.Text = s Text3.Text = Str(n)End Sub 展開更多...... 收起↑ 資源列表 專項測試二 算法基礎(chǔ).doc 專項測試二 算法基礎(chǔ)原卷版.doc 縮略圖、資源來源于二一教育資源庫