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

【精品解析】浙江省金華市江南中學2020屆高三下學期信息技術4月初測試卷

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

【精品解析】浙江省金華市江南中學2020屆高三下學期信息技術4月初測試卷

資源簡介

浙江省金華市江南中學2020屆高三下學期信息技術4月初測試卷
一、選擇題(每道題2分,共26題,52分)
1.(2020高三下·金華月考)有如下VB程序段:
For i= 1 To 49
j=1:a(j)=a(j)+1
Do While a(j)=5
a(j)=0
j = j + 1
a(j) = a(j) + 1
Loop
Next i
數組a中各元素初始值均為0,該程序執行后,數組a中各元素之和為(  )
A.9 B.0 C.3 D.49
【答案】A
【知識點】常見數據類型、數組;常量、變量及變量的賦值
【解析】【解答】題中使用的是雙重循環,計算比較復雜,每循環1次,a(1)加1,循環5次清0;每循環5次,a(2)加1,循環25次清0;每循環25次,a(3)加1。根據代碼進行模擬得到的結果是a(1)=4,a(2)=4,a(3)=1,其他元素全部是0。故答案選A。
【分析】本題考查的是數組的運用。
2.(2020高三下·金華月考)有如下VB程序段:
s = 1
For i = 2 To 10 Step 3
s = s + i
Next i
則該程序段執行后,變量s和i的值分別是(  )
A.16, 11 B.15, 13 C.55, 11 D.25, 13
【答案】A
【知識點】常量、變量及變量的賦值
【解析】【解答】注意s的初值為1,步長為3,另外運行結束后i的終值為11,故答案是A。
【分析】本題考查的是對VB語句的理解。
3.(2020高三下·金華月考)有如下VB程序段:
c = 0 :i = 1
Do While i <=6
k = i
For j = i + 1 To 7
If a(j)<= a(k) Then k = j
Next j
If a(i) <> a(k) Then
t = a(i): a(i) = a(k): a(k) = t
c = c + 1
End If
i = i + 1
Loop
數組元素a(1)到a(7)的值依次為“9,9,8,16,45,9,78”。該程序段執行后,變量c的值是(  )
A.0 B.3 C.4 D.6
【答案】B
【知識點】排序算法及程序實現
【解析】【解答】排序時對“有重復數據進行排序時不交換”進行了優化,確定交換次數為3次。故答案選B。
【分析】本題主要考查的是選擇排序算法的理解。
4.(2020高三下·金華月考)有如下VB程序段:
a(1) = 1
For i = 2 To 6
Randomize
a(i) = a(i - 1) + Int(Rnd * 5 + 1)
If a(i) Mod 2 = 1 Then
a(i) = a(i) \ 2 + 1
Else
a(i) = a(i) / 2
End If
Next i
執行程序后,a數組各元素可能是(  )
A.1 3 4 6 7 9 B.1 2 0 3 5 6 C.1 2 3 4 5 4 D.1 3 4 5 1 1
【答案】C
【知識點】常見數據類型、數組;運算符、基本運算與表達式
【解析】【解答】題中a(2)的范圍是1~3,a(3)~a(5)的范圍都是1~5,排除A、B,選項D中a(4)=5,可推知a(5)為3~ 5,不可能是1,只有C都符合。故答案選C。
【分析】本題考查的是數組的運用以及對常用函數的理解。
5.(2020高三下·金華月考)數組d(1)~d(100)中存儲某班級50位同學的語文和數學成績,奇數位存儲語文成績,偶數位存儲對應該同學的數學成績。該數組已經按照兩科總成績升序排序。依據對分查找思想,設計一個在數組a中查找總成績Key的程序,如果查找成功輸出語文成績在數組中的位置。實現該功能的VB程序段如下:
Key = Val(Text1.Text)
i = 1: j = 100
Do While i <= j
m = (i + j) \ 2
If (1) Then m = m - 1
Sum = (2)
If Key = Sum Then Exit Do ‘Exit Do表示退出循環
If (3) Then
i = m + 2
Else
j = m - 2
End If
Loop
If i > j Then Text2.Text = "沒有找到!" Else Text2.Text = Str(m)
實現該功能,則上述程序段3個方框處的表達式分別為(  )
A.(1)m Mod 2 = 1 (2)d(m) + d(m - 1) (3)Key < Sum
B.(1)m Mod 2 = 1 (2)d(m) + d(m + 1) (3)Key > Sum
C.(1)m Mod 2 = 0 (2)d(m) + d(m - 1) (3)Key > Sum
D.(1)m Mod 2 = 0 (2)d(m) + d(m + 1) (3)Key > Sum
【答案】D
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】當查找位置m為偶數時,其前面的數據為該同學的語文成績,確定(1)空為m Mod 2 = 0;語文成績的對應位置為m,則該同學的總成績為d(m) + d(m+1),確定(2)空為d(m)+d(m+1);由題干中描述“數組已經按照兩科總成績升序排序”,可知當查找成績大于當前總成績時,執行“i = m + 2”,確定(3)空為Key > Sum。故答案選D。
【分析】本題主要考查的是對分查找。對分查找的基本思路:在有序的數據序列中(一般放在數組中),首先把查找的數據與數組中間位置的元素進行比較,若相等,則查找成功并退出查找;否則,根據數組元素的有序性,確定數據應在數組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復進行以上比較,直到找到或未找到為止。
6.(2020高三下·金華月考)有如下VB程序段:
For i = 1 To 9 Step 2
b(a(i) Mod 10) = b(a(i) Mod 10) + 1
Next i
s = 0
For i = 0 To 9 Step 3
s =s + b(i)
Next i
數組b各元素初始值為0, 數組元素a(1)到a(9)的值依次為“29,74,12,38,16,45,21,57,33”,則執行該程序段后,s的值為(  )
A.5 B.4 C.3 D.2
【答案】C
【知識點】常見數據類型、數組;常量、變量及變量的賦值
【解析】【解答】數組元素的個位數按照桶排序進行計數,步長為2,故統計a(1) Mod 10,a(3) Mod 10,a(5) Mod 10,a(7) Mod 10,a(9) Mod 10的結果,因此1、2、3、6、9的值數組加1,而累加時的步長是3,b(3)、b(6)和b(9)的值被累加,故答案是3。故答案選C。
【分析】本題考查的是數組和統計。
7.(2020高三下·金華月考)有如下VB程序段:
Dim i As Integer, j As Integer, a(1 To 5) As Integer
For i =1 To 5
a(i)=Int(Rnd*5+1)
For j = 1 To i-1
If a(i)=a(j) Then
i=i-1 : Exit For
End If
Next j
Next i
執行程序后,數組中的數據可能是(  )
A.1 4 3 2 5 B.1 1 3 5 4 C.1 4 5 6 3 D.2 3 4 5 5
【答案】A
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】代碼中產生的是不重復的1~ 5之間的數,故答案選A。
【分析】本題考查的是生成不重復隨機數。生成隨機數使用函數的是Rnd(  )。
8.(2020高三下·金華月考)有如下VB程序段:
s = "123456789"
g = ""
For i = 1 To 3
n = Len(s)
x = Int(Rnd * n) + 1
g = g + Mid(s, x, 1)
s = Mid(s, 1, x - 1) + Mid(s, x + 1, n - x)
Next i
在程序執行時,若變量x的值依次為3,3,6,則最終變量g的值為(  )
A."336" B."346" C."348" D.15
【答案】C
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】變量值的變化如下:
i 1 2 3
x 3 3 6
g "3" "34" "348"
s "12456789" "1256789" "125679"
故答案選C。
【分析】本題考查的是對基本函數功能以及程序語句的理解。Mid (  )函數是從文本字符串中指定的開始位置起返回指定長度的字符。Rnd(  )函數是產生隨機數。
9.(2020高三下·金華月考)有如下 VB 程序段:
For i=1 To 3
For j=1 To 5-i
If a(j)>a(j+1) Then
t=a(j): a(j)=a(j+1): a(j+1)=t
End If
Next j
Text1.Text = Text1.Text + Str(a(i))
Next i
數組元素a(1)到a(5)的值依次為“3,9,6,8,4”。該程序段執行后,文本框 Text1 顯示的內容是(  )
A.3 4 6 B.6 8 9 C.3 6 4 D.3 6 6
【答案】D
【知識點】排序算法及程序實現
【解析】【解答】對這5個數據,冒泡排序將數值大的數據往后交換。進行前3輪的升序排序,然后分別輸出第一輪的第一項,第二輪的第二項,第三輪的第三項。第一輪排序后結果:3,6,8,4,9,輸出第一項3;第二輪排序后結果:3,6,4,8,9,輸出第二項6;第三輪排序后結果:3,4,6,8,9,輸出第三項6,故答案選D。
【分析】本題主要考查對冒泡排序算法的理解。
10.(2020高三下·金華月考)某VB程序段如下:
Function f(n As Integer) As Long
If n = 1 Then
f =5
Else
f =2 * f(n - 1) - 3
End If
End Function
Private Sub Command1_click()
Dim n As Integer
n = Val(Text1.Text)
Text2.Text = Str(f(n))
End Sub
該程序段運行后,在文本框Text1中輸入5,單擊命令按鈕Command1后,文本框Text2中顯示的是(  )
A.18 B.35 C.63 D.123
【答案】B
【知識點】常量、變量及變量的賦值;遞歸算法
【解析】【解答】f(1)=5,f(2)=2*f(1)-3=7,f(3)=2*f(2)-3=11,f(4)=2*f(3)-3=19,f(5)=2*f(4)-3=35,故答案選B。
【分析】本題考查的是遞歸算法。
11.(2020高三下·金華月考)某對分查找算法的VB程序段如下:
i = 1: j = 8: s = ""
key =Text1.Text
Do While i <= j
m =(i + j) \ 2
If key = a(m) Then
s = s + "M"
Exit Do
ElseIf key > a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Text1.Text = s
數組元素a(1)到a(8)的值依次為“4,22,27,32,35,44,56,59”,該程序段執行后,文本框Text1中顯示的內容不可能是(  )
A.M B.LR C.RM D.LM
【答案】B
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】若key值能在a(1)到a(8)中找到,s中最后一個字符一定為“M”。若key值不能在a(1)到a(8)中找到,則需查找4次才能結束,s的字符串長度應為4。故答案選B。
【分析】本題考查的是對分查找算法。對分查找的基本思路:在有序的數據序列中(一般放在數組中),首先把查找的數據與數組中間位置的元素進行比較,若相等,則查找成功并退出查找;否則,根據數組元素的有序性,確定數據應在數組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復進行以上比較,直到找到或未找到為止。
12.(2020高三下·金華月考)有如下VB程序段:
For i = 1 To 3
k = ""
For j = 1 To 2 * i - 1
k = k + " * "
Next j
List1.AddItem k
Next i
該程序段運行后,在列表框List1中顯示的是(  )
A. B. C. D.
【答案】A
【知識點】常量、變量及變量的賦值
【解析】【解答】變量i表示行,變量j表示列,例如當i=2時,從1到3,表示有三個“*”。故答案選A。
【分析】本題主要考查字符的輸出。
13.(2020高三下·金華月考)下列程序執行后文本框Text1顯示的內容是(  )
s = "Inter(R) Core(TM) i3-4130 CPU @ 3.40GHz"
flag = False:k = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "A" And ch <= "Z" or ch >= "0" And ch <= "9" Then
If Not flag Then
k = k + 1
flag = True
End If
Else
flag = False
End If
Next i
Text1.Text = Str(k)
A.6 B.9 C.10 D.18
【答案】B
【知識點】算法的控制結構;常量、變量及變量的賦值
【解析】【解答】For循環的作用是依次從字符串s中讀取每個字符(結合Mid函數),程序的作用為統計字符串s中連續大寫字母或數字的字符串個數,If Not flag Then中條件Not flag等價于flag = False,本題還有一個地方要注意,當取字符為“3.40GHz”中的字符“0”后flag = True,取到“G”時不累加k的值。故答案選B。
【分析】本題考查的是VB的循環結構和分支結構。
14.(2020高三下·金華月考)有如下VB程序段:
Function GCD(m As Long, n As Long) As Long
Dim temp As Long, r As Long
If m < n Then temp = m: m = n: n = temp
d = m - n
Do While d <> n
If d >= n Then
m = d
Else
m = n
n = d
End If
d = m - n
Loop
GCD = n
End Function
Private Sub Command1_Click()
Text1.Text = Str(GCD(48,36))
End Sub
程序運行完后,單擊Command1按鈕,文本框Text1中顯示的是 (  )
A.12 B.18 C.36 D.48
【答案】A
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】48和36的最大公約數是12。故答案選A。
【分析】本題考查的是VB的自定義函數及求兩個數最大公約數的“更相減損術”算法。
15.(2020高三下·金華月考)有如下VB程序段:
Dim a(1 To 5) As Integer, i As Integer
Dim flag As Boolean, j As Integer
a(1) =1 : a(2) = 1 : a(3) = 1 : a(4)= 1 : a(5) = 1
Randomize
For i = 1 To 5
j = 1: flag = True
Do While j <= i - 1 And flag = True
a(i) = Int(Rnd * 5 + 1)
If a(i) = a(j) Then
i = i - 1: flag = False
End If
j = j + 1
Loop
Next i
運行程序后,數組中的數據值可能是(  )
A.1 4 3 1 5 B.1 1 3 5 4 C.1 2 3 5 5 D.1 3 4 5 6
【答案】A
【知識點】算法的控制結構;運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】For循環的作用是控制產生a(i)的次數,每次Do循環j的值從1到i-1,每次隨機產生一個整數a(i),一方面,a(i)的范圍是[1,5],另一方面,每次產生的數與前一個不重復,否則重新產生。因此,排除選項B,C,D。故答案選A。
【分析】本題考查的是VB的循環結構和分支結構以及隨機函數。
16.(2020高三下·金華月考)如果數組a(下標1到n)滿足a(1)≤a(2)≤…≤a(i-1)≤a(i)≥a(i+1)≥…≥a(n),則稱數組a是單峰的,并稱a(i)是數組a的“峰頂”。下列程序段用于查找數組a中的“峰頂”,并返回該“峰頂”值。
Dim a(1 To 10) As Integer
Function Search(L As Integer, R As Integer) As Integer
M = (L + R) \ 2
If a(M) < a(M - 1) And a(M) > a(M + 1) Then

ElseIf a(M) > a(M - 1) And a(M) > a(M + 1) Then

ElseIf a(M) > a(M - 1) And a(M) < a(M + 1) Then

End If
End Function
Private Sub Command1_Click()
Label1.Caption = "“峰頂”值是:" + Str(Search(1, 10))
End Sub
上述程序中劃線處可選語句為:
①Search = Search(M + 1 , R)
②Search = Search(L , M - 1)
③Search = a(M)
則(1)(2)(3)處的語句依次是(  )
A.①②③ B.①③② C.③①② D.②③①
【答案】D
【知識點】查找算法及程序實現;遞歸算法
【解析】【解答】如果a(M) > a(M - 1) And a(M) > a(M + 1),則此時的M即為“峰頂”,因此(2)處填Search = a(M);當a(M) < a(M - 1) And a(M) > a(M + 1)時,說明“峰頂”在左半區,因此L不變,R=M-1,(1)處應填Search = Search(L , M - 1)。故答案選D。
【分析】本題考查的是VB的遞歸算法及對分查找算法。
17.(2020高三下·金華月考)有以下VB程序段:
For i = 1 To 4
For j = 4 To i + 1 Step -1
s = "*" + s
Next j
List1.AddItem s
Next i
運行上述程序段后,列表框List1中顯示的結果是(  )
A. B. C. D.
【答案】A
【知識點】算法的控制結構;常量、變量及變量的賦值
【解析】【解答】i=1時,語句s="*"+s 被執行3次,所以第一行為3個"*";i=2時,語句s="*"+s 被執行2次,所以第二行共有5個"*";i=3時,語句s="*"+s 被執行1次,所以第三行共有6個"*";i=4時,語句s="*"+s 沒有被執行,因此第四行仍然打印6個"*"。故答案選A。
【分析】本題考查的是對循環語句的理解。
18.(2020高三下·金華月考)數組b是一個有重復數據的遞增數組,現把前面n個元素整體移動到最后形成如“7,8,9,10,1,2,3,4”的排列形式。下列程序實現如下功能:輸入一個數,利用對分查找算法在數組b中查找,返回查找結果在Label2輸出,若有多個相同數據,則返回最左側數據的位置。
Dim b(1 To 20) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer
i = 1: j = 20
Key = Val(Text1.Text)
Do While (1)
m = (i + j + 1) \ 2
If b(i) < b(m) Then
If (2) Then
j = m - 1
Else
i = m + 1
ElseIf Key = b(m) Then
Exit Do
Else
If Key > b(m) And Key <= b(j) Then
i = m + 1
Else
j = m - 1
End If
Loop
If (3) Then
Label2.Caption = "數組中無此數"
Else
Do While m > 0
If Key = b(m) Then m = m - 1 Else Exit Do
Loop
Label2.Caption = "此數在第" + Str(m + 1) + "個位置"
End If
End Sub
(1)(2)(3)處可選語句為:
①i > j
②i <= j
③Key < b(m) And Key >= b(i)
④Key> b(m) And Key <=b(j)
則(1)(2)(3)處的語句依次是(  )
A.①③② B.②④① C.②③① D.①④②
【答案】(1)C
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】(1)處是設置查找終止的條件,只要區間還有1個數就要繼續找,選i<=j;(2)處判斷關鍵字是否在左側區間,上一行的If保證左側區間有序,關鍵字大于等于i位置,小于中間值,確保在左側區間,代碼選Key < b(m) And Key >= b(i);(3)處判斷是否找到,前文在區間為正時退出循環,則肯定已經找到,否則i>j說明找不到。故答案選C。
【分析】本題考查的是對查找算法的理解。
19.(2020高三下·金華月考)有如下VB程序段:
a(1) = 1: a(2) = 3: a(3) = 5: a(4) = 7: a(5) = 9
s = "ICT2019reform"
For i = 1 To 5
t = a(i)
s = Mid(s, 1, t - 1) + Mid(s, t + 1)
Next i
Text1.Text = s
執行該程序段后,Text1顯示的是(  )
A.ICT2019re B.CT01reor C.C21rform D.CT01reorm
【答案】B
【知識點】常見數據類型、數組;運算符、基本運算與表達式
【解析】【解答】注意字符串s不斷縮短,每一輪被刪除一個字符。“ICT2019reform”第一輪后變為"CT2019reform",第二輪后變為“CT019reform”,依次類推,故答案選B。
【分析】本題考查的是數組與函數的運用。
20.(2020高三下·金華月考)有如下VB程序段,已知a數組各元素值為“7,5,6,3,1,8”,b數組各元素的初始值為“0”。則經過以下程序段處理后,b數組各元素分別為(  )
For i = 1 To 5
k = i
For j = i + 1 To 6
If a(k) > a(j) Then k = j
Next j
t = a(k): a(k) = a(i): a(i) = t
b((i + 2) Mod 6 + 1) = a(i)
Next i
A.1 3 5 6 7 8 B.7 0 1 3 5 6 C.6 7 8 1 3 5 D.6 7 0 1 3 5
【答案】D
【知識點】常量、變量及變量的賦值;排序算法及程序實現
【解析】【解答】這段程序首先基本實現了數組的升序排序,但新的位置把排序后的位置循環往右移動了3個位置,如元素“1”本來在第1個位置,但移動到了第4個位置,“6”本來在第4個位置,往右移3個位置,超出后到最左側,變成在第1個位置,最后數字“8”原位置被占,但新位置沒有被賦值,所以第3個位置為“0”。故答案選D。
【分析】本題考查的是對排序算法的理解。
21.(2020高三下·金華月考)某VB程序段如下:
s = "Hello World"
s1 = ""
n = Len(s)
For i = 1 To n \ 2
If Mid(s, i, 1) > Mid(s, n - i + 1, 1) Then
s1 = s1 + Mid(s, i, 1)
Else
s1 = Mid(s, n - i + 1, 1) + s1
End If
Next i
Text1.Text = s1
執行該程序段后,在文本框Text1中顯示的是(  )
A.WlleH B.oorld C.dlroo D.orldo
【答案】D
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】程序實現第一個字符和最后一個字符進行比較,若大于則取前面的字符,連接后按順序賦值給變量s1,反之則取后面的字符,但是要倒序連接并賦值給變量s1,第二個字符和倒數第二個字符進行比較,……,以此類推,故答案選D。
【分析】本題考查的是VB字符串的處理以及對Mid(  )函數的理解。
22.(2020高三下·金華月考)某VB程序段如下:
s = "491053"
For i = 1 To 3
n = Len(s)
k = 1
For j = 2 To n
If Mid(s, k, 1) >= Mid(s, j, 1) Then
k = j
Else
Exit For 'Exit For表示退出循環
End If
Next j
s = Mid(s, 1, k - 1) + Mid(s, k + 1, n - k)
Next i
Label1.Caption = s
執行該程序段后,標簽Label1中顯示的值是(  )
A.053 B.953 C.913 D.103
【答案】B
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】程序分析:每次都從左邊開始查找,若是升序的數,則刪除最前面的數,若是降序的數,則刪除最后一個數。故刪除的順序是“4”“0”“1”。故答案選B。
【分析】本題考查的是數據的查找。該程序段的功能是刪除3個數,并保持原來的順序不變,使得剩下的數最大。
23.(2020高三下·金華月考)有VB程序段如下:
s = "2019appreciate": sum = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
m = Asc(ch) - Asc("a") + 1
a(m) = a(m) + 1
End If
Next i
For i = 1 To 10
If a(i) > 0 Then sum = sum + 1
Next i
數組a各元素的初始值都為0,執行該程序段后,變量sum的值為(  )
A.10 B.7 C.4 D.3
【答案】C
【知識點】常量、變量及變量的賦值
【解析】【解答】代碼的作用是統計小寫英文字母中前10個字符(a~ j)出現的次數并記錄到相應的數組元素a(1)、a(2)、…、a(10)中,并最終統計共有幾個字母出現過,根據題意可知,有4個數組元素的值大于0,因此答案是4。故答案選C。
【分析】本題考查的是VB的字符串處理。
24.(2019高二下·衢州期末)有VB程序段如下:
Randomize
For i = 1 To 6
a(i) = Int(Rnd * 20) + 1
If a(i) Mod 2 = i Mod 2 Then a(i) = a(i) - 1
Else
a(i) = a(i) + 2 End If
Next i
執行該程序段后,a(1)~ a(6)各元素可能的是(  )
A.13,2,7,12,5,18 B.20,9,18,23,4,7
C.22,7,0,15,4,19 D.6,0,4,21,18,17
【答案】B
【知識點】程序的調試及運行
【解析】【解答】分析程序段功能:根據語句a(i) = Int(Rnd * 20) + 1可知,數組a(i)元素的數值范圍是[1,20]。當數組元素a(i)滿足a(i) Mod 2 = i Mod 2時,執行a(i) = a(i) - 1,否則執行a(i) = a(i) + 2。所以當i為偶數時,執行程序后,a(i)應為奇數,當i為奇數時,a(i)應為偶數。
選項A:當i=1時,a(1)應為偶數,而a(1)=13為奇數。A錯誤;選項B:當i為1,3,5時,a(1)=20,a(3)=18,a(5)=4均為偶數,當i為2,4,6時,a(2)=9,a(4)=23,a(6)=7均為奇數。B正確;選項C:a(3)=0超出數組元素的數值范圍。C錯誤;選項D:a(2)=0超出數組元素的數值范圍。D錯誤。故答案選B。
【分析】本題考查學生分析程序段功能和理解程序段的能力。
25.(2020高三下·金華月考)有如下VB程序段:
Dim i As Integer, sum As Integer
Dim a(1 To 6) As Integer, b(1 To 6) As Integer
sum = 0
a(6) = 18: a(5) = 7: b(6) = 14: b(5) = 16
For i = 4 To 1 Step -1
a(i) = a(i + 2) - a(i + 1)
b(i) = b(i + 2) - a(i)
If b(i) Mod 3 = 0 Then sum = sum + b(i)
Next i
Text1.Text = Str(sum)
該程序段運行后,文本框Text1中顯示的內容是(  )
A.39 B.30 C.-9 D.12
【答案】B
【知識點】常量、變量及變量的賦值;遞歸算法
【解析】【解答】i=4時,a(4)=11,b(4)=3,sum=3;i=3時,a(3)=-4,b(3) =20;i=2時,a(2)=15,b(2)=-12,sum=-9;i=1時,a(1)=-19,b(1)=39,sum=30。故答案選B。
【分析】本題考查的是對遞歸算法的理解。
26.(2020高三下·金華月考)某VB程序段如下:
Dim a (1 To 6) As Integer
Randomize
a(1) = Int (Rnd*2) + 1
For i = 2 To 6
a(j) = Int (Rnd*i) *2 + 1
If a(i) < a(i-1) Then
a(i) = a(i) + a(i-1)
End If
Next i
執行該程序段后,數組元素a(1)到a(6)的值可能是(  )
A.2,4,6,8,10,12 B.1,1,3,7,12,23
C.2,5,9,11,10,15 D.1,3,15,16,20,23
【答案】B
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】最初時,a(1)的范圍是1~2,a(2)的范圍是1~3,a(3)的范圍是1~5,a(4)的范圍是1~7,a(5)的范圍是1~9,a(6)的范圍是1~11。再根據if語句進行調整,當前元素小于前面一個元素時,將這兩個值相加后再賦值給當前的元素a(i)。當a(1)=2時,a(2)不可能超過3,因此可以排除AC。另外,當a(2)=3時,a(3)的值絕對不可能是15(最大值只能是5),從而排除選項D。故答案選B。
【分析】本題考查VB隨機數及邏輯判斷。
1 / 1浙江省金華市江南中學2020屆高三下學期信息技術4月初測試卷
一、選擇題(每道題2分,共26題,52分)
1.(2020高三下·金華月考)有如下VB程序段:
For i= 1 To 49
j=1:a(j)=a(j)+1
Do While a(j)=5
a(j)=0
j = j + 1
a(j) = a(j) + 1
Loop
Next i
數組a中各元素初始值均為0,該程序執行后,數組a中各元素之和為(  )
A.9 B.0 C.3 D.49
2.(2020高三下·金華月考)有如下VB程序段:
s = 1
For i = 2 To 10 Step 3
s = s + i
Next i
則該程序段執行后,變量s和i的值分別是(  )
A.16, 11 B.15, 13 C.55, 11 D.25, 13
3.(2020高三下·金華月考)有如下VB程序段:
c = 0 :i = 1
Do While i <=6
k = i
For j = i + 1 To 7
If a(j)<= a(k) Then k = j
Next j
If a(i) <> a(k) Then
t = a(i): a(i) = a(k): a(k) = t
c = c + 1
End If
i = i + 1
Loop
數組元素a(1)到a(7)的值依次為“9,9,8,16,45,9,78”。該程序段執行后,變量c的值是(  )
A.0 B.3 C.4 D.6
4.(2020高三下·金華月考)有如下VB程序段:
a(1) = 1
For i = 2 To 6
Randomize
a(i) = a(i - 1) + Int(Rnd * 5 + 1)
If a(i) Mod 2 = 1 Then
a(i) = a(i) \ 2 + 1
Else
a(i) = a(i) / 2
End If
Next i
執行程序后,a數組各元素可能是(  )
A.1 3 4 6 7 9 B.1 2 0 3 5 6 C.1 2 3 4 5 4 D.1 3 4 5 1 1
5.(2020高三下·金華月考)數組d(1)~d(100)中存儲某班級50位同學的語文和數學成績,奇數位存儲語文成績,偶數位存儲對應該同學的數學成績。該數組已經按照兩科總成績升序排序。依據對分查找思想,設計一個在數組a中查找總成績Key的程序,如果查找成功輸出語文成績在數組中的位置。實現該功能的VB程序段如下:
Key = Val(Text1.Text)
i = 1: j = 100
Do While i <= j
m = (i + j) \ 2
If (1) Then m = m - 1
Sum = (2)
If Key = Sum Then Exit Do ‘Exit Do表示退出循環
If (3) Then
i = m + 2
Else
j = m - 2
End If
Loop
If i > j Then Text2.Text = "沒有找到!" Else Text2.Text = Str(m)
實現該功能,則上述程序段3個方框處的表達式分別為(  )
A.(1)m Mod 2 = 1 (2)d(m) + d(m - 1) (3)Key < Sum
B.(1)m Mod 2 = 1 (2)d(m) + d(m + 1) (3)Key > Sum
C.(1)m Mod 2 = 0 (2)d(m) + d(m - 1) (3)Key > Sum
D.(1)m Mod 2 = 0 (2)d(m) + d(m + 1) (3)Key > Sum
6.(2020高三下·金華月考)有如下VB程序段:
For i = 1 To 9 Step 2
b(a(i) Mod 10) = b(a(i) Mod 10) + 1
Next i
s = 0
For i = 0 To 9 Step 3
s =s + b(i)
Next i
數組b各元素初始值為0, 數組元素a(1)到a(9)的值依次為“29,74,12,38,16,45,21,57,33”,則執行該程序段后,s的值為(  )
A.5 B.4 C.3 D.2
7.(2020高三下·金華月考)有如下VB程序段:
Dim i As Integer, j As Integer, a(1 To 5) As Integer
For i =1 To 5
a(i)=Int(Rnd*5+1)
For j = 1 To i-1
If a(i)=a(j) Then
i=i-1 : Exit For
End If
Next j
Next i
執行程序后,數組中的數據可能是(  )
A.1 4 3 2 5 B.1 1 3 5 4 C.1 4 5 6 3 D.2 3 4 5 5
8.(2020高三下·金華月考)有如下VB程序段:
s = "123456789"
g = ""
For i = 1 To 3
n = Len(s)
x = Int(Rnd * n) + 1
g = g + Mid(s, x, 1)
s = Mid(s, 1, x - 1) + Mid(s, x + 1, n - x)
Next i
在程序執行時,若變量x的值依次為3,3,6,則最終變量g的值為(  )
A."336" B."346" C."348" D.15
9.(2020高三下·金華月考)有如下 VB 程序段:
For i=1 To 3
For j=1 To 5-i
If a(j)>a(j+1) Then
t=a(j): a(j)=a(j+1): a(j+1)=t
End If
Next j
Text1.Text = Text1.Text + Str(a(i))
Next i
數組元素a(1)到a(5)的值依次為“3,9,6,8,4”。該程序段執行后,文本框 Text1 顯示的內容是(  )
A.3 4 6 B.6 8 9 C.3 6 4 D.3 6 6
10.(2020高三下·金華月考)某VB程序段如下:
Function f(n As Integer) As Long
If n = 1 Then
f =5
Else
f =2 * f(n - 1) - 3
End If
End Function
Private Sub Command1_click()
Dim n As Integer
n = Val(Text1.Text)
Text2.Text = Str(f(n))
End Sub
該程序段運行后,在文本框Text1中輸入5,單擊命令按鈕Command1后,文本框Text2中顯示的是(  )
A.18 B.35 C.63 D.123
11.(2020高三下·金華月考)某對分查找算法的VB程序段如下:
i = 1: j = 8: s = ""
key =Text1.Text
Do While i <= j
m =(i + j) \ 2
If key = a(m) Then
s = s + "M"
Exit Do
ElseIf key > a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Text1.Text = s
數組元素a(1)到a(8)的值依次為“4,22,27,32,35,44,56,59”,該程序段執行后,文本框Text1中顯示的內容不可能是(  )
A.M B.LR C.RM D.LM
12.(2020高三下·金華月考)有如下VB程序段:
For i = 1 To 3
k = ""
For j = 1 To 2 * i - 1
k = k + " * "
Next j
List1.AddItem k
Next i
該程序段運行后,在列表框List1中顯示的是(  )
A. B. C. D.
13.(2020高三下·金華月考)下列程序執行后文本框Text1顯示的內容是(  )
s = "Inter(R) Core(TM) i3-4130 CPU @ 3.40GHz"
flag = False:k = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "A" And ch <= "Z" or ch >= "0" And ch <= "9" Then
If Not flag Then
k = k + 1
flag = True
End If
Else
flag = False
End If
Next i
Text1.Text = Str(k)
A.6 B.9 C.10 D.18
14.(2020高三下·金華月考)有如下VB程序段:
Function GCD(m As Long, n As Long) As Long
Dim temp As Long, r As Long
If m < n Then temp = m: m = n: n = temp
d = m - n
Do While d <> n
If d >= n Then
m = d
Else
m = n
n = d
End If
d = m - n
Loop
GCD = n
End Function
Private Sub Command1_Click()
Text1.Text = Str(GCD(48,36))
End Sub
程序運行完后,單擊Command1按鈕,文本框Text1中顯示的是 (  )
A.12 B.18 C.36 D.48
15.(2020高三下·金華月考)有如下VB程序段:
Dim a(1 To 5) As Integer, i As Integer
Dim flag As Boolean, j As Integer
a(1) =1 : a(2) = 1 : a(3) = 1 : a(4)= 1 : a(5) = 1
Randomize
For i = 1 To 5
j = 1: flag = True
Do While j <= i - 1 And flag = True
a(i) = Int(Rnd * 5 + 1)
If a(i) = a(j) Then
i = i - 1: flag = False
End If
j = j + 1
Loop
Next i
運行程序后,數組中的數據值可能是(  )
A.1 4 3 1 5 B.1 1 3 5 4 C.1 2 3 5 5 D.1 3 4 5 6
16.(2020高三下·金華月考)如果數組a(下標1到n)滿足a(1)≤a(2)≤…≤a(i-1)≤a(i)≥a(i+1)≥…≥a(n),則稱數組a是單峰的,并稱a(i)是數組a的“峰頂”。下列程序段用于查找數組a中的“峰頂”,并返回該“峰頂”值。
Dim a(1 To 10) As Integer
Function Search(L As Integer, R As Integer) As Integer
M = (L + R) \ 2
If a(M) < a(M - 1) And a(M) > a(M + 1) Then

ElseIf a(M) > a(M - 1) And a(M) > a(M + 1) Then

ElseIf a(M) > a(M - 1) And a(M) < a(M + 1) Then

End If
End Function
Private Sub Command1_Click()
Label1.Caption = "“峰頂”值是:" + Str(Search(1, 10))
End Sub
上述程序中劃線處可選語句為:
①Search = Search(M + 1 , R)
②Search = Search(L , M - 1)
③Search = a(M)
則(1)(2)(3)處的語句依次是(  )
A.①②③ B.①③② C.③①② D.②③①
17.(2020高三下·金華月考)有以下VB程序段:
For i = 1 To 4
For j = 4 To i + 1 Step -1
s = "*" + s
Next j
List1.AddItem s
Next i
運行上述程序段后,列表框List1中顯示的結果是(  )
A. B. C. D.
18.(2020高三下·金華月考)數組b是一個有重復數據的遞增數組,現把前面n個元素整體移動到最后形成如“7,8,9,10,1,2,3,4”的排列形式。下列程序實現如下功能:輸入一個數,利用對分查找算法在數組b中查找,返回查找結果在Label2輸出,若有多個相同數據,則返回最左側數據的位置。
Dim b(1 To 20) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer
i = 1: j = 20
Key = Val(Text1.Text)
Do While (1)
m = (i + j + 1) \ 2
If b(i) < b(m) Then
If (2) Then
j = m - 1
Else
i = m + 1
ElseIf Key = b(m) Then
Exit Do
Else
If Key > b(m) And Key <= b(j) Then
i = m + 1
Else
j = m - 1
End If
Loop
If (3) Then
Label2.Caption = "數組中無此數"
Else
Do While m > 0
If Key = b(m) Then m = m - 1 Else Exit Do
Loop
Label2.Caption = "此數在第" + Str(m + 1) + "個位置"
End If
End Sub
(1)(2)(3)處可選語句為:
①i > j
②i <= j
③Key < b(m) And Key >= b(i)
④Key> b(m) And Key <=b(j)
則(1)(2)(3)處的語句依次是(  )
A.①③② B.②④① C.②③① D.①④②
19.(2020高三下·金華月考)有如下VB程序段:
a(1) = 1: a(2) = 3: a(3) = 5: a(4) = 7: a(5) = 9
s = "ICT2019reform"
For i = 1 To 5
t = a(i)
s = Mid(s, 1, t - 1) + Mid(s, t + 1)
Next i
Text1.Text = s
執行該程序段后,Text1顯示的是(  )
A.ICT2019re B.CT01reor C.C21rform D.CT01reorm
20.(2020高三下·金華月考)有如下VB程序段,已知a數組各元素值為“7,5,6,3,1,8”,b數組各元素的初始值為“0”。則經過以下程序段處理后,b數組各元素分別為(  )
For i = 1 To 5
k = i
For j = i + 1 To 6
If a(k) > a(j) Then k = j
Next j
t = a(k): a(k) = a(i): a(i) = t
b((i + 2) Mod 6 + 1) = a(i)
Next i
A.1 3 5 6 7 8 B.7 0 1 3 5 6 C.6 7 8 1 3 5 D.6 7 0 1 3 5
21.(2020高三下·金華月考)某VB程序段如下:
s = "Hello World"
s1 = ""
n = Len(s)
For i = 1 To n \ 2
If Mid(s, i, 1) > Mid(s, n - i + 1, 1) Then
s1 = s1 + Mid(s, i, 1)
Else
s1 = Mid(s, n - i + 1, 1) + s1
End If
Next i
Text1.Text = s1
執行該程序段后,在文本框Text1中顯示的是(  )
A.WlleH B.oorld C.dlroo D.orldo
22.(2020高三下·金華月考)某VB程序段如下:
s = "491053"
For i = 1 To 3
n = Len(s)
k = 1
For j = 2 To n
If Mid(s, k, 1) >= Mid(s, j, 1) Then
k = j
Else
Exit For 'Exit For表示退出循環
End If
Next j
s = Mid(s, 1, k - 1) + Mid(s, k + 1, n - k)
Next i
Label1.Caption = s
執行該程序段后,標簽Label1中顯示的值是(  )
A.053 B.953 C.913 D.103
23.(2020高三下·金華月考)有VB程序段如下:
s = "2019appreciate": sum = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
m = Asc(ch) - Asc("a") + 1
a(m) = a(m) + 1
End If
Next i
For i = 1 To 10
If a(i) > 0 Then sum = sum + 1
Next i
數組a各元素的初始值都為0,執行該程序段后,變量sum的值為(  )
A.10 B.7 C.4 D.3
24.(2019高二下·衢州期末)有VB程序段如下:
Randomize
For i = 1 To 6
a(i) = Int(Rnd * 20) + 1
If a(i) Mod 2 = i Mod 2 Then a(i) = a(i) - 1
Else
a(i) = a(i) + 2 End If
Next i
執行該程序段后,a(1)~ a(6)各元素可能的是(  )
A.13,2,7,12,5,18 B.20,9,18,23,4,7
C.22,7,0,15,4,19 D.6,0,4,21,18,17
25.(2020高三下·金華月考)有如下VB程序段:
Dim i As Integer, sum As Integer
Dim a(1 To 6) As Integer, b(1 To 6) As Integer
sum = 0
a(6) = 18: a(5) = 7: b(6) = 14: b(5) = 16
For i = 4 To 1 Step -1
a(i) = a(i + 2) - a(i + 1)
b(i) = b(i + 2) - a(i)
If b(i) Mod 3 = 0 Then sum = sum + b(i)
Next i
Text1.Text = Str(sum)
該程序段運行后,文本框Text1中顯示的內容是(  )
A.39 B.30 C.-9 D.12
26.(2020高三下·金華月考)某VB程序段如下:
Dim a (1 To 6) As Integer
Randomize
a(1) = Int (Rnd*2) + 1
For i = 2 To 6
a(j) = Int (Rnd*i) *2 + 1
If a(i) < a(i-1) Then
a(i) = a(i) + a(i-1)
End If
Next i
執行該程序段后,數組元素a(1)到a(6)的值可能是(  )
A.2,4,6,8,10,12 B.1,1,3,7,12,23
C.2,5,9,11,10,15 D.1,3,15,16,20,23
答案解析部分
1.【答案】A
【知識點】常見數據類型、數組;常量、變量及變量的賦值
【解析】【解答】題中使用的是雙重循環,計算比較復雜,每循環1次,a(1)加1,循環5次清0;每循環5次,a(2)加1,循環25次清0;每循環25次,a(3)加1。根據代碼進行模擬得到的結果是a(1)=4,a(2)=4,a(3)=1,其他元素全部是0。故答案選A。
【分析】本題考查的是數組的運用。
2.【答案】A
【知識點】常量、變量及變量的賦值
【解析】【解答】注意s的初值為1,步長為3,另外運行結束后i的終值為11,故答案是A。
【分析】本題考查的是對VB語句的理解。
3.【答案】B
【知識點】排序算法及程序實現
【解析】【解答】排序時對“有重復數據進行排序時不交換”進行了優化,確定交換次數為3次。故答案選B。
【分析】本題主要考查的是選擇排序算法的理解。
4.【答案】C
【知識點】常見數據類型、數組;運算符、基本運算與表達式
【解析】【解答】題中a(2)的范圍是1~3,a(3)~a(5)的范圍都是1~5,排除A、B,選項D中a(4)=5,可推知a(5)為3~ 5,不可能是1,只有C都符合。故答案選C。
【分析】本題考查的是數組的運用以及對常用函數的理解。
5.【答案】D
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】當查找位置m為偶數時,其前面的數據為該同學的語文成績,確定(1)空為m Mod 2 = 0;語文成績的對應位置為m,則該同學的總成績為d(m) + d(m+1),確定(2)空為d(m)+d(m+1);由題干中描述“數組已經按照兩科總成績升序排序”,可知當查找成績大于當前總成績時,執行“i = m + 2”,確定(3)空為Key > Sum。故答案選D。
【分析】本題主要考查的是對分查找。對分查找的基本思路:在有序的數據序列中(一般放在數組中),首先把查找的數據與數組中間位置的元素進行比較,若相等,則查找成功并退出查找;否則,根據數組元素的有序性,確定數據應在數組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復進行以上比較,直到找到或未找到為止。
6.【答案】C
【知識點】常見數據類型、數組;常量、變量及變量的賦值
【解析】【解答】數組元素的個位數按照桶排序進行計數,步長為2,故統計a(1) Mod 10,a(3) Mod 10,a(5) Mod 10,a(7) Mod 10,a(9) Mod 10的結果,因此1、2、3、6、9的值數組加1,而累加時的步長是3,b(3)、b(6)和b(9)的值被累加,故答案是3。故答案選C。
【分析】本題考查的是數組和統計。
7.【答案】A
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】代碼中產生的是不重復的1~ 5之間的數,故答案選A。
【分析】本題考查的是生成不重復隨機數。生成隨機數使用函數的是Rnd(  )。
8.【答案】C
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】變量值的變化如下:
i 1 2 3
x 3 3 6
g "3" "34" "348"
s "12456789" "1256789" "125679"
故答案選C。
【分析】本題考查的是對基本函數功能以及程序語句的理解。Mid (  )函數是從文本字符串中指定的開始位置起返回指定長度的字符。Rnd(  )函數是產生隨機數。
9.【答案】D
【知識點】排序算法及程序實現
【解析】【解答】對這5個數據,冒泡排序將數值大的數據往后交換。進行前3輪的升序排序,然后分別輸出第一輪的第一項,第二輪的第二項,第三輪的第三項。第一輪排序后結果:3,6,8,4,9,輸出第一項3;第二輪排序后結果:3,6,4,8,9,輸出第二項6;第三輪排序后結果:3,4,6,8,9,輸出第三項6,故答案選D。
【分析】本題主要考查對冒泡排序算法的理解。
10.【答案】B
【知識點】常量、變量及變量的賦值;遞歸算法
【解析】【解答】f(1)=5,f(2)=2*f(1)-3=7,f(3)=2*f(2)-3=11,f(4)=2*f(3)-3=19,f(5)=2*f(4)-3=35,故答案選B。
【分析】本題考查的是遞歸算法。
11.【答案】B
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】若key值能在a(1)到a(8)中找到,s中最后一個字符一定為“M”。若key值不能在a(1)到a(8)中找到,則需查找4次才能結束,s的字符串長度應為4。故答案選B。
【分析】本題考查的是對分查找算法。對分查找的基本思路:在有序的數據序列中(一般放在數組中),首先把查找的數據與數組中間位置的元素進行比較,若相等,則查找成功并退出查找;否則,根據數組元素的有序性,確定數據應在數組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復進行以上比較,直到找到或未找到為止。
12.【答案】A
【知識點】常量、變量及變量的賦值
【解析】【解答】變量i表示行,變量j表示列,例如當i=2時,從1到3,表示有三個“*”。故答案選A。
【分析】本題主要考查字符的輸出。
13.【答案】B
【知識點】算法的控制結構;常量、變量及變量的賦值
【解析】【解答】For循環的作用是依次從字符串s中讀取每個字符(結合Mid函數),程序的作用為統計字符串s中連續大寫字母或數字的字符串個數,If Not flag Then中條件Not flag等價于flag = False,本題還有一個地方要注意,當取字符為“3.40GHz”中的字符“0”后flag = True,取到“G”時不累加k的值。故答案選B。
【分析】本題考查的是VB的循環結構和分支結構。
14.【答案】A
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】48和36的最大公約數是12。故答案選A。
【分析】本題考查的是VB的自定義函數及求兩個數最大公約數的“更相減損術”算法。
15.【答案】A
【知識點】算法的控制結構;運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】For循環的作用是控制產生a(i)的次數,每次Do循環j的值從1到i-1,每次隨機產生一個整數a(i),一方面,a(i)的范圍是[1,5],另一方面,每次產生的數與前一個不重復,否則重新產生。因此,排除選項B,C,D。故答案選A。
【分析】本題考查的是VB的循環結構和分支結構以及隨機函數。
16.【答案】D
【知識點】查找算法及程序實現;遞歸算法
【解析】【解答】如果a(M) > a(M - 1) And a(M) > a(M + 1),則此時的M即為“峰頂”,因此(2)處填Search = a(M);當a(M) < a(M - 1) And a(M) > a(M + 1)時,說明“峰頂”在左半區,因此L不變,R=M-1,(1)處應填Search = Search(L , M - 1)。故答案選D。
【分析】本題考查的是VB的遞歸算法及對分查找算法。
17.【答案】A
【知識點】算法的控制結構;常量、變量及變量的賦值
【解析】【解答】i=1時,語句s="*"+s 被執行3次,所以第一行為3個"*";i=2時,語句s="*"+s 被執行2次,所以第二行共有5個"*";i=3時,語句s="*"+s 被執行1次,所以第三行共有6個"*";i=4時,語句s="*"+s 沒有被執行,因此第四行仍然打印6個"*"。故答案選A。
【分析】本題考查的是對循環語句的理解。
18.【答案】(1)C
【知識點】常量、變量及變量的賦值;查找算法及程序實現
【解析】【解答】(1)處是設置查找終止的條件,只要區間還有1個數就要繼續找,選i<=j;(2)處判斷關鍵字是否在左側區間,上一行的If保證左側區間有序,關鍵字大于等于i位置,小于中間值,確保在左側區間,代碼選Key < b(m) And Key >= b(i);(3)處判斷是否找到,前文在區間為正時退出循環,則肯定已經找到,否則i>j說明找不到。故答案選C。
【分析】本題考查的是對查找算法的理解。
19.【答案】B
【知識點】常見數據類型、數組;運算符、基本運算與表達式
【解析】【解答】注意字符串s不斷縮短,每一輪被刪除一個字符。“ICT2019reform”第一輪后變為"CT2019reform",第二輪后變為“CT019reform”,依次類推,故答案選B。
【分析】本題考查的是數組與函數的運用。
20.【答案】D
【知識點】常量、變量及變量的賦值;排序算法及程序實現
【解析】【解答】這段程序首先基本實現了數組的升序排序,但新的位置把排序后的位置循環往右移動了3個位置,如元素“1”本來在第1個位置,但移動到了第4個位置,“6”本來在第4個位置,往右移3個位置,超出后到最左側,變成在第1個位置,最后數字“8”原位置被占,但新位置沒有被賦值,所以第3個位置為“0”。故答案選D。
【分析】本題考查的是對排序算法的理解。
21.【答案】D
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】程序實現第一個字符和最后一個字符進行比較,若大于則取前面的字符,連接后按順序賦值給變量s1,反之則取后面的字符,但是要倒序連接并賦值給變量s1,第二個字符和倒數第二個字符進行比較,……,以此類推,故答案選D。
【分析】本題考查的是VB字符串的處理以及對Mid(  )函數的理解。
22.【答案】B
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】程序分析:每次都從左邊開始查找,若是升序的數,則刪除最前面的數,若是降序的數,則刪除最后一個數。故刪除的順序是“4”“0”“1”。故答案選B。
【分析】本題考查的是數據的查找。該程序段的功能是刪除3個數,并保持原來的順序不變,使得剩下的數最大。
23.【答案】C
【知識點】常量、變量及變量的賦值
【解析】【解答】代碼的作用是統計小寫英文字母中前10個字符(a~ j)出現的次數并記錄到相應的數組元素a(1)、a(2)、…、a(10)中,并最終統計共有幾個字母出現過,根據題意可知,有4個數組元素的值大于0,因此答案是4。故答案選C。
【分析】本題考查的是VB的字符串處理。
24.【答案】B
【知識點】程序的調試及運行
【解析】【解答】分析程序段功能:根據語句a(i) = Int(Rnd * 20) + 1可知,數組a(i)元素的數值范圍是[1,20]。當數組元素a(i)滿足a(i) Mod 2 = i Mod 2時,執行a(i) = a(i) - 1,否則執行a(i) = a(i) + 2。所以當i為偶數時,執行程序后,a(i)應為奇數,當i為奇數時,a(i)應為偶數。
選項A:當i=1時,a(1)應為偶數,而a(1)=13為奇數。A錯誤;選項B:當i為1,3,5時,a(1)=20,a(3)=18,a(5)=4均為偶數,當i為2,4,6時,a(2)=9,a(4)=23,a(6)=7均為奇數。B正確;選項C:a(3)=0超出數組元素的數值范圍。C錯誤;選項D:a(2)=0超出數組元素的數值范圍。D錯誤。故答案選B。
【分析】本題考查學生分析程序段功能和理解程序段的能力。
25.【答案】B
【知識點】常量、變量及變量的賦值;遞歸算法
【解析】【解答】i=4時,a(4)=11,b(4)=3,sum=3;i=3時,a(3)=-4,b(3) =20;i=2時,a(2)=15,b(2)=-12,sum=-9;i=1時,a(1)=-19,b(1)=39,sum=30。故答案選B。
【分析】本題考查的是對遞歸算法的理解。
26.【答案】B
【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值
【解析】【解答】最初時,a(1)的范圍是1~2,a(2)的范圍是1~3,a(3)的范圍是1~5,a(4)的范圍是1~7,a(5)的范圍是1~9,a(6)的范圍是1~11。再根據if語句進行調整,當前元素小于前面一個元素時,將這兩個值相加后再賦值給當前的元素a(i)。當a(1)=2時,a(2)不可能超過3,因此可以排除AC。另外,當a(2)=3時,a(3)的值絕對不可能是15(最大值只能是5),從而排除選項D。故答案選B。
【分析】本題考查VB隨機數及邏輯判斷。
1 / 1

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 西平县| 怀柔区| 阿克| 伊吾县| 青州市| 梅州市| 正宁县| 曲阳县| 墨竹工卡县| 湘潭市| 梅河口市| 内江市| 白玉县| 松江区| 永登县| 张家川| 肇源县| 巴塘县| 周至县| 民勤县| 柳河县| 宁远县| 十堰市| 南靖县| 扎兰屯市| 乐安县| 邢台县| 达州市| 团风县| 唐海县| 镇平县| 江川县| 木兰县| 南部县| 本溪市| 洪泽县| 大连市| 油尖旺区| 西安市| 余江县| 武清区|