中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2020版算法與程序設(shè)計 專項測試二 算法基礎(chǔ)

資源下載
  1. 二一教育資源

2020版算法與程序設(shè)計 專項測試二 算法基礎(chǔ)

資源簡介

專項測試二 算法基礎(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。
答案 C
2.某算法的部分流程圖如下圖所示。
輸入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。
答案 B
3.有如下VB程序段:
Dim x As String, y As String, z As Boolean
x = Text1.Text
y = Text2.Text
z = x + y > y + x
Text3.Text = z
程序運行時,在文本框Text1中輸入12121,在文本框Text2中輸入121,則在文本框Text3中顯示的內(nèi)容為(  )
A.12121121 B.12112121
C.True D.False
解析 本題主要考查的是字符串比較。需注意的是運算符的優(yōu)先級:算術(shù)運算符>關(guān)系運算符>邏輯運算符,字符串比較大小其實質(zhì)是比較其ASCII值,因此答案為C。
答案 C
4.有如下VB程序段:
s = 0: i = 1
Do 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 + 1
Loop
i = 10
Do While i >= 1
 If a(i) = 1 Then s = s + 1
 i = i - 1
Loop
該程序段運行后,變量s值是(  )
A.3 B.4
C.5 D.9
解析 本題主要考查的是數(shù)組。程序執(zhí)行后,數(shù)組元素a(1)、a(3)、a(6)、a(9)的值為1,因此共有4個,答案為B。
答案 B
5.有如下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。
答案 C
6.有如下 VB 程序段:
a(1) = 10
For i = 2 To 10
 a(i) = 0
 If i Mod 2 = 1 Then
a(i) = a(i 2) + a(i - 1)
 Else
a(i) = a(i) + 1
 End If
Next 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。
答案 D
7.有如下VB程序段:
 Dim i As Integer, j As Integer, st As String
n = 5
 For i = 1 To 5
st = “ ”
If i < 4 Then
For j = 1 To i
  st = st + “*”
Next j
Else
For j = i To n
  st = st + “*”
Next j
 End If
 List1.AddItem st
Next 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。
答案 B
8.有如下VB程序段:
 Dim a(1 To 6) As Long, i As Integer, x As Long, y As Long
 x = 654321
 For i = 1 To 6
a(i) = x Mod 10
x = x 10
y = y + a(i) * 10 ^ (6 - i + 1)
 Next i
執(zhí)行該程序段后,變量y的值為(  )
A.123456 B.1234560
C.6543210 D.654321
解析 本題主要考查的是數(shù)值運算。本程序的功能是將整數(shù)x中的數(shù)字進行轉(zhuǎn)置,需注意的是分離后數(shù)字*10^(6-i+1),因此答案為B。
答案 B
9.計算斐波那契數(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 i
End Sub
上述程序中方框處可選語句為(  )
①a=b ②c=a+b ③b=c
A.①、②、③ B.①、③、②
C.③、①、② D.②、①、③
解析 本題主要考查的是賦值的位置對程序的影響。本題主要采用數(shù)學的迭代思想求斐波那契數(shù)列,使用a、b、c三個變量實現(xiàn)。改變這三條賦值語句的先后順序,將會對程序產(chǎn)生很大的影響,得到的結(jié)果也將截然不同,正確順序為②①③。
答案 D
10.有如下VB程序段:
n = 0
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= “0” And c <= “9” Then m = 1 Else m = 2
a(m) = a(m) + 1
If a(m) = 1 Then n = n + 1
Next 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.9
18.5~23~
25~24.9
29.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 Then
s = “偏瘦”
 ElseIf ans< 22.9 Then
s = “正常”
 ElseIf ans<= 24.9 Then
s = “偏胖”
 ElseIf ans<= 29.9 Then
s = “肥胖”
 ElseIf ans< 40 Then
s = “重度肥胖”
 ______②______
s = “極重度肥胖”
 End If
 Label4.Caption = s
End 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.8
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 If
End 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)No
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 Integer
Randomize
n=Val(Text1.Text)
i=____①____
Do While i<=n
a=Int(Rnd*100)
b=Int(Rnd*100)
If____②____Then
    List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=”
    i=i+1
End If
Loop
End 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)B
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,否則返回False
Function 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
 ′①
 Loop
End Function
Private 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 < n
p = 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,35
2.某算法的部分流程圖如下圖所示。
輸入x的值為1,執(zhí)行完這部分流程后,變量s的值是(  )
A.0 B.14
C.20 D.44
3.有如下VB程序段:
Dim x As String, y As String, z As Boolean
x = Text1.Text
y = Text2.Text
z = x + y > y + x
Text3.Text = z
程序運行時,在文本框Text1中輸入12121,在文本框Text2中輸入121,則在文本框Text3中顯示的內(nèi)容為(  )
A.12121121 B.12112121
C.True D.False
4.有如下VB程序段:
s = 0: i = 1
Do 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 + 1
Loop
i = 10
Do While i >= 1
 If a(i) = 1 Then s = s + 1
 i = i - 1
Loop
該程序段運行后,變量s值是(  )
A.3 B.4
C.5 D.9
5.有如下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
6.有如下 VB 程序段:
a(1) = 10
For i = 2 To 10
 a(i) = 0
 If i Mod 2 = 1 Then
a(i) = a(i 2) + a(i - 1)
 Else
a(i) = a(i) + 1
 End If
Next i
該程序段執(zhí)行后,數(shù)組元素a(7)的值是(  )
A.2 B.10
C.11 D.12
7.有如下VB程序段:
 Dim i As Integer, j As Integer, st As String
n = 5
 For i = 1 To 5
st = “ ”
If i < 4 Then
For j = 1 To i
  st = st + “*”
Next j
Else
For j = i To n
  st = st + “*”
Next j
 End If
 List1.AddItem st
Next 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 6
a(i) = x Mod 10
x = x 10
y = y + a(i) * 10 ^ (6 - i + 1)
 Next i
執(zhí)行該程序段后,變量y的值為(  )
A.123456 B.1234560
C.6543210 D.654321
9.計算斐波那契數(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 i
End Sub
上述程序中方框處可選語句為(  )
①a=b ②c=a+b ③b=c
A.①、②、③ B.①、③、②
C.③、①、② D.②、①、③
10.有如下VB程序段:
n = 0
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= “0” And c <= “9” Then m = 1 Else m = 2
a(m) = a(m) + 1
If a(m) = 1 Then n = n + 1
Next 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.9
18.5~23~
25~24.9
29.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 Then
s = “偏瘦”
 ElseIf ans< 22.9 Then
s = “正常”
 ElseIf ans<= 24.9 Then
s = “偏胖”
 ElseIf ans<= 29.9 Then
s = “肥胖”
 ElseIf ans< 40 Then
s = “重度肥胖”
 ______②______
s = “極重度肥胖”
 End If
 Label4.Caption = s
End 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 If
End 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 Integer
Randomize
n=Val(Text1.Text)
i=____①____
Do While i<=n
a=Int(Rnd*100)
b=Int(Rnd*100)
If____②____Then
    List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=”
    i=i+1
End If
Loop
End 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,否則返回False
Function 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
 ′①
 Loop
End Function
Private 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 < n
p = 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

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 班玛县| 南乐县| 溆浦县| 屏山县| 乌恰县| 项城市| 宣化县| 延津县| 定日县| 昭苏县| 卢湾区| 郓城县| 安阳市| 扶沟县| 繁昌县| 乐清市| 昌都县| 南丰县| 军事| 张家界市| 武宁县| 木里| 赣榆县| 合江县| 白沙| 灵石县| 孟州市| 云梦县| 古蔺县| 岳阳县| 手游| 喀喇| 湄潭县| 灵璧县| 鸡东县| 疏勒县| 绍兴市| 漯河市| 深泽县| 锡林郭勒盟| 河间市|