資源簡介 2 6等腰三角形, 只要 a=b 或 b=c 或 a = c 中一個為 True,表達(dá)式a=b Or b=c Or a=c 值為 True。 選項(xiàng) D 只能表明 c=a+b,而這甚至都不能組成一個三角形。8.某算法部分流程圖如圖所示 執(zhí)行這部分流程,依次輸入 203 10 8 11 0,則輸出值是 ( )A. 11 B. 3 C.8 D.20答案 C 本題主要考查算法流程圖。 分析該流程可得出其功能是:求輸入序列中大于 0 的最小數(shù),故最后 b 的值為 8,選項(xiàng) C 正確。 本題也可以通過直接代入的方法求解,一樣可以求得正確答案。9.有如下 VB 程序段:s = Text1.Text: n = 0:f = FalseFor i = 1 To Len(s)ch = Mid(s, i, 1)If ch >= "0" And ch <= "9" ThenIf Not f Thenf = True: n = n + 1End IfElsef = FalseEnd IfNext i運(yùn)行該程序段后,在文本框 Text1 中輸入“13+(123 23)?2”,則變量 n 的值為 ( )A.1 B.4 C.8 D.13答案 B 本題主要考查 VB 程序設(shè)計(jì)。 分析該程序可得出其功能是:統(tǒng)計(jì)文本框 Text1 中輸入的字符串中包含的整數(shù)個數(shù),“13+(123 23)?2”包含整數(shù) 13,123,23,2,共 4 個,選項(xiàng)B 正確。10.下列 VB 程序段的功能為:先計(jì)算數(shù)組 a 中各個整數(shù)的降序排序的名次存入數(shù)組 c 中,然后根據(jù)名次進(jìn)行排序,排序結(jié)果存入數(shù)組 b 中 如數(shù)組元素 a(1) ~a(5)的各元素值為“2,3,1,0,8”,程序運(yùn)行后 c(1) ~c(5)各元素的值為“3,2,4,5,1”, b(1)~b(5)各元素的值為“8,3,2,1,0”For i = 1 To n(1)Next iFor i = 1 To n - 1For j = i + 1 To nIf (2) Thenc(i) = c(i) + 1Elsec(j) = c(j) + 1End IfNext jNext iFor i = 1 To n(3)Next i為完成如題所述功能,上述程序段 3 個方框處的代碼分別為( )A.(1)c(i) = 1 (2)a(j) > a(i) (3)b(c(i)) = a(i)B.(1)c(i) = 1 (2)a(j) < a(i) (3)b(i) = a(c(i))C.(1)c(i) = i (2)a(j) > a(i) (3)b(c(i)) = a(i)D.(1)c(i) = i (2)a(j) < a(i) (3)b(i) = a(c(i))答案 A 本題主要考查 VB 表達(dá)式和 VB 語句。 c( i)表示數(shù)組 a 第 i 位置元素降序排序的名次,即降序排序后的位置。 數(shù)組 c 各元素的初值為 1,為保證數(shù)組 a 中的元素兩兩比較一次,則 i 的范圍:1→n 1,j 的范圍:i+1→n。 由于是降序排序,若 a( j)>a( i),則 a( i)對應(yīng)的名次號 c( i)加 1;否則 a( j)對應(yīng)的名次號 c( j)加 1,故(1)處代碼為“c( i) = 1”,(2)處代碼為“a( j) > a( i)”。 c( i)表示數(shù)組 a 第 i 位置元素降序排序在數(shù)組 b 中的位置,依次處理數(shù)組 a 第 1 到 n 位置元素,通過賦值語句“b( c( i)) = a( i)”存入數(shù)組 b,故(3)處代碼為“b(c( i)) = a( i)”,選項(xiàng) A 正確。11.有如下 VB 程序段:For i = 1 To 8a(i) = Int(Rnd ? 10) + 1Next iFor i = 1 To 5 Step 2k = iFor j = i + 2 To 7 Step 2If a(j) < a(k) Or a(j) = a(k) And a(j + 1) <a(k + 1) Then k = jNext jIf i <> k Thent = a(i): a(i) = a(k): a(k) = tt = a(i + 1): a(i + 1) = a(k + 1): a(k + 1) = tEnd IfNext i運(yùn)行該程序段后,數(shù)組 a 各元素的值可能為 ( )A.1,2,1,1,4,3,6,5 B.1,1,1,2,3,4,5,6C.0,1,5,2,7,4,5,6 D.3,4,5,2,6,4,7,11答案 B 本題主要考查產(chǎn)生隨機(jī)數(shù)和選擇排序的變式。Int(Rnd ? 10) + 1 可以產(chǎn)生 1~10 范圍內(nèi)的隨機(jī)整數(shù),故不可能有 0 或 11,選項(xiàng) C 和 D 錯誤。 選擇排序第 i 遍加工,若 a( j) < a(k),則更新 k 為 j,挑選出奇數(shù)位置最小元素的位置;若 a( j) = a(k) And a( j + 1) < a(k + 1),表明奇數(shù)位置相等,則比較后續(xù)相鄰偶數(shù)位置元素與 a(k+1)的關(guān)系,即奇數(shù)位置元素最小值有多個,則 k 記錄對應(yīng)后續(xù)偶數(shù)位置最小數(shù)據(jù)的前一位置。 歸納可得該程序功能是按奇數(shù)位置數(shù)據(jù)為主要關(guān)鍵字升序,偶數(shù)位置數(shù)據(jù)為次要關(guān)鍵字升序進(jìn)行選擇排序。 選項(xiàng) A 中“1,2”應(yīng)該排在“1,1”的后面,選項(xiàng) A錯誤。12.有如下 VB 程序段:a(1) = 5: a(2) = 3: a(3) = 6: a(4) = 8: a(5) = 9For i = 0 To 10b(i) = iNext i????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????3 6j = 0For i = 1 To 5b(j) = a(i): j = b(j)Next ij = 0: key = Val(Text1.Text)Do While j <> b(j)If key <> b(j) ThenList1.AddItem Str(b(j))j = b(j)ElseIf b(b(j)) <> b(j) Thent = b(j): b(j) = b(t): b(t) = tElseb(j) = jEnd IfEnd IfLoop運(yùn)行該程序段,在文本框 Text1 中輸入 6,則列表框 List1 中第3 行顯示的內(nèi)容為 ( )A.3 B.5 C.8 D.9答案 C 本題主要考查 VB 程序設(shè)計(jì)。 該程序用數(shù)組模擬鏈表,b( j)表示 j 的下一個元素為 b( j),建立鏈表后,數(shù)組元素 b(0)= 5、b(5)= 3、b(3)= 6、b(6)= 8、b(8)= 9、b(9)=9,b( j)= j 表示已到鏈表尾,后續(xù)已無元素。 key = 6,順序查找 key,若 key <> b( j),則輸出 b( j),調(diào)整 j = b( j),到下一節(jié)點(diǎn),否則刪除 b( j),故 6 被刪除,列表框 List1 第 3 行輸出8,選項(xiàng) C 正確。二、非選擇題(本大題共 4 小題,其中第 13 小題 4 分,第 14 小題 8 分,第 15 小題 7 分,第 16 小題 7 分,共 26 分)13.小王收集了 2017 年中國智能手機(jī)銷量數(shù)據(jù)表,并使用 Excel軟件進(jìn)行數(shù)據(jù)處理,如圖 a 所示圖 a請回答下列問題:(1)區(qū)域 D3:D13 的數(shù)據(jù)是通過公式計(jì)算得到的,在 D3 單元格輸入公式后,用自動填充功能完成 D4:D13 的計(jì)算,則D3 單元格中的公式是 (公式提示:銷量份額=該品牌銷量 / 所有品牌的總銷量)(2)圖 a 所示區(qū)域 A2:D13 的數(shù)據(jù)已進(jìn)行了排序,則排序的主要關(guān)鍵字是(3)圖 a 所示區(qū)域 A2:D13 的數(shù)據(jù)對“類別”列進(jìn)行篩選如圖b 所示,對“銷量(萬臺)”列進(jìn)行篩選如圖 c 所示,則篩選出的品牌有 個(填數(shù)量)圖 b 圖 c(4)根據(jù)圖 a 中數(shù)據(jù)制作圖表如圖 d 所示,要使圖表的橫坐標(biāo)顯示各手機(jī)“品牌”,則可進(jìn)行的操作是圖 d答案 (1)= C3 / SUM($C$3:$C$13) 或 = C3 / SUM(C$3:C$13)(2)類別(3)4(4)把圖表數(shù)據(jù)區(qū)域改為 B2:B10,C2:C10解析 (1)銷量份額=該品牌銷量 / 所有品牌的總銷量,可以用 SUM 函數(shù)計(jì)算總銷量,由于向下填充公式時,SUM 函數(shù)的計(jì)算區(qū)域需固定不變,故行號前必須加“$”符號。(2)觀察圖表發(fā)現(xiàn),“類別”相同的記錄按“銷量(萬臺)”或者“銷量份額”降序排序,故可判斷排序的主要關(guān)鍵字是“類別”,次要關(guān)鍵字是“銷量(萬臺)”或“銷量份額”。(3)“最大的 5 項(xiàng)”篩選出的是所有記錄中最大的 5 項(xiàng),分別是 “華為 & 榮耀”“OPPO”“VIVO”“小米”“蘋果”,同時符合“類別”是“國內(nèi)”的只有 4 個品牌。(4)觀察圖表可得,原圖表的橫坐標(biāo)對應(yīng)數(shù)據(jù)區(qū)域是“A2:A10”,為使橫坐標(biāo)顯示“品牌”,則圖表數(shù)據(jù)區(qū)域需改為“B2:B10,C2:C10”。14.小張使用 Flash 軟件創(chuàng)作主題為“游子吟”的多媒體作品,如圖 a 所示????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????4 6圖 a請回答下列問題:(1)在腳本編寫階段,一般需經(jīng)歷以下四個步驟:①媒體元素分解,②編寫文字腳本,③編寫制作腳本,④編寫腳本大綱,正確的步驟順序是: (填數(shù)字)(2)測試影片時,要使“主界面”場景動畫播放完后能自動停止,則“按鈕”圖層的第 60 幀應(yīng)添加的動作腳本是(3)“小孩”圖層的第 1 幀到第 12 幀利用元件實(shí)例實(shí)現(xiàn)小孩從舞臺外移動到舞臺中的動畫效果,則該動畫類型是(單選,填字母:A.動畫補(bǔ)間 / B.形狀補(bǔ)間 / C.逐幀動畫)(4)測試場景時,“古詩”圖層內(nèi)容在播放完第 36 幀后消失,要使該圖層第 36 幀中的內(nèi)容一直在本場景中呈現(xiàn),則可進(jìn)行的操作是(5)測試影片時,當(dāng)鼠標(biāo)移到“退出”按鈕上時,鼠標(biāo)指針未變成小手狀 該按鈕部分編輯界面如圖 b 所示,要使該按鈕能夠響應(yīng)鼠標(biāo)動作,則以下操作可行的是(多選,填字母:A.選中“文字”圖層“點(diǎn)擊”幀,執(zhí)行“清除關(guān)鍵幀” / B.選中“文字” 圖層“點(diǎn)擊” 幀,執(zhí)行“清除幀” / C.選中“文字”圖層“點(diǎn)擊”幀,執(zhí)行“刪除幀” / D.選中“背景”圖層“點(diǎn)擊”幀,執(zhí)行“插入幀”)圖 b(注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)(6)測試影片時,彈出如圖 c 所示的錯誤提示窗口,由圖中信息可知,該動作腳本設(shè)置在 上(選填,按鈕 / 關(guān)鍵幀)圖 c答案 (1)④②③①(2)Stop();或 gotoAndStop(60);(3)A(4)選中“古詩”圖層第 60 幀執(zhí)行“插入幀”或“插入關(guān)鍵幀”,再選中該圖層第 37 幀執(zhí)行“清除關(guān)鍵幀”或選中“古詩”圖層第 37 幀執(zhí)行“刪除幀”,再選中該圖層第 60 幀執(zhí)行“插入幀”或“插入關(guān)鍵幀” 或其他等價答案(5)ACD(6)關(guān)鍵幀解析 (1)腳本編寫的步驟依次是:編寫腳本大綱→編寫文字腳本→編寫制作腳本→媒體元素分解。(2)可以用幀腳本動作“Stop();”使“主界面”場景動畫播放完后自動停止。(3)利用元件實(shí)例創(chuàng)建的補(bǔ)間動畫類型是動畫補(bǔ)間。(4)選中“古詩”圖層第 60 幀執(zhí)行“插入幀”或“插入關(guān)鍵幀”,再選中該圖層第 37 幀執(zhí)行“清除關(guān)鍵幀”,可以使第 37幀變?yōu)槠胀◣?36 幀關(guān)鍵幀可以延續(xù)至本場景最后一幀。選中“古詩”圖層第 37 幀執(zhí)行“刪除幀”,則第 37 幀被刪除,再選中該圖層第 60 幀執(zhí)行“插入幀”或“插入關(guān)鍵幀”,可把第 36 幀關(guān)鍵幀延續(xù)至本場景最后一幀。(5)選中“文字”圖層“點(diǎn)擊”幀,執(zhí)行“清除關(guān)鍵幀”,則該圖層“點(diǎn)擊”幀變?yōu)槠胀◣?,延續(xù)之前關(guān)鍵幀的內(nèi)容,按鈕能響應(yīng)。 選中“文字”圖層“點(diǎn)擊”幀,執(zhí)行“刪除幀”,則“文字”和“背景”圖層的“點(diǎn)擊”幀都是空白,從右往左,最先出現(xiàn)關(guān)鍵幀,按鈕能響應(yīng)。 選中“背景”圖層“點(diǎn)擊”幀執(zhí)行“插入幀”,則把“背景”圖層“按下”這一個關(guān)鍵幀延續(xù)至“點(diǎn)擊”幀,按鈕也能響應(yīng)。(6)觀察題圖 C 可得,添加的腳本動作是“ on( press) { stop();}”,若該腳本動作加在按鈕上,則是正確的。 現(xiàn)在報錯,則可判斷該腳本添加在了關(guān)鍵幀上。15.小王基于插入排序思想設(shè)計(jì)了一個改進(jìn)的排序算法,該算法是先用對分查找算法尋找插入位置,然后把數(shù)據(jù)插入相應(yīng)位置 他編寫 VB 程序功能如下:產(chǎn)生 10 個隨機(jī)整數(shù)存入數(shù)組a 中,并在列表框 List1 中顯示,單擊“排序”按鈕 Command1,對數(shù)組 a 升序排序,并在列表框 List2 中顯示 程序運(yùn)行界面如圖所示,實(shí)現(xiàn)上述功能的 VB 代碼如下:Dim a(1 To 10) As IntegerPrivate Sub Form_Load()'程序功能:產(chǎn)生 10 個隨機(jī)整數(shù)存入數(shù)組 a,在列表框 List1 中顯示,代碼略End SubPrivate Sub Command1_Click()Dim key As Integer, i As Integer, j As IntegerDim m As Integer, low As Integer, high As IntegerFor i = 2 To 10key = a(i)If key < a(i - 1) Then????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5 6low = 1: ①Do While low <= highm = (low + high) \2If a(m) > key Thenhigh = m - 1Elselow = m + 1End IfLoopFor j = i To high + 1 Step -1a(j) = a(j - 1)Next j②End IfNext iFor i = 1 To 10List2.AddItem Str(a(i))Next iEnd Sub(1)代碼“Private Sub Command1 Click()”中的 Click 是(單選,填字母:A.對象名 / B.屬性名 / C.事件名)(2)將程序代碼中①②劃線處代碼補(bǔ)充完整(3)程序代碼中的加框處代碼有誤,請改正(4)運(yùn)行程序,單擊“排序”按鈕后,列表框 List1 中第 2 個整數(shù)“10”存儲在排序后數(shù)組 a 的第 個位置(填數(shù)字)答案 (1)C(2)①high = i 1②a(high + 1) = key 或 a( low) = key(3)high + 2 或 low + 1(4)3解析 ( 1) Command1 Click 是事件處理過程名,其中Command1是對象名,Click 是事件名。(2)①插入排序,插入 a( i)時需要在 a(1)到 a( i 1)范圍內(nèi)通過對分查找尋找插入位置,故初始時 low = 1,high = i 1,故①處代碼為“high = i 1”。 ②對分查找結(jié)束時必定有 low =high+1,high+1 或 low 即為 key 的插入位置,故②處代碼為“a(high+1)= key”或“a( low)= key”。(3)插入位置為 high+1 或 low,則需要把 a( i 1)到 a(high+1)位置的元素逐個后移一個位置即 a( j)= a( j 1),j 表示待移入的位置,故 j 的取值范圍是 i 到 high+2 或( low+1),故加框處代碼應(yīng)改為“high+2”或“ low+1”。(4)根據(jù)對分查找代碼可得:當(dāng) key> =a(m)時,執(zhí)行 low =m+1,在右區(qū)間繼續(xù)查找,則查找序列中存在 key 時,key 插入在最后一個與之相同數(shù)據(jù)的下一位置。 故 List1 中第 2 個整數(shù)“10”插在前一個“10”的后面,即數(shù)組 a 的第 3 個位置。16.某種數(shù)據(jù)加密方法描述如下(加密前數(shù)據(jù)是 ASCII 字符):●以 8 個數(shù)據(jù)為一段,將 n 個待加密數(shù)據(jù)依次分割成若干個數(shù)據(jù)段,剩余數(shù)據(jù)(個數(shù)小于 8)為獨(dú)立數(shù)據(jù)段●數(shù)據(jù)加密規(guī)則:數(shù)據(jù)個數(shù)等于 8 的數(shù)據(jù)段,對各個字符進(jìn)行位置變換;數(shù)據(jù)個數(shù)小于 8 的數(shù)據(jù)段,不進(jìn)行位置變換位置變換:用位置變換密鑰數(shù)組 c,將數(shù)據(jù)段每個字符進(jìn)行位置變換,方法如下:加密后某數(shù)據(jù)段的第 i 個元素 = 對應(yīng)原數(shù)據(jù)段的第 c( i)個元素,其中 i = 1,2,……,8數(shù)值變換:位置變換后,依次取出各個字符進(jìn)行數(shù)值變換:把該字符的 ASCII 碼轉(zhuǎn)二進(jìn)制,然后與密鑰 m 對應(yīng)的二進(jìn)制數(shù)(m 為 1 到 255 之間的整數(shù))按位異或運(yùn)算 異或運(yùn)算(⊕)規(guī)則:如果 a b 兩個值不相同,則 a⊕b 結(jié)果為 1;如果 a b 兩個值相同,則 a⊕b 結(jié)果為 0,即:0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕1 = 1,1 ⊕ 1 = 0●把上述處理的得到二進(jìn)制數(shù)依次拼接,即構(gòu)成最后的加密數(shù)據(jù)例如,待加密數(shù)據(jù)為“python3.50”,數(shù)組 c 各元素的值依次是數(shù)組 c 3 6 5 2 8 4 7則數(shù)據(jù)位置變換如下:如值變換密鑰 m 為 35 (二進(jìn)制表示是 00100011),則字符“t” (ASCII 碼值是 116,二進(jìn)制表示是 01110100)的數(shù)值變換過程如下:變換前 0 0 0 0密鑰 0 0 0 0 0變換后 0 0 0(1)已知“A”的 ASCII 碼值是 65,m = 35,則“A”數(shù)值變換后的結(jié)果是 (填二進(jìn)制數(shù)據(jù))(2)小李根據(jù)上述算法,設(shè)計(jì)了一個數(shù)據(jù)加密程序,其 VB 代碼如下,請?jiān)趧澗€處填入合適的代碼Const n = 1024Dim c(1 To 8) As IntegerPrivate Sub Form_Load()'產(chǎn)生位置變換密鑰數(shù)組 c,代碼略End SubFunction convert(c As Integer) As String'程序功能:把整數(shù) c 轉(zhuǎn)成 8 位二進(jìn)制數(shù),代碼略End FunctionPrivate Sub Command1_Click()Dim s As String, st As String, ss As String,res As StringDim i As Integer, j As Integer, start AsIntegerDim a(1 To n) As String, b(1 To n) As Strings = Text1.Textst = convert(Val(Text2.Text))For i = 1 To Len(s)a(i) = Mid(s, i, 1)Next ii = 1: start = -8Do While ①If i Mod 8 = 1 Then start = start + 8b(i) = ②i = i + 1LoopFor j = i To Len(s)????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????6 6b(j) = a(j)Next jFor i = 1 To Len(s)③For j = 1 To 8If Mid(ss, j, 1) = Mid(st, j, 1) Thenres = res + "0" Else res = res + "1"'按位異或Next jNext iText3.Text = resEnd Sub答案 (1)01100010(2) ①i <= (Len(s) \ 8) ? 8②a(start + c(( i 1) Mod 8 + 1))③ss = convert(Asc(b( i)))解析 ( 1) “A” 的 ASCII 碼值是 65,用二進(jìn)制表示為01000001,m= 35,用二進(jìn)制表示為 00100011,按位做異或運(yùn)算,相同為 0,相異為 1,可得: 01100010。(2)①以 8 個數(shù)據(jù)為一段進(jìn)行分段處理,個數(shù)等于 8 的數(shù)據(jù)段需進(jìn)行位置變換,故需進(jìn)行位置變換的數(shù)據(jù)段有(Len( s)\ 8)個,數(shù)據(jù)個數(shù)為 i < = (Len(s) \ 8) ? 8。②位置變換方法:加密后數(shù)據(jù)段的第 i 個元素 = 原數(shù)據(jù)段的第 c( i)個元素,其中 i = 1,2,……,8,i 表示段內(nèi)位置。 代碼“Do While i < = (Len(s) \ 8) ? 8”中的 i 對應(yīng)段內(nèi)位置可為“1+( i 1) Mod 8”,start 表示該數(shù)據(jù)段第一個數(shù)據(jù)的前一個位置,故數(shù)組 b 第 i 位置元素是來自數(shù)組 a 第 start+c(1+( i1) Mod 8)位置,故②處代碼為“a( start + c(( i 1) Mod 8+ 1))”。③位置變換后的數(shù)據(jù)需轉(zhuǎn)二進(jìn)制,再按位做異或運(yùn)算,故③處的代碼是調(diào)用自定義函數(shù) convert 把 b( i)中字符的 ASCII碼轉(zhuǎn)二進(jìn)制后存入變量 ss,故此處代碼為“ ss = convert(Asc(b( i)))”。???????????????????????????????????????????????????????????????? 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫