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

浙教版 高中信息技術 選修1 第四章 VB程序設計初級章末習題(一般難度)(含解析)

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

浙教版 高中信息技術 選修1 第四章 VB程序設計初級章末習題(一般難度)(含解析)

資源簡介

選修一第四章VB程序設計初級章末習題(一般難度)
一、選擇題(本大題共4小題)
有如下VB程序段:
a(1) = 6 : a(2) = 9 : a(3) = 3 : a(4) =7 : a(5) = 8 : a(6) = 1
t = 2 * Int(Rnd * 3) + 1
?For i = t To 5
k = i
For j = i + 1 To 6
If a(j) < a(k) Then k = j
Next j
If k <> i Then
temp = a(i) : a(i) = a(k) : a(k) = temp
?End If
Next i
執行該程序段后,a(1)?a(6)各元素的值不可能的是(??? )
A. 6,1,3,7,8,9 B. 6,9,1,3,7,8 C. 6,9,3,7,1,8 D. 1,3,6,7,8,9
以下有關軟件用途歸類不全正確的是()。
A. 聲音的編輯處理可以使用Cool edit、Wave edit等
B. 文本的處理可以使用記事本、WPS、PowerPoint等
C. 程序設計可以使用vb、Pascal、C語言等
D. 動畫設計可以使用3d max、Flashget等
有如下 VB 程序段:
Dim p As Integer,q As Integer,s As Integer,t As Integer
p=Val(Text1.Text):t=0
For q=p+1To 2*p
s=(p*q) Mod (q-p)
If s=0Then
t=t+1
End If
Next q
Label1.Caption=Str(t)
該程序段運行時,在文本框Textl中輸入8,則在標簽Labell中顯示的內容是( ?。?
A. 3 B. 4 C. 5 D. 6
Private Sub Command1_Click( ?。?
n=100:Sum=0:k=1
Do while k<=n
j=1
Do while j<=k
sum=sum+1:j=j+1
Loop
k=k*2
Loop
End sub
該字段運行后,變量sum的值是(  )
A. 256 B. 255 C. 128 D. 127
二、非選擇題(本大題共11小題)
編寫一個VB程序,實現如下功能,在文本框Text1中輸入一串小寫的英文字母,單擊“統計”按鈕Command1,在文本框Text2中輸出字母升序段個數,要求每個升序段中字母個數必須超過3個(例如,輸入abctefefghkad,則滿足條件的升序段為abct和efghk,個數為2),程序運行界面如下圖所示:

請回答下列問題:
(1)程序界面中共有______(單選,填字母:A. 3 / B. 4 / C. 5 / D. 6)類控件。
(2)若在文本框Text1中輸入“abgcdefkuvghl”,單擊“統計”按鈕Command1后,文本框Text2中顯示的內容為______。(單選,填字母:A. 1 / B. 2 / C. 3)
(3)實現上述功能的程序代碼如下,請在劃線處填入合適的代碼。
Private Sub Command1_Click()
??? Dim s As String, n As Integer
??? Dim m As Integer, f As Boolean, k As Integer, i As Integer
??? s = Text1.Text: n = Len(s)
??? m = 0: f = True: k = 1
??? For i = 2 To n
??????? If ______________①____________?Then
??????????? k = k + 1
??????????? f = True
??????? Else
??????????? f = False
??????? End If
??????? If k > 3 And (__________②__________) Then
??????????? m = m + 1
??????????? k = 1
??????? End If
??? Next i
??? Text2.Text = Str(m)
End Sub
小馬正在看一本偵探小說,想了解其中一段案情的解析,卻發現了一串字符“#2017-2018go:)”,并附有文字提示:①答案所在的頁碼是這串字符中最大數字字串(若值相同則取后面的數字字串)的起始位置*10+結束位置②答案所在行號是最大數值除以100的余數。例如:“#17a18#”字符串中,最大數字字串“18”,起始位置是5,結束位置是6,其頁碼是56,行號是18。小馬編寫了一個VB程序幫他尋找答案,程序運行界面如圖所示。在文本框Text1中輸入這段字符串s1,單擊“揭秘”按鈕Command1,在文本框Text2中輸出頁碼,在Text3中輸出行號。實現上述功能的VB程序代碼如下,但加框處代碼有錯,請改正。

Private Sub Command1_Click()
? Dim s1 As String, s2 As String
? Dim ch As String, ch2 As String
? Dim max As Double
? Dim n As Integer, page As Integer
? Dim i As Integer, j As Integer
? s1 = Text1.Text: s2 = ""
? n = Len(s1)
? i = 1: max = 0
? Do While i <= n
????? ch = Mid(s1, i, 1)
????? If ch >= "0" And ch <= "9" Then
????????? j = i
? ? ? ? ? ch2 = Mid(s1, j, 1)
????????? Do While ch2 >= "0" And ch2 <= "9"
????????????? j = j + 1
????????????? ch2 = Mid(s1, j, 1)
????????? Loop
????????? s2 = ?Mid(s1, 1, j - i) ???????????'(1)
????????? If ?Val(s2) < max ?Then??????????? '(2)
????????????? max = Val(s2)
????????? ????page = i * 10 + j - 1
????????????? Text2.Text = Str(page)
????????????? Text3.Text = Str(max Mod 100)
????????? End If
????????? i = j
????? End If
????? i = i + 1
? Loop
End Sub
使用VB編寫一個數字逆序功能的程序,在文本框Text1中輸入若干整數,相互之間用逗號隔開,單擊逆序按鈕,在文本框Text2中輸出逆序后的數字序列。程序運行界面如圖所示:

(1)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。
Private Sub nixu_Click( )
Dim s1 As String , s2 As String , t As String , ch As String
Dim i As Integer
s1= Text1.text
______①__________
t =”” : s2 = ””
Do While i>0
ch=Mid ( s1 , i , 1 )
If ch >=”0” And ch<=”9” Then
t=ch+t
Else
__②_
t = ””
End if
i=i-1
Loop
s2=s2+t
Text2.Text=s2
End Sub
(2) 由程序可知,逆序按鈕的名稱是_______________________。
(3) 如果把程序中加框的語句刪除,運各程序時,輸入數據為“3,1,4,15”,則輸出結果是_______________________________________________。
使用擂臺法找最值,首先將數據存放在數組變量中,再進行最值查找。以下找出籃球比賽中7名球員得分最高的球員。其中,上場比賽的籃球隊員得分情況(見下表)。

a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
5
23
9
12
20
38
19
(1)實現數據存儲到數組a中的流程圖如圖(1)所示,請填寫空格__________。
(2)擂臺法找出得分最高球員的 VB代碼如圖( 2)所示,請填寫空格___________。(提示:將多個語句書寫在一行時,兩個語句之間使用“:”連接)
設計一個算法,計算導彈射程之間的最大距離差。具體程序功能如下:在文本框中輸入各枚導彈的射程(單位:千公里),數據之間用逗號分割,以-1結尾。單擊按鈕,在標簽框輸出結果。例如在Text1中輸入“15,9,1,2,3,8,7,-1”,單擊“計算”按鈕,輸出結果為“14”。實現該算法的VB程序如下,界面如圖所示,回答下列問題:

(1)為實現該程序,在窗體中至少需要使用_______類不同的控件對象(填數字)。
(2)算法具體代碼對應如下,請在橫線處填入合適的語句代碼,使程序完整。
Private Sub Command1_Click()
Dim a(100) As Integer
Dim max As Integer: Dim min As Integer
Dim c As Integer: Dim i As Integer: Dim j As Integer: Dim Total As Integer
Dim s As String
s = Text1.Text
i = 1 : begin = 1 : c = 0
Do While i <= Len(s)
k = Mid(s, i, 1)
If k = "," Then
t = ________①_________
??? ?????? c = c + 1
??? ?????? a(c) = Val(t)
??? ?????? begin =_________②__________
?? ?End If
i = i + 1
Loop
max = 0 ????????????' 加框語句
min = a(1)
For i = 1 To c
? If a(i) > max Then max = a(i)
? If a(i) < min Then min = a(i)
Next i
Text2.Text = max - min
End Sub
(3)若刪除程序中加框處語句,還是相同的輸入數據,則計算出的最大差值為:_____。
編寫一個“計算平均身高”的VB程序,功能如下:在文本框Text1中輸入若干男女學生的身高和性別(以”,”為分割符和結束符),如 1.65,F,1.75,M,1.84,M,1.69,F,1.72,M, 1.58,F,F表示女生,M表示男生,單擊“計算”按鈕Command1后,在Label2上顯示男生的平均身高,在Label3上顯示女生的平均身高。程序設計界面和運行界面分別如圖所示
(1)要使程序運行時,清空Label2上的內容,可在Form_Load事件處理過程中添加語句______?(單選,填字母:A. Label2.text=""? / B.Label2.Caption = ""? / C. Label2.Clear )。
(2)實現上述功能的VB程序如下,請在劃線處填入合適代碼。
Private Sub Command 1_Click()
Dim i As Integer, s As String, ch As String, temp As String
Dim k As Integer, n As Integer, c1 As Integer, c2 As Integer
Dim h As Single, sum1 As Single, sum2 As Single
s = Text1.Text
i=1 : k = 0 : n = 0
sum1 = 0 : sum2 = 0 : c1 = 0 : c2 = 0
Do While ____① ??????
ch = Mid(s, i, 1)
If ch <> "," Then
?k = k+1
Else
n = n + 1
temp = Mid(s, i - k, k)
If n Mod 2 = 1 Then
? ______②_____
Else
If temp = "M" Then sum1= sum1+ h : c1= c1 + 1 Else sum2 = sum2 + h : c2 = c2 + 1
?End If
?k = 0
End If
i = i + 1
Loop
If c1<> 0 Then Label2.Caption = Str(Int((sum1 / c1) * 100 + 0.5) /100) + "m"
If c2<> 0 Then Label3.Caption = Str(Int((sum2 / c2) * 100 + 0.5) /100) + "m"
End Sub
(3)若文本框Text1中輸入內容的結束符缺失,即輸入內容為1.65,F,1.75,M,1.84,M,1.69,F,1.72,M,1.58,F 則程序運行結束時,變量temp的值為_________ 。
下列關于某紙牌游戲的算法是:隨機產生兩組牌,每組17張,牌從小到大分別為“3~10、J、Q、K、A、2”,每種牌最多4張,四張相同的牌如3333稱為炸彈牌型,炸彈不能拆成其他牌型。按照如下規則出牌:
①先出順子牌型(順子指連續的5張及以上的牌,如345678,順子最小從3開始,最大到A),若有多個順子,先長后短,長度相同按從小到大順序出;
②再按三帶一牌型(3張相同的牌帶一張單牌)、對子牌型(2張相同)、單張牌型的順序出牌,同一牌型從小到大出;
③最后出炸彈,若有多個炸彈,從小到大出。
設計以下VB程序,牌“10”用0代替,比較兩組出牌次數,界面如圖所示,請回答下列問題。
(1)若A組初始牌為:4567880JQQQQKAAA2,B組初始牌為:56778888JQQKKKA22,則A組出牌次數_________B組。(填:大于/等于/小于)
(2)請在劃線處填入合適代碼。
Consts="34567890JQKA2"??????? ?用0代替牌10
Dims1 As String,s2 AsString????? ?s1存儲A組牌,s2存儲B組牌Dimb (1To18)As String
?數組b存儲各類牌型,其中b(1)到b(4)可存儲炸彈牌型,b(5)到b(18)存儲其他牌型
Private Sub Command1 _Click()
?隨機產生A組和B組牌分別在文本框Text1、Text2中顯示,代碼略
End Sub
Sub arrange(st As String)?整理牌型的過程
Dim a (3 To 15)As Integer,i As Integer
Dim j As Integer,t As Integer,n As Integer
Dim k As Integer,max As Integer,last As Integer
Dim sa As String,stem As String,flag As Boolean
?數組元素a(3)到a(15)分別存儲牌3~JQKA2的張數
?代碼略
t=17
For i=1 To 18
??? b(i)=""
Next i
Do While t>0
??? n=0
?? For i=3 To 15?尋找炸彈牌型,若有則存儲到數組b中
????? If a(i)=4 Then
________①________
n=n+1
b(n)=stem+stem+stem+stem
?? a(i)=0:t=t-4
? End If
Nexti
________②________
flag=True
Do While flag ?尋找順子牌型,若有則存儲到數組b中
??? flag=False:max=0:k=1
??? For i=4 To 14
?????? If a(i-1)>=1 And a(i)>=1 Then
??????? k=k+1
?????? If k>max Then
?????? max=k
?????? last=i+1
???? End If
? Else
???? k=1
? End If
??? Next i
??? If max>=5 Then
???? flag=True: sa=""
???? For j=last-max+1 To last
???? stem=Mid(s,j-3,1)
???? sa=sa+stem+""
??? ________③________
Nextj
??? n=n+1:b(n)=sa
??? t=t-max
? End If
Loop
?? ?尋找并存儲三帶一、對子、單張牌型,代碼略
Loop
End Sub
Private Sub Command2_ Click()
Dim count1 As Integer? count1統計A組出牌次數
Dim count2 AsInteger ?count2統計B組出牌次數
Call arrange(s1)
?在List1中顯示A組出的牌型,統計出牌次數,代碼略
Call arrange (s2)
?在List 2中顯示B組出的牌型,統計出牌次數,代碼略
If count2>count1Then
?? Label3.Caption="A組出牌次數小于B組"
ElseIf count2=count1 Then
??? Label3. Caption="A組出牌次數等于B組"
Else
Label3. Caption="A組出牌次數大于B組"
End If
End Sub
約瑟夫問題是個有名的問題:N個人圍成一圈,順序為0,1,2,3,4,5,從0號這個人開始報數,報到2的將被殺掉,接下去重新開始報數,報到3的將被殺掉...以此類推,最后剩下一個,其余人都將被殺掉。例如N=6,被殺掉的順序是:1,4,3,0,5;最后只剩下2這個人。
llist=
n=int(input(“請輸入參與人數:”))
for i in range(0,n-1):
llist.append([i,i+1])
______
______
long=n
k=head
i=1
p=2
while( ______ ):
if i==p-1:
t=llist[k][1]
print(llist[t][0])#索引為t的刪除
______
if t==head:
______
i=1
p+=1
long=long-1
k=llist[k][1]
______
i+=1
print(llist[head][0])
現今信息化時代,信息的傳輸十分迅速,足不出戶便知天下事。許多社交平臺都有設置本平臺的熱點排行榜,方便用戶了解正在發生的熱門事件。但社交平臺數量眾多,平臺用戶種類和數量也大不相同,導致不同平臺熱點的實際熱度大小也不同。小鐘為了確保自己知道的熱點是真正的熱點,于是打算用功能強大的python把各個平臺的熱點排行榜進行合并,形成自己的熱點排行榜。
為了熱點之間比較方便,小鐘設置了一個熱度值來衡量一個熱點的熱度大小,熱度值越大說明這個熱點的熱度越高。現在小鐘已經獲得了如下兩個平臺的熱度值從小到大的排行榜,正當他打算將之合并為一個從小到大的排行榜時,卻被老師叫走了。于是他決定把這個小功能交給他的好朋友——你來實現,你想到2種算法,請把下列程序填寫完整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
116
215
271
309
428
576
772
806
950
Python程序如下:
A=[11,66,116,329,438,582,652,714,756,925]
B=[35,116,215,271, ______ ,428,576,772,806,950]
算法一:
myRank=
i=0
j=0
while (i<len(A)and j<len(B)):
if (A[i]<B[j]):
______
i+=1
else:
myRank.append(B[j])
j+=1
while (i<len(A)):
myRank.append(A[i])
i+=1
else:
while ( ______ ):
myRank.append(B[j])
j+=1
print(myRank)
算法二:
myRank=[0]*(len(A)+len(B))
i=0
j=0
k=0
while ( ______ ):
k=i+j
if (i>=len(A)):
myRank[k]=B[j]
j+=1
elif (j>=len(B)):
myRank[k]=A[i]
i+=1
elif ( ______ ):
myRank[k]=A[i]
i+=1
else:
myRank[k]=B[j]
j+=1
print(myRank)
一張骨牌由上下兩行共四個格子構成,每個格子有一個1到6之間的數字?,F在一共有5張骨牌,從左到右排成一排,定義每張骨牌的差值為:骨牌第一行的數字和減去第二行的數字和;5張骨牌的差值為:每張骨牌的差值和的絕對值。

如圖a中,5張骨牌的差值為:
|(3+3-4-4)+(6+3-2-5)+(2+3-4-5)+(1+5-3-3)+(1+1-1-1)|=4。
每張骨牌都可以順時針旋轉90度,效果如圖b所示?,F在最多可以選擇其中一張骨牌進行旋轉,使得旋轉后的骨牌差值變小。求一種旋轉方案,并輸出骨牌差值的最小值。
編寫VB程序,實現上述功能。運行程序,在文本框Text1中依次輸入5張骨牌上的數字,單擊“計算”按鈕Command1,在文本框Text2、Text3、Text4中輸出結果。程序運行界面如圖b所示。
若圖a中第1張骨牌的數字修改為,1、2、6、6,則骨牌差值的最小值為 ______ 。
實現上述功能的VB程序如下,請在劃線處填入合適的代碼。
Dim a(1 To 20)As Integer‘依次存儲5張骨牌上的數字
Dim d(1 To 5)As Integer’依次存儲5張骨牌,上下兩行的差值
Const n=5
Private Sub Form_Load (  )
'從文本框Text1讀取5張骨牌上的數字,依次存入數組a
'a(1)~a(4)依次存儲第一張骨牌從左到右從上到下四個數字
'a(5)到a(20)依次類推
'代碼略
End Sub
Private Sub Command1_Click ( ?。?
Dim i As Integer,up As Integer,down As Integer,t As Integer,k As Integer
Dim id As Integer,times As Integer,x As Integer,ans As Integer
For i=1 To n
up=a(4*i-3)+a(4*i-2)
down=a(4*i-1)+a(4*i)
d(i)=up-down
t=t+d(i)
Next i
id=0:times=0
ans=① ______
If ans<>0 Then
k=1
Do While k<=n
For x=1 To 3
temp=② ______
If temp<ans Then
ans=temp
id=k
③ ______
End If
If temp=0 Then Exit Do
Next x
k=k+1
Loop
End If
Text2.Text=CStr(id)
Text3.Text=CStr(times)
Text4.Text=CStr(ans)
End Sub
Function turn(ByVal k As Integer,ByVal x As Integer)As Integer
‘求將第k張骨牌,順時針旋轉x次后,上下兩行的差值,代碼略
End Function
在Text1中輸入一個1-26之間的數字n,點擊“產生”按鈕,在Text2中產生n個不重復的大寫字母,中間用逗號隔開(圖a),點擊一次“最小值”按鈕,Text2中最小的字母會掉落到List1中,并將Text2中對應的字母和后面的逗號刪除(圖b),再點擊一次“最小值”按鈕,剩余字母中的最小值繼續掉落(圖c)。(ASC(“A”)=65,CHR(65)=“A”)
center0
根據描述,如產生的字母為“H,K,C,B,N,”,第三次點擊“最小值”按鈕后Text2中顯示內容為 ______
請在劃線處填入合適的代碼。
Private Sub Command1_Click ______
Dim i As Integer,j As Integer,n As Integer
Dim zm As Integer,flag As Boolean,zf As string
Randomize'重置rnd函數,確保每次產生的隨機數不一致
zf=““
n=Val(Text1.Text)
For i=1 To n
______
zm=Int(Rnd*26+65)
For j=1 To Len(zf) Step 2
If Asc(Mid(zf,j,1))=zm Then
______
flag=True
Exit For
End If
Next j
If flag=False Then zf=zf+Chr(zm)+“,“
Next i
Text2.Text=zf
End Sub
Private Sub Command2_Click ______
Dim i As Integer,zf As string
zf=Text2.Text
k=1
For i=3 To Len(zf)-1 Step 2
If Mid(zf,k,1)>Mid(zf,i,1)Then k=i
Next i
List1.AddItem Mid(zf,k,1)
Text2.Text= ______
End Sub
答案和解析
1.【答案】A
本題考查的是VB程序的應用,稍有難度。
【解答】
執行該程序段后,a(1)?a(6)各元素的值不可能的是6,1,3,7,8,9。
?故選A。
2.【答案】D
本題主要考查對文件格式的了解,難度一般。
【解答】
根據題意,分析可知,ABC說法都正確,D選項中,動畫設計可以使用3d max,而Flashget是下載工具,故D說法錯誤,符合題意。
?故選D。
3.【答案】B
【解析】初始值p=8,For?q=p+1To?2*p? 即:q=9? To? 16,那么q的取值范圍從9到16
當q=9時,s=(p*q)?Mod?(q-p)=(8*9)Mod?(9-8)=0 那么t=t+1=1;
當q=10時,s=(p*q)?Mod?(q-p)=(8*10)Mod?(10-8)=0,那么t=t+1=2
當q=11時,s=(p*q)?Mod?(q-p)=(8*11)Mod?(11-8)<>0,所以不執行t;
當q=12時,s=(p*q)?Mod?(q-p)=(8*12)Mod?(12-8))=0,那么t=t+1=3;
當q=13,14,15時,s=(p*q)?Mod?(q-p<>0,所以不執行t;
當q=12時,s=(p*q)?Mod?(q-p)=(8*16)Mod?(16-8))=0,那么t=t+1=4;
故選:B。
本題考查的知識點是VB應用程序的調試及運行;VB各類基本運算、表達式與常用的標準函數。
解題的關鍵就是s=(p*q)?Mod?(q-p)=0時,才執行t的語句。
4.【答案】D
【解析】大循環Do?while?k<=n???時,執行k=k*2,得到k的取值為 1,2,4,8,16,32,64.當k=64時滿足k<=n?執行k=k*2=128>100循環停止。
當k=1時,j=1?? Do?while?j<=k做循環1次;
當k=2時,j=1?? Do?while?j<=k做循環2次;
當k=4時,j=1?? Do?while?j<=k做循環4次;
當k=8時,j=1?? Do?while?j<=k做循環8次;
當k=16時,j=1?? Do?while?j<=k做循環16次;
當k=32時,j=1?? Do?while?j<=k做循環32次;
當k=64時,j=1?? Do?while?j<=k做循環64次;
那么sum=1+2+4+8+16+32+64=127
故選:D。
本題考查的知識點是VB應用程序的調試及運行;VB各類基本運算、表達式與常用的標準函數。
嵌套循環,sum就是累加的次數之和。
5.【答案】(1)A;(2)?A;(3)①Mid(s, i, 1) > Mid(s, i - 1, 1);②f = False Or i = n
【分析】本題主要考查的是VB程序的相關知識,熟悉VB程序的代碼是解題的關鍵。
【解答】(1)該程序界面上有3個類,故選A;
(2)若在文本框Text1中輸入“abgcdefkuvghl”,單擊“統計”按鈕Command1后,文本框Text2中顯示的內容為1,故選A;
(3)分析題意可得,第一空填Mid(s, i, 1) > Mid(s, i - 1, 1);第二空填f = False Or i = n。
故答案為:(1)A;(2)?A;(3)①Mid(s, i, 1) > Mid(s, i - 1, 1);②f = False Or i = n。
6.【答案】(1)Mid(s1,i,j-i);(2)Val(s2)>=max
本題考查VB代碼的閱讀與改錯,是對該軟件的一個綜合運用,難度較大。
【解答】
閱讀程序,根據該程序段實現的功能,分析得出,(1)處應改為:Mid(s1,i,j-i);(2)處應改為:Val(s2)>=max。
故答案為:?(1)Mid(s1,i,j-i);(2)Val(s2)>=max。
7.【答案】(1)① i=len(s1);② s2=s2+t+",";
(2) nixu;
(3) 15,4,1
本題考查VB代碼的閱讀與填空,是對該軟件的一個綜合運用,難度較大。
【解答】
(1)閱讀程序,該程序實現了數字逆序功能,s1為從文本框Text1中輸入的若干整數,故①處將s1的字符長度賦值給i,即i=len(s1);②當ch不滿足條件ch >=”0” And ch<=”9”時,執行?s2=s2+t+",";
(2)由Private Sub nixu_Click( ) ,分析得出,逆序按鈕的名稱是nixu;
(3)如果把程序中加框的語句刪除,運各程序時,輸入數據為“3,1,4,15”,則第一個字符不輸出,其余逆序輸出,故輸出結果是15,4,1。
故答案為:?(1)① i=len(s1);② s2=s2+t+",";
(2) nixu;
(3) 15,4,1。
8.【答案】(1)i<=6(或i<7);
(2)x=i:end if:i=i+1.
本題主要考查VB程序的相關知識。
【解答】
(1)由題意分析可知,找出籃球比賽中7名球員得分最高的球員,實現數據存儲到數組a中,空格填入i<=6(或i<7);
(2)由題意分析可知,找出籃球比賽中7名球員得分最高的球員,當i>7時跳出循環,每進行比較一次,計數+1,故填x=i?:end if:i=i+1.
故答案為:(1)i<=6(或i<7);(2)x=i:end if:i=i+1.
9.【答案】(1)3;
(2)①?Mid(s,begin,i-begin);②i+1;
(3)14
本題考查VB代碼的閱讀與填空,是對該軟件的一個綜合運用,難度較大。
【解答】
(1)為實現該程序,在窗體中至少需要使用3類不同的控件對象,分別為:Caption控件、Command控件、Text控件,故答案為3;
(2)分析程序,該程序實現功能為:在文本框中輸入各枚導彈的射程(單位:千公里),數據之間用逗號分割,以-1結尾。單擊按鈕,在標簽框輸出結果;故空格處應依次填入:①?Mid(s,begin,i-begin);②i+1;
(3)若刪除程序中加框處語句,還是相同的輸入數據,則計算出的最大差值為:14。
故答案為:(1)3;(2)①?Mid(s,begin,i-begin);②i+1;(3)14。
10.【答案】(1)B;
(2)①i<=Len(s);②h=Val(temp);
?(3)“1.58”
本題考查的是VB程序的應用,稍有難度。
【解答】
?(1)要使程序運行時,清空Label2上的內容,可在Form_Load事件處理過程中添加語句Label2.Caption="",故選B;
(2)①分析前后語句,此處應填:i<=Len(s);
②此處應填:h=Val(temp);
(3)若文本框Text1中輸入內容的結束符缺失(即輸入內容為1.65,F,1.75,M,1.84,M,1.69,F,1.72,M,1.58,F),則程序運行結束時,變量temp的值為“1.58”。
故答案為:?(1)B;(2)①i<=Len(s);②h=Val(temp);(3)“1.58”。
11.【答案】(1)小于;
(2)① stem =Mid(s, i - 2, 1);
②n=4;
③a(j-1)=a(j-1) -1 .
本題主要考查的是VB程序的相關知識,熟悉VB程序的代碼是解題的關鍵。
【解答】
?(1)若A組初始牌為:4567880JQQQQKAAA2,B組初始牌為:56778888JQQKKKA22,則A組出牌次數小于B組。
(2)b(1)到b(4)可存儲炸彈牌型,①需要尋找炸彈牌型,故填 stem =Mid(s, i - 2, 1);
②以下是尋找順子牌型,以上是尋找炸彈牌型,若有則存儲到數組b中,故填n=4;
③若有多個順子,先長后短,長度相同按從小到大順序出,故填a(j-1)=a(j-1) -1;
故答案為:?(1)小于;(2)① stem =Mid(s, i - 2, 1);②n=4;③a(j-1)=a(j-1) -1 .
12.【答案】llist.append([n-1,0]),head=0,long>1,head=llist[k][1],llist[k][1]=llist[t][1],k=llist[k][1]
【解析】解析:①for循環體是將索引0-n?追加到llist中,此處是循環體執行完,將末元素與首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表頭,初始化為0,故填head=0。③最后剩下一個,其余人都將被殺掉,故循環條件是long>1,變量long控制元素個數,故填long>1。④索引為t的刪除后,此處是更新head值,故填head=llist[k][1]。⑤刪完后,如果t等于head,需要更新索引k,將索引t的值賦給變量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
本題主要考查Python程序執行與調試。
熟練掌握程序的調試與運行
13.【答案】309,myRank.append(A[i]),j<len(B),k<len(A)+len(B)-1,A[i]<B[j]
【解析】解析:根據表格所示,列表B中第5個元素為309,因此①處為309;A[i]<B[j]時,將列表末尾添加A[i],因此②處為myRank.append(A[i]);當列表未結束時,列表末尾添加相應元素,因此③處為j<len(B);算法二中引入變量k,用以記錄i與j的和,當k小于len(A)+len(B)-1說明兩列表未結束,因此④處為k<len(A)+len(B)-1;若A[i]<B[j],則先將A[i]添加至列表末尾,因此⑤處為A[i]<B[j]。
本題主要考查python編程。
知識點考查清晰準確
14.【答案】【小題1】1
【小題2】Abs(t),Abs(t+turn(k,x)-d(k)),times=x
【解析】(1)根據圖中后四張骨牌可知,上行數值和為22,下午和為24,差值為2,第1張骨牌的數字修改為1、2、6、6后,可以轉為2、6、1、6,即可得差值最小值為1;(2)由題意知d(1?To?5)數組依次存儲5張骨牌上下兩行的差值,變量t為各骨牌上下排差值和的累加,①處為存儲最小值的變量ans賦初值,應為t的絕對值,即abs(t);?②處位于對一張骨牌進行旋轉的雙重循環中,變量x為旋轉次數,temp變量應為旋轉后的臨時最小值,函數turn返回旋轉x次后的差值,所以每次旋轉后的差值變化應為turn(k,x)-d(k),所以旋轉后的臨時最小值應為Abs(t+turn(k,x)-d(k));③處是在判斷temp<ans時即旋轉后差值小于原差值,此時旋轉次數變量應記錄為x的值。
Do while 條件表達式?? ?語句塊? ????Loop? ??Do語句的執行過程是:先計算條件表達式的值,如果值為True,則執行一次循環體中的語句塊,遇到Loop語句后,再次計算條件表達式的值,若仍為True,繼續執行循環體中的語句塊,如此不斷重復,直到條件表達式的值為False時,才終止Do語句的執行。
本題考查算法的VB程序實現,重點是對數組變量、循環嵌套的理解和運用。
15.【答案】【小題1】K,N,
【小題2】( ?。?flag=False,i=i-1,( ?。?mid(zf,1,k-1)+mid(zf,k+2)或mid(zf,1,k-1)+mid(zf,k+2,len(zf)-k-1)
【解析】(1)第一次掉落“B,”,第二次掉落“C,”,第三次掉落“H,”,故第三次點擊“最小值”按鈕后Text2中顯示內容為K,N,。(2)空1:flag用來判斷是否有字母有重復,循環每次flag的初值為False,故填flag=False。空2:內層for循環判斷i處生成的字母與已經生成的字母是否重復,如果重復,則i遞減需要重新生成,flag賦值為True,故此處填i=i-1。空3:通過for循環找到最小字母的位置k,將k處的字母及之后的逗號刪除,即將位置k-1之前的字符以及位置k+2之后的字符顯示到文本框2中,故填mid(zf,1,k-1)+mid(zf,k+2)或mid(zf,1,k-1)+mid(zf,k+2,len(zf)-k-1)。
故答案為:(1)K,N,(2)flag=False????(3)i=i-1????(4)mid(zf,1,k-1)+mid(zf,k+2)或?mid(zf,1,k-1)+mid(zf,k+2,len(zf)-k-1)
Mid( ?。┦且粋€字符串函數,作用是從一個字符串中截取出指定數量的字符。函數用法,Mid(string,start,[length])其中參數string為字符串表達式,參數start為string中被取出部分的字符位置,參數length為截取的長度。程序中第一個循環隨機生成字母,flag初值為false,如果和已經生成的字符有重復則flag為true,并i減1以便重新生成。不重復,則把該字母和一個逗號加入zf。用選擇排序的思想標記最小值,然后用mid函數取出最小字母放入list1,并在Text2中減去這個字母和逗號。
本題主要考查VB程序的執行與調試。

展開更多......

收起↑

資源預覽

<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. 主站蜘蛛池模板: 普洱| 金昌市| 晋中市| 秭归县| 闸北区| 芦溪县| 九江县| 胶州市| 昌图县| 麦盖提县| 阜康市| 两当县| 垦利县| 天峻县| 松溪县| 威信县| 怀来县| 永修县| 西华县| 永寿县| 保山市| 金平| 皋兰县| 尖扎县| 深圳市| 青岛市| 唐海县| 阳西县| 杨浦区| 正宁县| 公安县| 南涧| 项城市| 曲松县| 通州市| 玉环县| 和龙市| 盱眙县| 乌鲁木齐县| 泸溪县| 东山县|